Нужно найти в каждом нечетном столбце матрицы элемент с максимальным по модулю значением и позицию этого элемента. Матрица сделана,а вот сам алгоритм булеберду выводит. Как нужно поправить,чтобы все нормально работало?
#include <iostream>
using namespace std;
int main() {
int m, n, i, j, max;
cin >> m >> n;
int mass[n][m];
srand(time(NULL));
for (i = 0; i < n; i++) {
for (j = 0; j < m; j++) {
mass[i][j] = rand() % 100;
//cout << mass[i][j] << "\t";
}
//cout << "\n";
}
for (j = 0; j < m; j++) {
if (j % 2 != 0)
max = mass[0][j];
for (i = 1; i < n; i++)
if (mass[i][j] > max)
max = mass[i][j];
cout << max;
}
cout << "\n";
}
В общем-то, у меня не ответ - ответ вам дали; так, тянет на комментарий, но в него невозможно воткнуть отформатированный исходник.
Вот смотрите - стоит просто отформатировать его (что делает практически любой нормальный редактор) - и вы получите, например:
#include <iostream>
using namespace std;
int main()
{
int m, n, i, j,max;
cin >> m >> n;
int mass[n][m];
srand(time(NULL));
for (i = 0; i < n; i++)
{
for (j = 0; j < m; j++)
{
mass[i][j] = rand() % 100;
//cout << mass[i][j] << "\t";
}
//cout << "\n";
}
for (j = 0; j < m; j++)
{
if (j%2!=0)
max = mass [0][j];
for (i=1; i<n; i++)
if (mass[i][j] > max)
max = mass [i][j];
cout << max;
}
cout << "\n";
}
И мгновенно, пройти одним беглым взглядом - и вы натыкаетесь на не тот уровень вложенности, где вам указал @HolyBlackCat.
Программы пишутся не для компиляторов, а для людей. Неаккуратное форматирование, отсутствие комментариев и т.п. стилевые нарушения - это грабли, на которых вы танцуете.
И еще - раз уж это C++, то учтите, что в нем вот такое
cin >> m >> n;
int mass[n][m];
не работает. Не поддерживает язык С++ такие фокусы. То, что GCC такое пропустит, говорит только о том, что это - расширение GCC :)
Сборка персонального компьютера от Artline: умный выбор для современных пользователей