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

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

Вернуться   Форум программистов > Delphi программирование > Паскаль, Turbo Pascal, PascalABC.NET
Регистрация

Восстановить пароль
Повторная активизация e-mail

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

Ответ
 
Опции темы Поиск в этой теме
Старый 03.05.2009, 14:17   #1
junkie
Пользователь
 
Регистрация: 27.04.2009
Сообщений: 12
По умолчанию Помогите найти ошибку!

Добрый День.
Писал программу,не работает,вот листинг:
даны три квадратные действительные матрицы 10 порядка.найти ту из них,у которой наименьший след(сумма диагональных элементов).

Код:
program mins;
uses crt;
var m,n,o:array[1..10,1..10] of integer;
    i,j,sledm,sledn,sledo,minsled:integer;
begin
clrscr;
sledm:=0;
randomize;
for i:=1 to 10 do
for j:=1 to 10 do begin
m[i,j]:=random(10);
if i=j then sledm:=sledm+m[i,j];
end;
sledn:=0;
randomize;
for i:=1 to 10 do
for j:=1 to 10 do begin
n[i,j]:=random(10);
if i=j then sledn:=sledn+n[i,j];
end;
sledo:=0;
randomize;
for i:=1 to 10 do
for j:=1 to 10 do begin
o[i,j]:=random(10);
if i=j then sledo:=sledo+o[i,j];
end;
if (sledm<sledn) and (sledm<sledo) then minsled:=sledm;
if (sledn<sledm) and (sledn<sledo) then minsled:=sledn;
if (sledo<sledn) and (sledo<sledm) then minsled:=sledo;
writeln('minsled=');
read(minsled);
readln;
end.
junkie вне форума Ответить с цитированием
Старый 03.05.2009, 14:18   #2
junkie
Пользователь
 
Регистрация: 27.04.2009
Сообщений: 12
По умолчанию

Заранее спасибо.
junkie вне форума Ответить с цитированием
Старый 03.05.2009, 14:22   #3
Sazary
В тени
Старожил
 
Аватар для Sazary
 
Регистрация: 19.12.2008
Сообщений: 5,788
По умолчанию

Код:
program mins;
uses crt;
var m,n,o:array[1..10,1..10] of integer;
    i,j,sledm,sledn,sledo,minsled:integer;
begin
clrscr;
randomize;

sledm:=0;
for i:=1 to 10 do
 for j:=1 to 10 do
  begin
  m[i,j]:=random(10);
  if i=j then sledm:=sledm+m[i,j];
  end;

sledn:=0;
for i:=1 to 10 do
 for j:=1 to 10 do
  begin
  n[i,j]:=random(10);
  if i=j then sledn:=sledn+n[i,j];
  end;

sledo:=0;
for i:=1 to 10 do
 for j:=1 to 10 do
  begin
  o[i,j]:=random(10);
  if i=j then sledo:=sledo+o[i,j];
  end;

if (sledm<sledn) and (sledm<sledo) then minsled:=sledm;
if (sledn<sledm) and (sledn<sledo) then minsled:=sledn;
if (sledo<sledn) and (sledo<sledm) then minsled:=sledo;
writeln('minsled=',minsled);

readln;
end.
randomize; нужно писать тольк один раз - в начале программы.
Код:
writeln('minsled=');
read(minsled);
Вы не выводите мин. след, а вводите.

Добавлю еще только, что матрицы хорошо бы выводить (иначе как проверить? )
Вполне очевидно, чтобы что-то понять, необходимо книги читать.
Не нужно плодить бессмысленных тем. Вас Поиск избавит от многих проблем.

___________________________________ ___________________________________ _______
[=Правила форума=]_____[Поиск]_____[Литература по С++]____[Литература. Паскаль]
Sazary вне форума Ответить с цитированием
Ответ


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



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Помогите найти ошибку (С++) Alex1991 Помощь студентам 1 11.04.2009 15:19
помогите найти ошибку deadh5n1 Помощь студентам 1 13.03.2009 20:56
Помогите найти ошибку Manchester Помощь студентам 3 09.02.2009 22:26
help!!! Помогите найти ошибку!!! linker13 Общие вопросы Delphi 2 07.07.2007 23:15