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

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

Вернуться   Форум программистов > Delphi программирование > Паскаль, Turbo Pascal, PascalABC.NET
Регистрация

Восстановить пароль
Повторная активизация e-mail

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

Закрытая тема
Ваша тема закрыта, почему это могло произойти? Возможно,
Нет наработок или кода, если нужно готовое решение - создайте тему в разделе Фриланс и оплатите работу.
Название темы включает слова - "Помогите", "Нужна помощь", "Срочно", "Пожалуйста".
Название темы слишком короткое или не отражает сути вашего вопроса.
Тема исчерпала себя, помните, один вопрос - одна тема
Прочитайте правила и заново правильно создайте тему.
 
Опции темы Поиск в этой теме
Старый 01.02.2011, 00:24   #1
Tifa
Пользователь
 
Регистрация: 21.01.2011
Сообщений: 30
По умолчанию Матрица. Отсортировать максимумы по убыванию в матрицеб а минимумы по возрастаниюю

Дана матрица nxm Найти наибольший и наименьший элемент в каждой строке..Отсортировать эти максимумы по убыванию в матрицеб а минимумы по возрастаниюю. указать какое количество максимальных и минимальных элементов находица в каждом столбце.
Код:
Код:


var
a:array [1..100,1..100] of integer;
amin,amax,kolmax,kolmin:array[1..100] of integer;
n,m,j,i,min,max,p,k,x,z :integer;
f:boolean;
begin
write('Vvedite kol-vo strok=');
read (m);
write('Vvedite kol-vo stolbcov=');
read (n);
for i:=1 to m do
for j:=1 to n do
begin
write('Vvedite a[',i,',',j,']=');
read(a[i,j]);
end;
writeln;
for i:=1 to m do
begin
for j:=1 to n do
write (a[i,j]:4);
writeln;
end;
k:=1;
for i:=1 to m do
begin
max:=a[i,1];
min:=a[i,1];
for j:=1 to n do
begin
if a[i,j]>max then max:=a[i,j];
if a[i,j]<min then min:=a[i,j];
end;
amax[k]:=max;
amin[k]:=min;
k:=k+1;
writeln('Min v ',i,' stroke=',min,' ',',Max=',max);
end;
for i:=1 to k-1 do
begin
for j:=i+1 to k-1 do
begin
if amax[i]<amax[j] then
begin
p:=amax[i]; amax[i]:=amax[j]; amax[j]:=p;
end;
if amin[i]>amin[j] then
begin
x:=amin[i]; amin[i]:=amin[j]; amin[j]:=x;
end;
end;
end;
writeln('Otsortirovannye max elementy');
for i:=1 to k-1 do
writeln(amax[i]);
writeln('Otsortirovannye min elementy');
for i:=1 to k-1 do
writeln(amin[i]);
kolmax[1]:=0;
z:=1;
for j:=1 to n do
begin
for i:=1 to m do
begin
for k:=1 to k-1 do
begin
if amax[k]=a[i,j] then kolmax[z]:=kolmax[z]+1;
if amin[k]=a[i,j] then kolmin[z]:=kolmin[z]+1;
end;
end;
z:=z+1;
end;lmax[z]+1;
if amin[k]=a[i,j] then kolmin[z]:=kolmin[z]+1;
end;
end;
z:=z+1;
end;
for i:=1 to z-1 do
begin
writeln('Kol-vo max elementov v ',i,' stolbce=',kolmax[i]);
writeln('Kol-vo min elementov v ',i,' stolbce=',kolmin[i]);
end;
Readln;
Readln
блин.....находин неаибольший и наименьший элемент в каждой строке Сортирует максимумы по убыванию минимумы по возрастанию а вот...указать какое количество максимальных и минимальных элементов находица в каждом столбце. почемуто не работает(....напишите код плиз где не праавельно....или уже в исправленом виде)))))пожалуста....(!
Tifa вне форума
Старый 01.02.2011, 00:42   #2
nikita33321
Пользователь
 
Аватар для nikita33321
 
Регистрация: 17.12.2008
Сообщений: 56
По умолчанию

Код:
for i:=1 to n do //берем столбец
    begin
     col:=0; //счетчик
      for j:=1 to m do // проход по столбцу
       if a[i,j]=max then
        begin
         inc(col);
        end;
     writeln('v stolbce pod nomerom ',i,' ',col, 'max elementov');
    end;
с минимальными эл думаю понятно

Код:
{проход по строкам}
        for j:=1 to m do
           begin
             for i:=1 to n do
skype: nikita333211

Последний раз редактировалось nikita33321; 01.02.2011 в 00:48.
nikita33321 вне форума
Старый 01.02.2011, 01:01   #3
Tifa
Пользователь
 
Регистрация: 21.01.2011
Сообщений: 30
По умолчанию

немогбы пожалуйста*****ужу програму правекльную написать(измененую)пожалуста!)))))) ))))))))))))))))))))))))))))))))))) ))))))))))))))))))))))))))))))))))) ))))))))))))))))))))))))))))))))))) ))))))))))))))))))))))))))))))))))) )))
Tifa вне форума
Старый 01.02.2011, 01:55   #4
nikita33321
Пользователь
 
Аватар для nikita33321
 
Регистрация: 17.12.2008
Сообщений: 56
По умолчанию

у меня твоя прога не хочет компилироваться

Код:
program Project2;

{$APPTYPE CONSOLE}

uses
  SysUtils;
 var
 amin,amax:array[1..100] of integer;
 a:array[1..100,1..100] of integer;
 n,m,i,j,max,min,col,col2:integer;
begin
 read(n,m);
  for i:=1 to n do
   for j:=1 to m do
    read(a[i,j]);
   for i:=1 to n do
    begin
     col:=0;
     col2:=0;
     min:=a[i,1];
     max:=a[i,1];
      for j:=1 to m do
       begin
        if a[i,j]>max then    // min max poisk
         max:=a[i,j];
        if a[i,j]<min then
         min:=a[i,j];
       end;
      for j:=1 to m do
       begin
        if a[i,j]=max then
         inc(col);
        if a[i,j]=min then
         inc(col2);
       end;
     amax[i]:=col;
     amin[i]:=col2;
    end;
//vivod
for i:=1 to n do
 begin
 writeln('min v stolbce',i);
 writeln(amin[i]);
 writeln('max v stolbce',i);
 writeln(amax[i]);
 end;
// po strocam
for  j:=1 to m do
 begin
     col:=0;
     col2:=0;
     min:=a[1,j];
     max:=a[1,j];
  for i:=1 to n do
   begin
    if a[i,j]>max then
     max:=a[i,j];
    if a[i,j]<min then
     min:=a[i,j];
    end;
     for i:=1 to m do
       begin
        if a[i,j]=max then
         inc(col);
        if a[i,j]=min then
         inc(col2);
       end;
     amax[j]:=col;
     amin[j]:=col2;
    end;
//vivod
for j:=1 to n do
 begin
  writeln('min v stroke',j);
  writeln(amin[j]);
  writeln('max v stroke',j);
  writeln(amax[j]);
 end;
readln;
end.
вот программа вывод мин макс в массив и на экран тебе надо просто добавить пременные col и col2 а остольные переменные вроде сходяться...
skype: nikita333211

Последний раз редактировалось nikita33321; 01.02.2011 в 02:23.
nikita33321 вне форума
Старый 01.02.2011, 04:42   #5
Tifa
Пользователь
 
Регистрация: 21.01.2011
Сообщений: 30
По умолчанию

спасибо огромное!)))
Tifa вне форума
Старый 24.01.2012, 22:13   #6
Дарья69
Новичок
Джуниор
 
Регистрация: 24.01.2012
Сообщений: 2
По умолчанию

отсортировать всю матрицу n x m по столбцам по убыванию.Проверить есть ли в этой матрице элемент,который является кратным сумме из остальных элементов,если их несколько,то указать их количество и вывести на печать.
Дарья69 вне форума
Старый 24.01.2012, 22:36   #7
Hacker19_90
Delphi Warrior
Старожил
 
Аватар для Hacker19_90
 
Регистрация: 15.08.2008
Сообщений: 2,502
По умолчанию

Цитата:
Сообщение от Дарья69 Посмотреть сообщение
отсортировать всю матрицу n x m по столбцам по убыванию.Проверить есть ли в этой матрице элемент,который является кратным сумме из остальных элементов,если их несколько,то указать их количество и вывести на печать.
ОДНА ТЕМА - ОДИН ВОПРОС!
Создайте свою тему!
Mess with the best, die like the rest. (с) Hackers
Лабораторные, курсовые на Delphi\Pascal\C++
ya.flex-freelance@yandex.ru Icq - 636-954-303
Hacker19_90 вне форума
Закрытая тема


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



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
ОТСОРТИРОВАТЬ максимумы по убыванию в матрице,а минимумы по возрастанию YooooO!!! Паскаль, Turbo Pascal, PascalABC.NET 1 22.01.2011 14:21
В массиве а (10) первую половину массива отсортировать по убыванию, вторую по возрастанию leon1405 Assembler - Ассемблер (FASM, MASM, WASM, NASM, GoASM, Gas, RosAsm, HLA) и не рекомендуем TASM 3 19.12.2010 18:36
минимумы и максимумы Delphin-666 Общие вопросы Delphi 9 15.06.2010 09:07
Отсортировать массив по убыванию в С++ sershok Помощь студентам 5 16.02.2009 00:31