1. Набираем команду codeby webinar. Набираем команду для организации и проведения вебинаров. Подробнее ...

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

    Скрыть объявление
  3. Получи 30.000 рублей. Для получения денег необходимо принять участие в конкурсе авторов codeby. С условиями и призами можно ознакомиться на этой странице ...

    Внимание! Регистрация авторов на конкурс закрыта.

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

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

Тема в разделе "Вопросы новичков и не только", создана пользователем -, 10 янв 2010.

  1. Гость

    Репутация:
    0
    Нужна помощь!!!
    Нужно разработать в среде «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 :-]

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

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

    №1
    Код:
    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
    Код:
    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
    Код:
    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 *

    Репутация:
    0
    Регистрация:
    18 май 2009
    Сообщения:
    2.442
    Симпатии:
    9
    N1 можно проще
    Код:
    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.
     
Загрузка...

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