Помогите решить задачи на матрицы в Delphi

Тема в разделе "Pascal and Delphi", создана пользователем -, 10 янв 2010.

  1. Гость

    Нужна помощь!!!
    Нужно разработать в среде «Delphi» решение двумерных массивов,указанных ниже и блок-схемы алгоритмов задач к каждой:
    Задача 1: переписать найменьшие, отрицательные элементы каждого столбца матрицы E{m,n} в одномерный массивR .
    Задача2 : определить индексы наибольшего, отрицательного элемента матрицы CC{m,n} и заменяет найденный элемент числом 5.60Е+05.
    Задача 3: найти по каждой строке среднее арифметическое отрицательных элементов матрицы DF{m,n}.
    Задача 4: найти найбольшие , отрицательные, элементы каждой строки текущей матрицы EV{m,m}, находящейся над главной диагональю, и переписать их в одномерный массив V.
    Задача 5: найти в матрице GK{m,n} строки, с найбольшей и найменьшей суммами элементов и меняет их местами.
     
  2. Dock1100

    Dock1100 :-]

    Регистрация:
    9 ноя 2009
    Сообщения:
    678
    Симпатии:
    0
    Если еще надо то могу решить для паскаля, в делфи сами сможете переделать?

    Добавлено:
    нормально условие обяснить можете?

    №1
    Код (Text):
    const m=5;
    n=4;

    var e:array[1..m,1..n] of integer;
    r:array[1..n] of integer;
    i,j,k:integer;

    begin
    writeln('vvedite elementy');
    for i:=1 to m do
    for j:=1 to n do
    readln(e[i,j]);

    for i:=1 to m do
    for j:=1 to n do
    if E[i,j]<0 then r[j]:=e[i,j];

    for i:=1 to m do
    for j:=1 to n do
    if e[i,j]<r[j] then r[j]:=e[i,j];

    writeln('massiv r');
    for i:=1 to n do
    writeln(r[i]);
    readln;
    end.

    Добавлено: №3
    Код (Text):
    const m=3;


    var DF:array[1..m,1..m] of integer;
    r:array[1..m] of real;
    k:array[1..m] of integer;
    i,j:integer;

    begin
    writeln('vvedite elementy');
    for i:=1 to m do
    for j:=1 to m do
    readln(df[i,j]);

    for i:=1 to m do
    for j:=1 to m do
    if df[i,j]<0 then begin r[i]:=r[i]+df[i,j]; k[i]:=k[i]+1; end;

    for i:=1 to m do
    for j:=1 to m do
    if k[i]<>0 then r[i]:=r[i]/k[i];

    writeln('massiv r');
    for i:=1 to m do
    writeln(r[i]:8:2);
    readln;
    end.
    Добавлено:
    Найбольшие из отрецательных?

    Добавлено: №5
    Код (Text):
    const m=3;
    n=2;

    var gk:array[1..m,1..n] of integer;
    s,t:array[1..m] of integer;
    i,j,max,min,maxi,mini:integer;

    begin
    writeln('vvedite elementy');
    for i:=1 to m do
    for j:=1 to n do
    begin
    readln(gk[i,j]);
    s[i]:=gk[i,j];
    end;


    max:=s[1];
    min:=s[1];
    mini:=1;
    maxi:=1;
    for i:=1 to m do
    begin
    if s[i]>max then begin max:=s[i]; maxi:=i; end;
    if s[i]<min then begin min:=s[i]; mini:=i; end;
    end;

    for j:=1 to n do
    begin
    t[j]:=gk[mini,j];
    gk[mini,j]:=gk[maxi,j];
    gk[maxi,j]:=t[j];
    end;

    writeln('massiv gk');
    for i:=1 to m do
    for j:=1 to n do
    writeln(gk[i,j]);
    readln;
    end.
     
  3. hosm

    hosm * so what *

    Регистрация:
    18 май 2009
    Сообщения:
    2.450
    Симпатии:
    7
    N1 можно проще
    Код (Text):
    const m=5;
    n=4;

    var e:array[1..m,1..n] of integer;
    r:array[1..n] of integer;
    i,j,k:integer;

    begin
    writeln('vvedite elementy');
    for i:=1 to m do
    for j:=1 to n do
    readln(e[i,j]);

    for j:=1 to n do begin
    r[j]:=0; // для отбора отрицательных. возможно, инициализируется 0 по умолчанию, но тут задала явно
    for i:=1 to m do
    if e[i,j]<r[j] then r[j]:=e[i,j];
    end;

    writeln('massiv r');
    for i:=1 to n do
    writeln(r[i]);
    readln;
    end.
     
Загрузка...
Похожие Темы - Помогите решить задачи
  1. Alexey075
    Ответов:
    1
    Просмотров:
    1.684
  2. xandria483
    Ответов:
    0
    Просмотров:
    1.025
  3. LeshikB
    Ответов:
    0
    Просмотров:
    1.637
  4. mrx13
    Ответов:
    8
    Просмотров:
    257
  5. kuklofon
    Ответов:
    9
    Просмотров:
    573

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