Найти строку матрицы, где находится наибольший элемент - 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
будет содержать введенные числа в соответствующих позициях.
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д