Top.Mail.Ru
Ответы

Максимальный элемент двумерного массива c++

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647
 #include <iostream> 
 
int main() 
{ 
	int strok, stolb; 
	int i, j; 
	int max = -1; 
	int min = 99; 
	setlocale(LC_ALL, "Russian"); 
	std::cout << "Введите кол-во строк матрицы: "; 
	std::cin >> strok; 
	std::cout << "Введите кол-во столбцов матрицы: "; 
	std::cin >> stolb; 
	int **matr = new int* [strok]; 
	for (i = 0; i < strok; i++) { 
		matr[i] = new int[stolb]; 
	} 
 
	for (i = 0; i < strok; i++) { 
		for (j = 0; j < stolb; j++) { 
			matr[i][j] = rand() % 30; 
		} 
	} 
	for (i = 0; i < strok; i++) { 
		for (j = 0; j < stolb; j++) { 
			std::cout << matr[i][j] << "\t"; 
		} 
		std::cout << std::endl; 
	} 
	for (i = 0; i < strok; i++) { 
		for (j = 0; j < stolb; j++) { 
			if (matr[i][j] > max) { 
				max = matr[i][j]; 
			} 
		} 
		std::cout << max; 
	} 
 
 
 
	for (i = 0; i < strok; i++) { 
		delete[] matr[i]; 
	} 
 
 
	delete[] matr; 
}   

Пытаюсь определить максимальный элемент матрицы, но выводится абстрактное заначение, с чем связано?

По дате
По рейтингу
Аватар пользователя
Новичок

Ты выводишь значение max внутри цикла строки. Эти значения просто склеиваются и получается каша.

12345678
 for (i = 0; i < strok; i++) {
	for (j = 0; j < stolb; j++) {
		if (matr[i][j] > max) {
			max = matr[i][j];
		}
	}
}
std::cout << max; 
Аватар пользователя
Высший разум
1234567891011121314151617181920212223242526272829303132333435363738
 #include <iostream> 
#include <stdlib.h> 
using namespace std; 
int main() 
{ 
   int n, max, str, stl,**Mas,i,j; 
   cout << "enter the quantity: strok, stolb :\n"; 
   cin >> n; 
   Mas = new int*[n]; 
   for (i = 0; i<n; i++) 
      Mas[i] = new int[n]; 
   for (i=0; i<n; i++) 
   { 
      for (j=0; j<n; j++) 
      { 
         Mas[i][j]=rand()%100; 
         cout << Mas[i][j] << "\t"; 
      } 
      cout << endl; 
   } 
   max=Mas[0][0]; 
   for (i=0; i<n; i++) 
   { 
      for (j=0; j<n; j++) 
      { 
         if (Mas[i][j]>max) 
         { 
            max=Mas[i][j]; 
            str=i+1; 
            stl=j+1; 
         } 
      } 
   } 
   cout << "Maximum:\n" << max << "  " << str << " stroke, stolbze " << stl << endl; 
   return 0; 
} 

размер массива можно задавать при запуске программы 
Аватар пользователя
Просветленный

неправильное решение простой задачи.