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

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

Вернуться   Форум программистов > IT форум > Помощь студентам
Регистрация

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

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

Ответ
 
Опции темы Поиск в этой теме
Старый 23.01.2014, 06:27   #1
Леви
Новичок
Джуниор
 
Регистрация: 23.01.2014
Сообщений: 3
По умолчанию Упорядочить строки целочисленной прямоугольной матрицы по возрастанию количества одинаковых элементов в каждой строке. Pascal

Упорядочить строки целочисленной прямоугольной матрицы по возрастанию количества одинаковых элементов в каждой строке. Найти номер первого из столбцов, не содержащих ни одного отрицательного элемента.
Леви вне форума Ответить с цитированием
Старый 23.01.2014, 06:32   #2
Vanta11a
Lawful Evil
Участник клуба
 
Аватар для Vanta11a
 
Регистрация: 13.05.2008
Сообщений: 1,208
По умолчанию

Ну и в чем проблема? Наработки или оплата чужой работы?
Алгоритм - бесплатен. Поиск багов - бесплатен. Реализация алгоритма - за отдельную плату.
На форуме помогают советами и объясняют, а не пишут на халяву программы, лабы, курсачи и т.д. (c)
Vanta11a вне форума Ответить с цитированием
Старый 23.01.2014, 06:50   #3
Леви
Новичок
Джуниор
 
Регистрация: 23.01.2014
Сообщений: 3
По умолчанию

Не понимаю как упорядочить строки
Леви вне форума Ответить с цитированием
Старый 23.01.2014, 07:12   #4
Vanta11a
Lawful Evil
Участник клуба
 
Аватар для Vanta11a
 
Регистрация: 13.05.2008
Сообщений: 1,208
По умолчанию

Для начала: что есть строка? Если набор чисел от 0 до 9 - то считаете число одинаковых чисел, выбираете максимальное, запоминаете. Повторить для каждой строки. Потом отсортировать по возрастанию эти строки.

Ввод матрицы покажите.
Алгоритм - бесплатен. Поиск багов - бесплатен. Реализация алгоритма - за отдельную плату.
На форуме помогают советами и объясняют, а не пишут на халяву программы, лабы, курсачи и т.д. (c)
Vanta11a вне форума Ответить с цитированием
Старый 23.01.2014, 07:52   #5
Леви
Новичок
Джуниор
 
Регистрация: 23.01.2014
Сообщений: 3
По умолчанию

что-то получилось...)) я неправильно поняла задачу
Код:
program aaa;
Type mas=array[1..5] of integer;
Var a: array[1..5, 1..5] of integer;
s, d:mas; {массив элементов одной строки и массив количеств одинаковых элементов в строках}
j,k,w, min, m :integer;
 
procedure kolich(b:mas; Var kol: integer); {кол-во одинаковых элементов с строке}
Var j, k, max :integer;
c:mas;
begin
for j:=1 to 5 do
begin
c[j]:=0;
for k:=1 to 5 do
if b[k]= b[j] then c[j]:=c[j]+1;
end;
max:=c[1];
for j:=2 to 5 do
if c[j]> max then max:=c[j];
kol:=max;
end; {конец процедуры}
 
Procedure obmen(Var x,y:integer); {для обмена местами элементов}
Var prom:integer;
begin
prom:=x;
x:=y;
y:=prom;
end; {конец процедуры}
 
begin
writeln('Исходный массив ');
for j:=1 to 5 do
begin
for k:=1 to 5 do
begin
a [j, k ] := Random(10);
write( a [ j,k ]:3,' ');
end;
writeln;
end;
 
for j:=1 to 5 do
begin
for k:=1 to 5 do
s [ k] := a [ j,k ]; {формирование матрицы из элементов строки};
kolich(s, d[j]);
writeln('Количество одинаковых элементов в ', j, ' строке= ', d[j]);
end;
 
{сортировка массива d и перестановка строк}
for j:=1 to 4 do
begin
min:=d[j]; m:=j;
for k:=j+1 to 5 do
if d[k]< min then begin min:=d[k]; m:=k end;
obmen(d[j],d[m]);
for w:=1 to 5 do {перестановка строк}
obmen(a[j,w],a[m,w]);
end;
 
writeln('матрица с переставленными строками в соответствии с ростом количества одинаковых элементов в строке: ');
for j:=1 to 5 do
begin
for k:=1 to 5 do
write( a[j,k]:3,' ');
writeln;
end;
end.


___________
Код нужно оформлять по правилам:
тегом [CODE]..[/СODE]
(кнопочка на панели форматирования с решёточкой #)
Не забывайте об этом!

Модератор.

Последний раз редактировалось Serge_Bliznykov; 23.01.2014 в 08:33.
Леви вне форума Ответить с цитированием
Старый 23.01.2014, 13:37   #6
Vanta11a
Lawful Evil
Участник клуба
 
Аватар для Vanta11a
 
Регистрация: 13.05.2008
Сообщений: 1,208
По умолчанию

В чем проблема сейчас? ("не работает" за ответ не принимается).
Не сортирует? Выводит не так? Еще чего-то?

Я вот не помню, но разве параметры, переданные в функцию, не меняются только в ней? Я про процедуру
Код:
Procedure obmen(Var x,y:integer);
Вроде она не поменяет местами элементы в самом массиве.
Алгоритм - бесплатен. Поиск багов - бесплатен. Реализация алгоритма - за отдельную плату.
На форуме помогают советами и объясняют, а не пишут на халяву программы, лабы, курсачи и т.д. (c)
Vanta11a вне форума Ответить с цитированием
Старый 24.01.2014, 13:08   #7
Serge_Bliznykov
Старожил
 
Регистрация: 09.01.2008
Сообщений: 26,238
По умолчанию

Леви, задача ещё не утратила своей актуальности?

прежде, чем говорить о вашем коде и сортироровке, скажите, а как Вы понимаете "количество одинаковых элементов в каждой строке" ?!

Например, я запустил вашу программу, она выдала следующее:
Цитата:
Код:
Исходный массив
  0   0   8   2   2
  6   3   1   3   4
  0   4   0   8   0
  2   9   3   7   3
  6   8   7   3   1
Количество одинаковых элементов в 1 строке= 2
Количество одинаковых элементов в 2 строке= 2
Количество одинаковых элементов в 3 строке= 3
Количество одинаковых элементов в 4 строке= 2
Количество одинаковых элементов в 5 строке= 1
А на самом деле сколько одинаковых символов в первой строке? (и объясните, почему)


p.s. а программка ваша, не без изъянов, но, в целом - нормуль, в нужном направлении движитесь!
Serge_Bliznykov вне форума Ответить с цитированием
Ответ


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

Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Дана целочисленная прямоугольная матрица.Упорядочить строки по увеличению количества одинаковых элементов (Паскаль) Марина-1 Помощь студентам 2 08.12.2013 16:42
Найти наименьший элемент в каждой строке матрицы и упорядочить строки по возрастанию этих элементов winrey Паскаль, Turbo Pascal, PascalABC.NET 1 21.10.2012 15:20
Отсортировать столбец с номером n_sort целочисленной матрицы М(4,4) по возрастанию элементов с исполльзов yulia_93 Паскаль, Turbo Pascal, PascalABC.NET 0 15.05.2011 16:51
Проверить, упорядочены ли по возрастанию элементы каждой строки матрицы (Pascal). cosa nostra Помощь студентам 1 11.12.2009 21:26
Упорядочить строку целочисленной прямоугольной матрицы Woodyy Паскаль, Turbo Pascal, PascalABC.NET 8 06.06.2009 17:15