HOME FORUMS MEMBERS RECENT POSTS LOG IN  
× Авторизация
Имя пользователя:
Пароль:
Нет аккаунта? Регистрация
Баннер 1   Баннер 2
НОВЫЕ ТОРГОВАЯ НОВОСТИ ЧАТ
loading...
Скрыть
Вернуться   ANTICHAT > ПРОГРАММИРОВАНИЕ > С/С++, C#, Rust, Swift, Go, Java, Perl, Ruby
   
 
 
Опции темы Поиск в этой теме Опции просмотра

  #11  
Старый 30.05.2009, 17:26
Agregat
Новичок
Регистрация: 15.05.2009
Сообщений: 11
Провел на форуме:
7498

Репутация: 0
По умолчанию

Почему не работает программа? По заданию программа должна менять минимальные элементы с диагональными в каждой строке квадратной матрицы.
Код:
var
A:array [1..100,1..100] of integer;
i,j,M:byte;
C,z,Idx1,Idx2:integer;

begin
    repeat
       writeln('Введите размерность матрицы (M<=100): ');
       readln(M);
          if ((M<=1) or (M>100)) then
             begin
                 writeln('Такая размерность невозможна по условию.');
                 writeln('Повторите ввод.');
             end;
    until ( (M>1) and (M<=100) );
    writeln('Введите матрицу');
       for i:=1 to M do
       for j:=1 to M do
          begin
              write('A[',i,',',j,']=');
              readln(A[i,j]);
          end;
   writeln('Вы ввели: ');
       for i:=1 to M do
           begin
               for j:=1 to M do write(A[i,j],' ');
               writeln;
           end;
   for i:=1 to M do
       begin
          Idx1:=1;
          z:=A[i,Idx1];
          for j:=2 to M do
               if A[i,j]<z then
                   begin
                       z:=A[i,j];
                       Idx1:=j;
                   end;
          A[i,Idx1]:=A[i,i];
          A[i,i]:=z;
        end;

    for i:=1 to M do
       begin
          Idx2:=1;
          C:=A[i,Idx2];
          for j:=2 to M do
               if ((A[i,j]>A[i,i]) and (A[i,j]<C)) then
                   begin
                        C:=A[i,j];
                        Idx2:=j;
                   end;
          A[i,Idx2]:=A[i,(M+1-i)];
          A[i,(M+1-i)]:=C;
       end;
    writeln;
    writeln('Новая матрица:');
        begin
            for i:=1 to M do
                 begin
                      for j:=1 to M do
                            write(A[i,j]:5);
                            writeln;
                 end;
            readln;
        end;
end.
 
Ответить с цитированием
 



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
[Wi-Fi, BT] Задай вопрос - получи ответ! Alexsize Беспроводные технологии/Wi-Fi/Wardriving 2569 10.05.2026 13:27
[jQuery] - Задай вопрос, получи ответ Isis PHP 62 25.12.2009 03:25



Здесь присутствуют: 1 (пользователей: 0 , гостей: 1)
 


Быстрый переход




ANTICHAT ™ © 2001- Antichat Kft.