+ Ответить в теме
Показано с 1 по 4 из 4

Тема: Сортировка выбором в двумерном массиве

  1. #1
    Новичок integral кто это?
    Регистрация
    14.03.2010
    Сообщений
    4
    Поблагодарил(а)
    0
    Получено благодарностей: 1 (сообщений: 1).

    По умолчанию Сортировка выбором в двумерном массиве

    Скажите, пожалуйста, как в двумерном массиве упорядочить каждый столбец по возрастанию?
    Я вот так написала, но, видимо, где-то ошибка, потому что он не сортирует.

    for j:=1 to N do
    begin
    Amin:=A[1,j];
    imin:=1;
    for i1:=i+1 to M do
    begin
    if A[i1,j]<Amin then
    Amin:=A[i1,j];
    imin:=i1;
    end;
    imin:=i;
    i:=Amin;
    end;

  2. 1 пользователь сказал cпасибо integral за это полезное сообщение:

    [Павел] (12.05.2010)

  3. #2
    Мастер Paralax кто это? Аватар для Paralax
    Регистрация
    16.10.2006
    Сообщений
    871
    Поблагодарил(а)
    215
    Получено благодарностей: 298 (сообщений: 178).

    По умолчанию

    Где у тебя присваивание A[i1,j] := Amin;?
    Т.е. получив минимальный элемент массива по значению, сам массив никак не изменяешь. Или хотя бы зачения элементов менять местами Swap(A[i1,j],A[i1,j+1])....

  4. #3
    Новичок integral кто это?
    Регистрация
    14.03.2010
    Сообщений
    4
    Поблагодарил(а)
    0
    Получено благодарностей: 1 (сообщений: 1).

    По умолчанию

    Всё равно не получается :( Может я эти строчки не туда пишу..? Напишите поподробнее, пожалуйста.

  5. #4
    Юзер v_b кто это?
    Регистрация
    15.02.2007
    Сообщений
    185
    Поблагодарил(а)
    134
    Получено благодарностей: 51 (сообщений: 37).

    По умолчанию

    Вы че то замутили )
    Код:
    uses
      SysUtils;
      const
      M=10;
      N=10;
      var
    a:array [1..M,1..N] of integer;
    j,i,Amin,k:integer;
     
    begin
    randomize;
    for i:=1 to M do
    begin
     for j:=1 to N do
      begin
        a[i,j]:=trunc(random(10));
        write(a[i,j],' ');
      end;
     writeln;
    end;
     
    writeln;
     
    for i:=1 to M do
    begin
    for j:=1 to N do
    for k:=1 to N-1 do
    begin
     if A[k,j]>A[k+1,j] then
      begin
       Amin:=A[k+1,j];
       A[k+1,j]:=A[k,j];
       A[k,j]:=Amin;
      end;
    end;
    end;
     
    for i:=1 to M do
    begin
    for j:=1 to N do
    begin
    write(a[i,j],' ');
    end;
    writeln;
    end;
    readln;
    end.

+ Ответить в теме

Информация о теме

Пользователи, просматривающие эту тему

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

     

Похожие темы

  1. Помогите с выбором CMS
    от Fors в разделе Интернет/Веб-дизайн
    Ответов: 3
    Последнее сообщение: 28.04.2010, 10:43
  2. Помогите с выбором новой видеокарты
    от KING FLIGHT в разделе Вопросы и ответы
    Ответов: 13
    Последнее сообщение: 20.10.2008, 18:25
  3. Помогите с выбором БП
    от MustD!e в разделе Вопросы и ответы
    Ответов: 9
    Последнее сообщение: 17.10.2008, 00:47
  4. Подскажите с выбором цифры
    от Putnik в разделе Hi-Tech & IT
    Ответов: 31
    Последнее сообщение: 23.12.2006, 22:34

Метки этой темы

Ваши права

  • Вы не можете создавать новые темы
  • Вы не можете отвечать в темах
  • Вы не можете прикреплять вложения
  • Вы не можете редактировать свои сообщения
Рейтинг@Mail.ru
Администрация сайта не выражает согласия
с высказыванием участников форума и не несет
ответственности за их содержание.

Копирование любого материала возможно только
при наличии ссылки на сайт.