Форум программистов, компьютерный форум, киберфорум
С++ для начинающих
Войти
Регистрация
Восстановить пароль
Карта форума Темы раздела Блоги Сообщество Поиск Заказать работу  
 
1 / 1 / 0
Регистрация: 24.12.2013
Сообщений: 6
1

Внести небольшие коррективы в написанную программу

24.12.2013, 01:15. Показов 667. Ответов 0
Метки нет (Все метки)

Author24 — интернет-сервис помощи студентам
Привет читающим тему.
Есть написанная программа и несколько замечаний к ней. Необходимо только отредактировать по найденным ошибкам/недочетам.
Я ничего не смыслю в C++, навряд ли меня можно назвать даже начинающим; написано не мной, а возможности отредактировать до среды нет. А там зачет.
Тех, кто смыслит в C и имеет 5-10 мин. для этого, прошу помочь.

Задание во вложениях.

Замечания под кодом.

Код:
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
//---------------------------------------------------------------------------
 
#pragma hdrstop
 
//---------------------------------------------------------------------------
//подкючаем нужные библиотеки
#include <stdio.h>
#include <alloc.h>
#include <conio.h>
#pragma argsused
int main(int argc, char* argv[])
{
int i,j,n,max,min,maxmin,minmax;   //объявлем переменные целочисленного типа
int **A;                           //объявляем массив указателей на целые числа
                                   //нужно для выделения памяти на двумерный массив
printf("n: ");
scanf("%d",&n);                    //вводим размерность
A=(int **)malloc(sizeof(int *)*n); //выделяем память для массива указателей
for (i=0;i<n;i++){
        A[i]=(int *)malloc(sizeof(int)*n); //выделяем память для каждой строки массива
        for (j=0;j<n;j++){
                printf("A[%d][%d]: ",i+1,j+1);
                scanf("%d",&A[i][j]);      //вводим элементы массива
        }
}
//В цикле ищем в каждой строке максимальный элемент.
//Предварительно перед проверкой каждой строки
//в максимальный элемент запоминаем первый
//элемент строки. После нахождения максимального
//элемента в строке проверяем, является ли он меньше
//предыдущего. Если да, заменяем.
for (i=0;i<n;i++){
        max=A[i][0];
        for (j=0;j<n;j++){//А почему j с 0? 2 одинаковых значения сравниваете.
                if (A[i][j]>max)
                        max=A[i][j];
        }
        if ((i==0)||(max<minmax))
                minmax=max;
}
//В цикле ищем в каждом столбце минимальный элемент.
//Предварительно перед проверкой каждого столбца
//в минимальный элемент запоминаем первый
//элемент столбца. После нахождения минимального
//элемента в столбце проверяем, является ли он больше
//предыдущего. Если да, заменяем.
for (i=0;i<n;i++){
        min=A[0][i];
        for (j=0;j<n;j++){//А почему j с 0? 2 одинаковых значения сравниваете.
                if (A[j][i]<min)
                        min=A[j][i];
        }
        if ((i==0)||(min>maxmin))
                maxmin=min;
}
printf ("S = %d", minmax-maxmin); //Выводим искомую разность
getch();                          //Задержка экрана
//Далее освобождаем память для выделенного массива
for (i=0;i<n;i++){
        free(A[i]);
}
free(A);
 
        return 0;
}
//---------------------------------------------------------------------------
1. main, выделение и освобождение памяти меня не интересует. Решение должно быть оформлено
в виде функции без ввода-вывода и комментариев алгоритма.
2. А зачем 2 переменные minmax и maxmin, достаточно s.
Алгоритм верен, а комментарии такие излишни, я их не читаю.
3. А что для прямоугольной матрицы такую задачу поставить нельзя?
4. А почему А целая? Для данных с плавающей работать не будет. Резко снижает применение.

ps Также имеется замечание в коде: А почему j с 0? 2 одинаковых значения сравниваете.
Миниатюры
Внести небольшие коррективы в написанную программу  
0
cpp_developer
Эксперт
20123 / 5690 / 1417
Регистрация: 09.04.2010
Сообщений: 22,546
Блог
24.12.2013, 01:15
Ответы с готовыми решениями:

Переделать программу написанную на Pascal в С++
Задание Вариант 1 Вычислить определенный интеграл от функции f(x) на промежутке методом...

Как запустить программу на C++ написанную в VS 2008
Собственно такая проблема. Пытаюсь изучать MFC. Создаю в студии новый проект вин32, подключаю...

Перевести программу,написанную на паскале,на язык си++
uses crt; var a:array of integer; m,i,j,s,mx:integer; begin randomize; write('Количество...

Откомпилировать и выполнить написанную программу из блокнота в Dev-C++ 4.9.9.2
Здравствуйте. Только начал обучение языку С++ по книге &quot;С++ Базовый курс автор Герберт Шилдт&quot;....

0
24.12.2013, 01:15
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
raxper
Эксперт
30234 / 6612 / 1498
Регистрация: 28.12.2010
Сообщений: 21,154
Блог
24.12.2013, 01:15
Помогаю со студенческими работами здесь

Какой исправить программу, написанную в Visual studio?
Написала программу, скомпилировала, закрыла. Нашла ошибку. Какой файл открывать, чтобы исправить...

Нужно перевести небольшую программу, написанную на C++, на С (неповторяющиеся символы в строке)
Текст задачи - &quot;Для заданной строки получить те символы, которые встречаются в ней по одному разу.&quot;...

Как открыть программу написанную на c++ через командную строку, если в пути программы есть пробелы
путь программы C:\la la\ve.exe пишу в командной строке: start C:\la la\ve.exe и выдает такое...

Необходимо внести коррективы в код учебной задачи на Prolog
Помогите пожалуйста внести коррективы 1) Отсутствует структура гипотезы 2) Выводиться должен...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
1
Ответ Создать тему
Новые блоги и статьи
[golang] 189. Rotate Array
alhaos 28.01.2025
Повороты рукоятки, целочисленный слайс нужно сдвинуть на целое положительное число. Мне очень нравится решение на GO / / https:/ / leetcode. com/ studyplan/ top-interview-150/ package topInterview . . .
КуМир: решение задач на матрицы
bytestream 28.01.2025
КуМир представляет собой среду для обучения программированию, которая включает в себя мощные инструменты для работы с матрицами. Матрица в программировании - это двумерный массив, состоящий из. . .
КуМир: решение задач на строки
bytestream 28.01.2025
В системе программирования КуМир работа со строковыми данными является одним из важнейших аспектов создания программ. Строки представляют собой последовательности символов, заключенные в кавычки,. . .
КуМир: решение геометрических задач
bytestream 28.01.2025
Программирование геометрических задач в среде КуМир становится всё более актуальным в обучении школьников и студентов. КуМир — это разработанная в России обучающая программная среда, предназначенная. . .
КуМир, исполнитель Водолей: Задачи и решения
bytestream 28.01.2025
КуМир — это образовательная среда для обучения программированию. Она предлагает пользователям разнообразные инструменты для разработки и отладки программ, что особенно ценно для студентов и. . .
КуМир, исполнитель Чертежник: Решение задач
bytestream 28.01.2025
КуМир (Комплект Учебных МИРов) представляет собой образовательную среду для обучения основам программирования и алгоритмизации. Исполнитель Чертежник работает на координатной плоскости, где может. . .
Rust или Go? А может C++?
hw_wired 28.01.2025
С каждой новой технологией или методологией появляются новые языки программирования, призванные решать конкретные задачи либо улучшать аспекты производительности и безопасности. Среди множества. . .
Fortran и WinAPI: как создать приложение с графическим интерфейсом
hw_wired 28.01.2025
Fortran — это один из старейших высокоуровневых языков программирования, широко используемый в науке и инженерии уже несколько десятилетий. Его название происходит от "Formula Translation" (перевод. . .
Списки в Haskell
hw_wired 28.01.2025
Haskell является функциональным языком программирования, который отличается лаконичностью синтаксиса и мощными абстракциями. Важным концептом в Haskell являются списки — упорядоченные коллекции. . .
Функции высшего порядка в Haskell
hw_wired 28.01.2025
Haskell – это современный функциональный язык программирования, который получил широкое распространение благодаря своей выразительности и мощным абстракциям. Одной из ключевых особенностей Haskell. . .
Как в цикле обойти все поля объекта в JavaScript
bytestream 28.01.2025
Объекты в JavaScript представляют собой фундаментальные структуры данных, которые позволяют хранить и организовывать связанную информацию в виде пар ключ-значение. Каждый объект можно представить как. . .
Как выбрать строки в DataFrame по значению столбца в Pandas
bytestream 28.01.2025
В области анализа данных библиотека Pandas стала незаменимым инструментом для работы с табличными данными в Python. Эта мощная библиотека предоставляет множество функций для эффективной обработки и. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2025, CyberForum.ru