Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > IT форум > Помощь студентам
Регистрация

Восстановить пароль

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 26.05.2010, 20:32   #1
@vror@
 
Регистрация: 04.05.2010
Сообщений: 3
По умолчанию Turbo Pascal 7.0 (Двумерные массивы)

Помогите решить.
Дана матрица А(5,5). Вычислить среднее арифметическое каждой из строк матрицы, содержащих отрицательный элемент на главной диагонали. Среднее арифметическое переписать в одномерный массив В

Зарание спасибо!
@vror@ вне форума Ответить с цитированием
Старый 26.05.2010, 21:12   #2
ROMA2PVT
ТАМБОВСКИЙ ВОЛК.
Участник клуба
 
Аватар для ROMA2PVT
 
Регистрация: 16.03.2010
Сообщений: 1,354
По умолчанию

Ну а ваши где наработки?

А наработок то похоже и нет.

Код:
Const
  n=5;
var
    A:array[1..n,1..n] of integer;
    b:array[1..10] of real;
    i,j,sum,kol:integer;
    sr:real;
begin
randomize;
for i:=1 to n  do
begin
for j:=1 to n do
begin
A[i,j]:=random(10)-5;
write (A[i,j]:3,' ');
end;
writeln;
end;
writeln;
kol:=0;
for i:=1 to n do
for j:=1 to n do
if (i=j) and (A[i,j]<0) then
begin
sum:=0;
for j:=1 to n do
sum:=sum+A[i,j];
sr:=sum/n;
writeln('Среднее арифметическое ',i,'-й строки:=',sr:0:2);
inc(kol);
b[kol]:=sr;
end;
readln;
writeln('Массив среднего арифметического элементов: ');
for i:=1 to kol do
begin
write(' ',b[i]:1:2,' ');
end;
readln;
end.
にんじゃ

Последний раз редактировалось Stilet; 27.05.2010 в 08:39.
ROMA2PVT вне форума Ответить с цитированием
Старый 27.05.2010, 08:28   #3
Grag
А может и не...
Участник клуба
 
Аватар для Grag
 
Регистрация: 27.03.2010
Сообщений: 1,269
По умолчанию

Не мог пройти мимо и удержаться от критики...
Крайне безграмотное программирование!!!
Во вложенных циклах использовать один и тот же параметр цикла J!!! Да нельзя так писать программы!!!

Код:
for i:=1 to n do
for j:=1 to n do
if (i=j) and (A[i,j]<0) then
begin
sum:=0;
for j:=1 to n do
sum:=sum+A[i,j];
sr:=sum/n;
writeln('Среднее арифметическое ',i,'-й строки:=',sr:0:2);
inc(kol);
b[kol]:=sr;
end;
Перемешивай дело с бездельем и не сойдешь с ума...

Последний раз редактировалось Grag; 27.05.2010 в 08:34.
Grag вне форума Ответить с цитированием
Старый 27.05.2010, 08:42   #4
Stilet
Белик Виталий :)
Старожил
 
Аватар для Stilet
 
Регистрация: 23.07.2007
Сообщений: 57,097
По умолчанию

Цитата:
Да нельзя так писать программы!!!
Видиом Рома писал с потолка, ибо мой компилятор (подтверждаю некузявость метода) послал меня с этой программой в... Даль )
I'm learning to live...
Stilet вне форума Ответить с цитированием
Старый 27.05.2010, 14:33   #5
ROMA2PVT
ТАМБОВСКИЙ ВОЛК.
Участник клуба
 
Аватар для ROMA2PVT
 
Регистрация: 16.03.2010
Сообщений: 1,354
По умолчанию

Цитата:
Видиом Рома писал с потолка, ибо мой компилятор (подтверждаю некузявость метода) послал меня с этой программой в... Даль )
Да Stilet прав просто тупо с потолка накодил.Ну как обычно замечания Grag'а верны.Всё понимаю и усекаю =).Но проверял на ABC всё пашет.
にんじゃ
ROMA2PVT вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Двумерные массивы (Pascal) qwerty777 Помощь студентам 5 05.04.2010 15:13
Двумерные массивы 3 (Pascal) Дима82 Помощь студентам 6 08.06.2008 14:38
Двумерные массивы 2 (Pascal) Дима82 Помощь студентам 3 08.06.2008 09:41
Двумерные массивы (Pascal) Дима82 Помощь студентам 11 07.06.2008 16:54