Максимальный элемент двумерного массива 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;
}
размер массива можно задавать при запуске программы

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