Форум программистов, компьютерный форум, киберфорум
Наши страницы

Определить номер строки с наибольшей характеристикой - C++

Войти
Регистрация
Восстановить пароль
Другие темы раздела
C++ Дана квадратная матрица A порядка n. Получить матрицу AB; элементы матрицы B вычисляются по формуле http://www.cyberforum.ru/cpp-beginners/thread112658.html
Задание на картинке. парни помоги, оч нужно.:cry: Заранее спасибо):))))
C++ Дружественные функции и классы Доброго времени суток ! Может у кого - нибудь есть похожие исходники или мысли по поводу данного задания ?! Помогите пожалуйста ! Задание 1. Создать класс вещественных с двойной точностью... http://www.cyberforum.ru/cpp-beginners/thread112654.html
C++ Рекурсия. Комбинаторика. Размещения
Дана задача: вывести все размещения из n по k, где n - это число элементов конечного множества (например, задаваемого из файла). Комбинации считаются различными, если отличаются либо элементами, либо...
C++ квадратная матрица
по практике дали, не могу сделать( Для заданной квадратной матрицы порядка n поменять местами элементы главной и побочной диагоналей. Найти сумму элементов в четных строках, расположенных ниже...
C++ Читать с консола и записать в файл http://www.cyberforum.ru/cpp-beginners/thread112577.html
что здесь не так? #include <cstdlib> #include <iostream> #include <fstream> using namespace std; int main() { ofstream my_tekst("my_text.txt");
C++ int main() или int main(void)? Показать, что функция не принимает никаких аргументов можно с помощью void. В языке С++ (не в С) принятно, что пустые скобки равнозначны void. (В языке С пустые скобки означают что вы ничего не... подробнее

Показать сообщение отдельно
Fujiwara no Sai
9 / 9 / 0
Регистрация: 03.04.2010
Сообщений: 22
04.04.2010, 22:42
Цитата Сообщение от JM007 Посмотреть сообщение
Там действительно что-то не сходится(((
А, ясно - вы тут ошиблись со скобками. Я не сразу заметил, а вот сейчас сел разбираться, и понял:
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
max=0;
imax=0;//тут тоже 0, т.к. при первом запуске в строке 16 переменная i будет уже равна 1
for(i=0;i<n;i++)
{
   S=0;//вот  тут нужно было выполнить присвоение
 
   for(j=0;j<m;j++)
      {
         if (a[i][j]%2 & !a[i][j]) 
            S=S+a[i][j];
      }
 
   if (S>max)
      {
         max=S;     
         imax=i;
      }
}
Вот где-то так будет выглядеть. По идее должна работать(под рукой нет компилятора - сам проверить не могу). Если будет не совпадать с ответом, тогда в строке 2 замените imax=1, хотя вроде все правильно

Да, я бы еще добавил вот такой фрагмент в программу(сразу после того, что выше):
C++
1
2
if(imax==0)
   cout<<"У данной матрицы нет строки с наибольшей характеристикой...";
Объясню почему. Первоначально значение imax равно нулю. Потом в строке 16 мы этой переменной присваиваем номер строки с наибольшей характеристикой. Но, строка 16 не выполнится, если мы не нашли вообще строк в матрице, которые имели бы характеристику(, например, единичная матрица, или любая другая, элементами которой есть отрицательные числа или т.п., т.е. матрица не удовлетворяющая условию задачи). Вот мы и сделали проверку - если за всю программу переменная imax не изменилась, значит матрица не подходит по условию
1
 
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru