Главная Случайная страница Контакты | Мы поможем в написании вашей работы! | ||
|
//Программа находит строку введенного с клавиатуры двумерного массива целых
//чисел, содержащую максимальную сумму значений элементов
#include<iostream.h>
#include <locale.h>
const int RAZ = 10; //максимальный размер для каждого измерения массива
typedef int telem; //определение типа элементов массива
typedef telem tmatr[RAZ][RAZ]; //определение типа массива
void inputmatr(tmatr a, int &str, int &sto);
telem poisk_str(tmatr a, int str, int sto, int &imax);
int main()
{tmatr a; //двумерный массив
int imax; //номер строки с максимальной суммой значений элементов
telem max; //максимальная сумма значений элементов
int str; //число строк матрицы
int sto; //число столбцов матрицы
setlocale(LC_ALL,"Russian");
inputmatr(a, str, sto);
max = poisk_str(a, str, sto, imax);
cout << " Максимальная сумма=" << max << " значений элементов строки\n";
cout << " содержится в " << imax << "-й строке исходного массива\n";
cout << " Для завершения нажмите <Enter>";
return 0;
}
void inputmatr(tmatr a, int &str, int &sto)
{cout << " Введите число строк в массиве <= " << RAZ << " ";
cin >> str;
cout << " Введите число столбцов в массиве <= " << RAZ << " ";
cin >> sto;
cout << " Введите построчно через пробел значения элементов\n";
cout << " двумерного массива размера " << str << "x" << sto;
cout << "\n После ввода каждой строки нажимайте <Enter>\n";
for(int i = 0; i < str; i++)
for(int j = 0; j < sto; j++)
cin >> a[i][j];
}
telem poisk_str(tmatr a, int str, int sto, int &imax)
{telem max, //максимальная сумма элементов строки
pr; //текущая сумма
imax = 0; //предполагаем, что максимальная сумма элементов в 0-ой строке
max = 0;
for(int j = 0; j < sto; j++)
max += a[0][j];
for(int i = 1; i < str; i++)
{pr = 0;
for(j = 0; j < sto; j++)
pr += a[i][j];
if(max < pr)
{imax = i;
max = pr;
}
}
return max;
}
Дата публикования: 2015-09-18; Прочитано: 283 | Нарушение авторского права страницы | Мы поможем в написании вашей работы!