Помогите найти ошибку в программе Pascal7.0

Для тех, кто хочет сделать мир лучше.
Ответить
Сообщение
Автор
Аватара пользователя
jura37
Полковник
Полковник
Сообщения: 1722
Зарегистрирован: 15.08.2008
Благодарил (а): 2 раза
Поблагодарили: 63 раза
Контактная информация:

#1 Сообщение 26.06.2010, 07:39

Условие задачи
Дано действительная квадратная матрица порядок (10*10). Найти сумму элементов матрицы, расположенных в строках с отрицательным
элементом на главной диагонали, в остальных строках отрицательные значения заменить их модулями.
Код программы

Код: Выделить всё

{Сортировка Массива по убыванию элементов}
Program VAR_10_5;
Uses crt;
Var a:array[1..10,1..10] of integer;
    i,j,k,n,s:integer;
    bln:boolean;
Begin
Clrscr;
    {Ввод значений в элементы массива a[i,j]}
     For i:=1 to 3 do begin
            Writeln('i=stroka');
       {Вывод на экран значений элементов массива a[i,j]}
        For j:=1 to 3 do begin
            Write('a[',i,',',j,']=',' '); Read(a[i,j]);
        End;
            Writeln;
     End;
  {Вычисляется сумма значений строки в которой на}
  {главной диагонали содержится отрицательное значение}
   s:=0;bln:=true;
     For i:=1 to 3 do begin
        For j:=1 to 3 do begin
           {Write('a[',i,',',j,']=',a[i,j],' ');}
           If (i=j) and (a[i,j]<0) then begin
               k:=i;bln:=false;
               For n:=1 to 3 do begin
                  s:=s+a[k,n];
               End;
           End;
        End;
        if bln=false then break;
            Writeln;
     End;
     For i:=1 to 3 do begin
        For j:=1 to 3 do begin
           if (a[i,j]<0) and (a[i,j]<0) then begin
             a[i,j]:=(-1)*a[i,j]
           End;
        End;
     End;
     For i:=1 to 3 do begin
        For j:=1 to 3 do begin
            Write('a[',i,',',j,']=',a[i,j],' ');
        End;
            Readkey;
            Writeln;
     End;
            write('s=',s);
            Readkey;
End.
Что нужно вводить
Изображение
Проверьте пожалуйста программу не могу найти ошибку.
И еще объясните мне языком нуба :crazy:(или чайника называйте как хотите) что такое: while, ord, string, file of.Срочно!Пользователи с коментами иди учись... идут лесом можете сделать сделайте. Не можете нечего тему засорять.

popoffka666
VIP
VIP
Сообщения: 2463
Зарегистрирован: 13.12.2007
Откуда: Latvia
Поблагодарили: 2 раза

#2 Сообщение 26.06.2010, 22:42

While - цикл, который выполняется, пока условие истинно.
Например:

Код: Выделить всё

i := 1;
While (i < 11) Do Begin
  WriteLn(i);
  Inc(i);
End;
Если в цикле только 1 оператор, то можно обойтись без Begin и End:

Код: Выделить всё

i := 1;
While (a[i] < 20) Do Inc(i);
Функция ord возвращает ASCII-значение символа. Например, ord('A') равно 20, если не ошибаюсь. Обрадную операцию (перевод из ASCII символ) осуществляет функция chr().

String - тип переменной, которая содержит строку.

А вообще, иди учись. Всё это доступно на http://wiki.freepascal.org/Main_Page/ru , на русском.
The Planet is fine. The people are fucked. — George Carlin
Science is interesting, and if you don't agree you can fuck off. — Richard Dawkins

Мой рогалик на JavaScriptМой профиль на GitHub

Аватара пользователя
jura37
Полковник
Полковник
Сообщения: 1722
Зарегистрирован: 15.08.2008
Благодарил (а): 2 раза
Поблагодарили: 63 раза
Контактная информация:

#3 Сообщение 27.06.2010, 08:14

Спасибо. Скачал программу автосхема для рисования блок схемок к программам. Почему-то она матюгается на некоторые программы которые я сделал и не хочет по ним схемки чертить.

Ответить