Inspirit
Newbie | Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору Значит вчера был допуск к экзаменам, если реш к завтра задачу правильно будет 4! Решал ее вчера долго и несколько раз подходил к нему, но он говорит что один блок составлен неправильно и работает некорректно! Собственно вот задача : Дан массив A[10][10] (ну матрица вобщем) Наша цель : Написать программу, которая просмотрит обе диагонали и отобразит на мониторе максимальное значение диагональных ячеек (ну тоесть ячейку с этих двух диагоналей, в которой лежит самое большое число).Начальную матрицу ввести из файла. Каряво выразился , ну как получилось, к сожалению я не поэт : Значит задачу решал так : Код: #include <stdio.h> #include <math.h> float A[10][10] int i,j,k,l,n,b; FILE *fi main () { fi=fopen("file.dat","r"); {for(i=o;i<10;i++) {j=fscanf(fi,"%f%f",&A[i],&A[j]); if(j!=2)break; } b=i; ---- Начинается зона где есть ошибка, как я думаю в использовании оператора ---- { i=0; j=0; {k=A[i][j]; m=A[i][j]; {for(i=0;i<10;i++) j=j+1; if(A[i][j]=>k)m=A[i][j]; } } ------ Выше мы шли по диагонали вверх-вправо, теперь пойдем аналогично вправо сверху-вниз -------- { i=9; j=0; {l=A[i][j]; n=A[i][j]; {for(i=9;i=>0;i--) j=j+1; if(A[i][j]>l)n=A[i][j]; } } } -------- Максимальные значения мы передавали переменным из первой диагонали m, из второй n, теперь сравниваем -------------- if(m<n)printf("%f",n); if(m=>n)printf("%f",n); } | Вот задача.... Вроде все правильно, но препод говорит что срабатывать будет неверно, в чем-то я напутал в оператором.... Прошу помочь и подкорректировать синтаксические ошибки =) | Всего записей: 19 | Зарегистр. 17-06-2007 | Отправлено: 10:30 03-07-2007 | Исправлено: Inspirit, 10:32 03-07-2007 |
|