Версия для печати темы

Нажмите сюда для просмотра этой темы в обычном формате

Образовательный студенческий форум _ Информатика / Программирование _ Массивы

Автор: gostel 2.12.2007, 20:25

Посмотрите пожалуйста задачку,совсем не знаю как делать,будьте добры
Дана матрица А(5,5)
1)Найти новый одномерный массив С из сумм элементов каждого столбца матрицы А
2)Найти макс.элемент среди элементов главной диагонали матрицы А
3)Заменить третий элемент в первой строке матрицы А на макс. элемент.

Автор: alxdr 3.12.2007, 10:38

Не указан язык программирования. Но и неважно smile.gif Алгоритм опишу кратко:
1) Если не ошибаюсь, первый индекс - строка, второй - столбец.. Но лучше проверить, я всегда так делаю, чтоб ничего не попутать... Итак суммирование проводим вложенными циклами:
for i=1 to 5 do
for j=1 to 5 do
c[i]=c[i]+a[j,i]
2)Для элементов диагонали индексы по строкам и столбцам совпадают
for i=1 to n do
for j=1 to n do
if (i=j) and (a[i,j]>max) then max=a[i,j]
3)Находим макс.элемент
for i=1 to n do
for j=1 to n do
if (a[i,j]>max) then max=a[i,j]
А теперь заменяем a[1,3]=max

+ Не забудьте проинициализировать все переменные.

Автор: gostel 3.12.2007, 18:54

Спасибо большое вам огромное за решённую задачу!А здесь нужно
ещё блок-схему или программу,или нужно только проинициализировать все переменные?

Автор: creer 3.12.2007, 20:10

Переменные еще определить нужно, var ...
Во второй можно так долго не считать, достаточно for i=1 to n do if a[i,i]>max then max=a[i,i]; wink.gif
Начальное значение max нужно брать из массива, например max:=a[1,1];

Русская версия Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)