Найти строку матрицы, где находится наибольший элемент - C (СИ)
Формулировка задачи:
Помогите пожалуйста найти ошибку, я уже и так и так пробовал, ничего не выходит.
Надо найти строку где лежит наибольший элемент,строка должна быть самой большой ,т.е.,если два одинаковых максимальных числа в массиве в 3 и 7 строке,программа должна вывести 7 строку.
Скорей всего что то неправильно в функции обработка,посмотрите плз,не знаю уже что делать.
#include <stdio.h>.
#include <conio.h>
#include <locale>
void vvod_massiva(int *m1)
{
int i,j;
printf("Введите массив 8x8\n");
for (i=0;i<8;i++)
for (j=0;j<8;j++)
*(m1+(i*8+j))=rand()%10;
}
void vivod_massiva(int *m1)
{
int i,j;
for (i=0;i<8;i++)
{
printf("\n");
for (j=0;j<8;j++)
printf("%d ", *(m1+(i*6+j)));
}
}
int obrabotka(int *m1)
{
int i,j;
int k=0;
int s=0;
for (i=0;i<6;i++)
{
for (j=0;j<6;j++)
{
if((*(m1+(i*6+j))>=s)&&(k>i))
{
s=*(m1+(i*6+j));
k=i;
}
}
}
return(k);
}
void results(int t)
{
printf("\n\nНомер строки наибольшего элемента = %d",t);
}
void main()
{
setlocale(LC_CTYPE, "Russian");
int m[8][8];
int t;
int *m1;
m1=m[0];
vvod_massiva(m1);
vivod_massiva(m1);
t=obrabotka(m1);
results(t);
getch();
}Решение задачи: «Найти строку матрицы, где находится наибольший элемент»
textual
Листинг программы
void enterArray(int *&a, int size) {
a = new int [size];
for (int i = 0; i < size; i++) {
int num;
cin >> num;
a[i] = num;
}
}
Объяснение кода листинга программы
- В функции
enterArrayпроисходит ввод массива с помощью цикла for, который выполняет следующие действия: - В каждой итерации цикла, происходит считывание числа с помощью функции
cinи сохранение его в переменнуюnum. - Затем, это число сохраняется в соответствующий элемент массива
aс помощью оператора=и индексаi. - После завершения цикла, массив
aбудет содержать введенные числа в соответствующих позициях.