1. Требуются разработчики и тестеры для проекта codebyOS. Требования для участия в проекте: Знание принципов работы ОС на базе Linux; Знание Bash; Крайне желательное знание CPP, Python, Lua; Навыки системного администрирования. Подробнее ...

    Скрыть объявление

Матрица

Тема в разделе "Pascal and Delphi", создана пользователем NemoI3, 16 дек 2010.

Статус темы:
Закрыта.
  1. NemoI3

    NemoI3 Гость

    Репутация:
    0
    Заданы две матрицы A=[1..3, 1..3], B=[1..4, 1..4]/
    Расставить в порядке возрастания элементы в каждой строке матрицы, затем получить сумму элементов последнего столбца в каждой матрице. Расстановку элементов в порядке возрастания оформить в виде подпрограммы.
    Исходные данные:

    A=((1.8, 3.4, -1.5), (3.1, 0, 2.1), (0.25, 4, 1.1));
    B=((1,0.8,2.5,-1),(2.1,0.3,3.1,1.5),(2.5,0.33,2.1,5),(6.4,1.3,0.25,1));



    Код:
    Type mass1=array[1..3,1..3]of real;
    Type mass2=array[1..4,1..4]of real;
    Type mass3=array of real;
    
    procedure TForm1.Button1Click(Sender: TObject);
    
    procedure vozr(n:integer; var x:mass1);
    var i,j:integer; t:real;
    begin
    for i:=1 to n-1 do
    for j:=1 to n do
    if (x[i,j]<x[i,j+1]) then begin
    t:=x[i,j]; x[i,j]:=x[i,j+1]; x[i,j+1]:=t; end;
    end;
    
    var i,j,m,l:integer; v:mass1; c:mass2; 
    const a1:mass1=((1.8, 3.4, -1.5), (3.1, 0, 2.1), (0.25, 4, 1.1));
    b1:mass2=((1,0.8,2.5,-1),(2.1,0.3,3.1,1.5),(2.5,0.33,2.1,5),(6.4,1.3,0.25,1));
    begin
    for i:=1 to 3 do
    for j:=1 to 3 do begin
    stringgrid1.Cells[i-1,j-1]:=floattostr(a1[j,i]);
    v[i,j]:=a1[i,j];end;
    
    for i:=1 to 4 do
    for j:=1 to 4 do begin
    stringgrid2.Cells[i-1,j-1]:=floattostr(b1[j,i]);
    c[i,j]:=b1[i,j] end;
    m:=3; l:=4;
    vozr(m,v);
    vozr(l,c);
    
    for i:=1 to 3 do
    for j:=1 to 3 do
    stringgrid1.cells[i-1,j-1]:=floattostr(v[j,i]);
    
    
    for i:=1 to 4 do
    for j:=1 to 4 do
    stringgrid2.cells[i-1,j-1]:=floattostr(c[j,i]);
    
    end;
    
    end.


    не выходит у меня правильная сортировка...подскажите где не прав?
     
  2. nayke

    nayke Well-Known Member

    Репутация:
    0
    Регистрация:
    4 авг 2010
    Сообщения:
    310
    Симпатии:
    0
    Проблема в сортировке тебе надо фиксировать строку и сортировать одномерный массив
    Код:
    for i:=1 to n do
    //здесь сортировка одномерного массива если честно давно пользую созданные класс с быстрой сортировкой поэтому код точно не помню можешь сам в сети пузьрковую сортировку поискать но вроде так
    
    for j:=1 to n do
    for k:=1 to n do
    if (x[i,j]<x[i,k]) then
    begin
    t:=x[i,j];
    x[i,j]:=x[i,k]; 
    x[i,k]:=t; 
    end;
    end;
     
  3. NemoI3

    NemoI3 Гость

    Репутация:
    0
    во...спасибо большое)
     
Загрузка...
Похожие Темы - Матрица
  1. fatpunk
    Ответов:
    0
    Просмотров:
    1.217
  2. нини
    Ответов:
    3
    Просмотров:
    1.823
  3. phobiaxx
    Ответов:
    1
    Просмотров:
    1.327
  4. vladis222
    Ответов:
    1
    Просмотров:
    1.341
  5. LudmilaUt
    Ответов:
    0
    Просмотров:
    1.445
Статус темы:
Закрыта.

Поделиться этой страницей