Задача о двумерном массиве |
1. Заголовок темы должен быть информативным. В противном случае тема удаляется ...
2. Все тексты программ должны помещаться в теги [code=pas] ... [/code], либо быть опубликованы на нашем PasteBin в режиме вечного хранения.
3. Прежде чем задавать вопрос, см. "FAQ", если там не нашли ответа, воспользуйтесь ПОИСКОМ, возможно такую задачу уже решали!
4. Не предлагайте свои решения на других языках, кроме Паскаля (исключение - только с согласия модератора).
5. НЕ используйте форум для личного общения, все что не относится к обсуждению темы - на PM!
6. Одна тема - один вопрос (задача)
7. Проверяйте программы перед тем, как разместить их на форуме!!!
8. Спрашивайте и отвечайте четко и по существу!!!
Задача о двумерном массиве |
-rov4- |
Сообщение
#1
|
Гость |
Привет всем.
Помогите, пожалуйста, решить задачу (сегодня сдавать): Дан двумерный массив, найти все элементы, большие 6-ти; создать одномерный массив, заполняя его с конца (условие переписано полностью). Заранее спасибо! |
FreeMan |
Сообщение
#2
|
- Группа: Пользователи Сообщений: 480 Пол: Мужской Репутация: 4 |
Аналогичные задачи на форуме решались множество (неисчислимое) раз.
Вот как найти (и вывести на экран) все элементы больше 6 Код for i:=1 to n do for j:=1 to m do if a[i,j]>6 then writeln(a[i,j],' '); Заполнение массива с конца случайными числами Код for i:=n downto 1 do a[i]:=random(1000); -------------------- бб
|
-rov4- |
Сообщение
#3
|
Гость |
Ну вот начало у меня такое:
Код uses crt; const n=4; par=(n*4); type matriz=array[1..n,1..m] of integer; var i,j,a:integer; mas:matriz; im:array[1..par] of integer; procedure vvod(var vmas:matriz); begin clrscr; writeln('‚Вводим элементы в массив, размерность [',n,',',n,'],'); for i:=1 to n do for j:=1 to m do begin write('‚Введите элемент [',i,',',j,']=,'); readln(vmas[i,j]); end; end; procedure print(vmas:matriz); begin writeln('‚Ваш массив имеет вид.,'); for i:=1 to n do begin for j:=1 to n do begin write(' ',vmas[i,j],' '); end; writeln; end; end; begin for i:=1 to n do for j:=1 to m do if [i,j]>6 then writeln (a[i,j],''); readln; end Что делать дальше? И какие ошибки тут? |
FreeMan |
Сообщение
#4
|
- Группа: Пользователи Сообщений: 480 Пол: Мужской Репутация: 4 |
Что такое m?
дальше - процедуры есть, а где они вызываются? -------------------- бб
|
-rov4- |
Сообщение
#5
|
Гость |
Вместо m должно быть n (опечатка).
А вот насчёт второго вопроса...не знаю (очень слабо разбираюсь во всём этом, поэтому и прошу помощи)... |
FreeMan |
Сообщение
#6
|
- Группа: Пользователи Сообщений: 480 Пол: Мужской Репутация: 4 |
фрагмент, где должны "торчать" вызовы процедур
Цитата begin vvod(mas);{заполнить} print(mas);{вывести на экран} for i:=1 to n do for j:=1 to m do if [i,j]>6 then writeln (a[i,j],''); readln; end.{ты точку забыл } -------------------- бб
|
-rov4- |
Сообщение
#7
|
Гость |
Да (с процедурами всё понятно), но мне же ещё надо создать и заполнить одномерный массив...
|
FreeMan |
Сообщение
#8
|
- Группа: Пользователи Сообщений: 480 Пол: Мужской Репутация: 4 |
Цитата Код im:array[1..par] of integer; вот это массив. Код for i:=par downto 1 do begin write('Enter mas[', i,']: '); readln(mas[i]); end; это заполнение -------------------- бб
|
-rov4- |
Сообщение
#9
|
Гость |
FreeMan,
Спасибо за подсказки, надеюсь, всё получится. |
-rov4- |
Сообщение
#10
|
Гость |
Итак, вот что у меня получилось, но я уверена, что это не правильно. Что ещё надо добавить или исправить?
Код program D_Array; uses tpcrt; const n=4; par=(n*4); type matriz=array[1..n,1..n] of integer; var i,j,a:integer; mas:matriz; im:array[1..par] of integer; procedure vvod(var vmas:matriz); begin clrscr; writeln('‚Вводим элементы массива, размерность [',n,',',n,']'); for i:=1 to n do for j:=1 to n do begin write('Введите элемент [',i,',',j,']='); readln(vmas[i,j]); end; end; procedure print(vmas:matriz); begin writeln('Ваш массив имеет вид.'); for i:=1 to n do begin for j:=1 to n do begin write(' ',vmas[i,j],' '); end; writeln; end; end; begin vvod(mas); {заполняем} print(mas); {выводим на экран} i:=1 to n do for j:=1 to n do if [i,j]>6 then begin writeln('Элементы, большие 6'); readln; end; var im:array[1..par] of integer; begin for i=par downto 1 do begin a[i]:=random(1000); write('Enter mass[',i,']:'); readln(mass[i]); end. Заранее спасибо. |
FreeMan |
Сообщение
#11
|
- Группа: Пользователи Сообщений: 480 Пол: Мужской Репутация: 4 |
1. Откуда такая уверенность???? небось пыталась в компилятор запихать?
2. Пишу прогу(может с ошибками, которые добрые люди исправят) Код program D_Array; uses crt; const n=4; par=(n*4); type matriz=array[1..n,1..n] of integer; var i,j,a:integer; mas:matriz; im:array[1..par] of integer; procedure vvod(var vmas:matriz); begin clrscr; writeln('Вводим элементы массива, размерность [',n,',',n,']'); for i:=1 to n do for j:=1 to n do begin write('Введите элемент [',i,',',j,']='); readln(vmas[i,j]); end; end; procedure print(var vmas:matriz); begin writeln('Ваш массив имеет вид.'); for i:=1 to n do begin for j:=1 to n do begin write(' ',vmas[i,j],' '); end; writeln; end; end; begin vvod(mas); {заполняем} print(mas); {выводим на экран} writeln('Элементы, большие 6'); for i:=1 to n do for j:=1 to n do if mas[i,j]>6 then write(mas[i,j],' '); writeln; readln; for i:=par downto 1 do begin write('Enter im[',i,']: '); readln(im[i]); end; readln; end. -------------------- бб
|
Текстовая версия | 23.12.2024 19:22 |