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

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

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

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

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

Ответ
 
Опции темы Поиск в этой теме
Старый 19.12.2010, 09:17   #1
sllh_111
Форумчанин
 
Регистрация: 10.02.2010
Сообщений: 137
Сообщение циклические алгоритмы.обработка матриц

Здравствуйте, помогите пожалуйста с решением задачи:
Цитата:
F(10,8) найти в каждой строке матрицы минимальный элемент и поместить его на место последнего элемента строки.Матрицу напечатать в обшепринятом виде.
sllh_111 вне форума Ответить с цитированием
Старый 19.12.2010, 09:28   #2
p51x
Старожил
 
Регистрация: 15.02.2010
Сообщений: 15,830
По умолчанию

http://programmersforum.ru/forumdisplay.php?f=29
p51x вне форума Ответить с цитированием
Старый 19.12.2010, 09:36   #3
sllh_111
Форумчанин
 
Регистрация: 10.02.2010
Сообщений: 137
По умолчанию

помогите испрать программу, надо чтобы: в каждой строке матрицы минимальный элемент и поместить его на место последнего элемента строки

а она у меня минимальный элемент помещаев в начало строки((((((((((((

Код:
uses crt;
Var f:array[1..20,1..20] of integer;
    n,i,j,min,jmin,k,l,b,d:integer;
begin
clrscr;
WRITE('Vvedite razmer matricy n=');
READLN(N,d);
FOR I := 1 TO N DO
FOR J := 1 TO d DO
  Begin
    WRITE('f[', I, ',', J, '] ');
    READLN(f[I, J])
   End;
writeln('Ishodnaya matrica:');
For I := 1 To N Do
   Begin
    For J := 1 To d Do
    Write(f[I,J]:5);
    WriteLn;
   End;
for i:=1 to n do
   begin
    min:=f[i,1];jmin:=1;
    for j:=1 to d do
    if f[i,j]<min then
        begin
         min:=f[i,j];
         jmin:=j;
        end;
    if jmin> 1 then {если минимальный не первый}
      begin
        l:=f[i,jmin];{запоминаем его значение}
        for k:=jmin downto 2 do f[i,k]:=f[i,k-1];
        f[i,1]:=l;
      end;
    end;
writeln;
writeln('Rezultat:');
For I := 1 To N Do
  Begin
    For J := 1 To d Do
    Write(f[I,J]:5);
    WriteLn;
  End;
readln
end.

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

Я бы делал так:
Код:
Var f:array[1..20,1..20] of integer;
    min:array[1..20] of integer;
    n,i,j,jmin,k,l,b,d:integer;
begin
n:=3;d:=4;
FOR I := 1 TO N DO begin  min[i]:=1;
FOR J := 1 TO d DO
  Begin
    f[I, J]:=random(100);
    WRITE('f[', I, ',', J, '] =',f[i,j]:6,' ');
    {Запомним номера минималок}
    if f[i,min[i]]>f[i,j] then
     min[i]:=j;
   End;writeln;
end;
{А теперь поменяем}
FOR i := 1 TO n DO
  Begin
    k:=f[I, d];f[I, d]:=f[i,min[i]];f[i,min[i]]:=k;
   End;
writeln;

FOR I := 1 TO N DO begin
FOR J := 1 TO d DO
  Begin
    WRITE('f[', I, ',', J, '] =',f[i,j]:6,' ');
   End;writeln;
end;

  { TODO -oUser -cConsole Main : Insert code here }
readln;
end.
I'm learning to live...
Stilet вне форума Ответить с цитированием
Старый 19.12.2010, 11:52   #5
sllh_111
Форумчанин
 
Регистрация: 10.02.2010
Сообщений: 137
По умолчанию

Спасибо !!! все работает
sllh_111 вне форума Ответить с цитированием
Ответ


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



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Циклические алгоритмы Anwen Помощь студентам 0 20.11.2010 16:12
Циклические алгоритмы Lena neznayka Паскаль, Turbo Pascal, PascalABC.NET 7 14.06.2010 12:08
Циклические алгоритмы.Помогите решить ldinka135 Помощь студентам 5 22.12.2009 13:06
ЦИКЛИЧЕСКИЕ АЛГОРИТМЫ юра 3 Паскаль, Turbo Pascal, PascalABC.NET 1 25.12.2008 16:25