IPB
ЛогинПароль:

> Прочтите прежде чем задавать вопрос!

1. Заголовок темы должен быть информативным. В противном случае тема удаляется ...
2. Все тексты программ должны помещаться в теги [code=pas] ... [/code], либо быть опубликованы на нашем PasteBin в режиме вечного хранения.
3. Прежде чем задавать вопрос, см. "FAQ", если там не нашли ответа, воспользуйтесь ПОИСКОМ, возможно такую задачу уже решали!
4. Не предлагайте свои решения на других языках, кроме Паскаля (исключение - только с согласия модератора).
5. НЕ используйте форум для личного общения, все что не относится к обсуждению темы - на PM!
6. Одна тема - один вопрос (задача)
7. Проверяйте программы перед тем, как разместить их на форуме!!!
8. Спрашивайте и отвечайте четко и по существу!!!

> Работа с двумерным массивом, задачка на двумерный массив
сообщение
Сообщение #1





Группа: Пользователи
Сообщений: 9
Пол: Мужской
Реальное имя: Максим

Репутация: -  0  +


Всем привет!

Не могу решить задачу, а скоро сдавать контрольную. Помогите, кто чем сможет.

Организовать заполнение двумерного массива целыми числами случайным образом используя Random. Из исходной матрици получить новую, путем добавления в нее строк из нулей, перед строками, содержащими наибольшее количество элементов, превышающих число А (вводится пользователем). Вывести на экран исходную и полученную матрицы...

Заранее благодарен, Jeeb.
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
 
 Ответить  Открыть новую тему 
Ответов
сообщение
Сообщение #2


Гость






var
buf: array[1 .. num_cols] of integer;
buf_len: integer;
...
ReadLn(A); { Это - то самое A }
max_count := 0; { здесь будет храниться максимум встреченных чисел в строке которые > А}

for i := 1 to num_rows do begin { num_rows = число строк матрицы }

count := 0;
for j := 1 to num_cols do begin { num_cols = число столбцов }
if mx[i, j] > a then inc(count)
end;
if count > max_count then begin
max_count := count;
buf_len := 1; buf[buf_len] := i;
end
else
if count = max_count then begin
inc(buf_len); buf[buf_len] := i;
end;

end;


теперь у тебя в массиве buf хранятся индексы строк, в которых содержится максимальное число элементов > А (число этих индексов = buf_len).

Проходи по этоиу массиву и добавляй перед каждой строкой строкой с хранящимся там индексом, пустую строку (не забывая изменять оставшиеся индексы, т.к. при добавлении строки часть матрицы сдвинется на 1 вниз)... Как это реализовать - саму идею - можно посмотреть здесь: Работа с динамическими матрицами

Будут вопросы - обращайся...

P.S. можно сделать и без buf, я привел только один из возможных способов...
 К началу страницы 
+ Ответить 

Сообщений в этой теме


 Ответить  Открыть новую тему 
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0

 





- Текстовая версия 11.09.2025 19:28
500Gb HDD, 6Gb RAM, 2 Cores, 7 EUR в месяц — такие хостинги правда бывают
Связь с администрацией: bu_gen в домене octagram.name