![]() |
1. Заголовок темы должен быть информативным. В противном случае тема удаляется ...
2. Все тексты программ должны помещаться в теги [code=pas] ... [/code].
3. Прежде чем задавать вопрос, см. "FAQ", если там не нашли ответа, воспользуйтесь ПОИСКОМ, возможно такую задачу уже решали!
4. Не предлагайте свои решения на других языках, кроме Паскаля (исключение - только с согласия модератора).
5. НЕ используйте форум для личного общения, все что не относится к обсуждению темы - на PM!
6. Одна тема - один вопрос (задача)
7. Проверяйте программы перед тем, как разместить их на форуме!!!
8. Спрашивайте и отвечайте четко и по существу!!!
![]() |
Guest |
![]()
Сообщение
#1
|
Гость ![]() |
Пожалуйста помогите переделать данную программу в 4 новых проги :molitva:
А именно, нужно: 1. Использовать процедуры с параметрами. 2. Использовать процедуры без параметров. 3. Использовать функции с параметрами. 4. Использовать функции без параметров. Во всех четырёх прогах, необходимо использовать не менее трёх параметров. Суть проги должна остаться той же. Код uses crt; const max_n = 9; var a,b:array[1..max_n,1..max_n] of integer; i,j,n1,n2,error:integer; s: string; x: longint; er: integer; label e1; begin clrscr; gotoxy (3,10); writeln ('Данная программа задаёт матрицу А. После чего создаёт'); gotoxy (57,10); writeln ('новую матрицу B, где '); gotoxy (12,11); writeln ('а) B(i,j) = A(i,j), если A(i,j) > 0'); gotoxy (12,12); writeln ('б) B(i,j) не равно 0, если A(i,j) <= 0'); gotoxy (7,14); writeln ('Элементами матрицы могут быть только целые числа от -32768 до 32767,'); gotoxy (18,15); writeln ('максимальный размер матрицы 9х9!'); gotoxy (18,20); writeln ('Нажмите любую клавишу для продолжения'); readkey; e1: clrscr; repeat write('Введите кол-во строк = '); {$I-} readln(n1); error:=ioresult;{$I+} IF (n1<2) or (n1>max_n) or (error<>0) then writeln ('Кол-во строк от 2 до 9!'); until (n1 >= 2) and (n1<=max_n) and (error=0); repeat write('Введите кол-во столбцов = '); {$I-} readln(n2); error:=ioresult;{$I+} IF (n2<2) or (n2>max_n) or (error<>0) then writeln ('Кол-во столбцов от 2 до 9!'); until (n2 >= 2) and (n2<=max_n) and (error=0); for i := 1 to n1 do for j := 1 to n2 do begin repeat write('a[', i, ',', j, '] = '); Readln(s); val(s, x, er); if (er<>0) or (x < -32768) or (x > maxint) then writeln('Введённый вами символ вне диапозона от -32768 до 32767'); until (x>=-32768) and (x<=maxint) and (er=0); a[i,j] := x; end; for i := 1 to n1 do for j := 1 to n2 do begin if a[i,j] > 0 then b[i,j] := a[i,j] else b[i,j] := 0; end; clrscr; write('Матрица A'); for i := 1 to n1 do begin writeln; for j := 1 to n2 do Write(a[i,j]:7); end; writeln; write('Матрица B'); for i := 1 to n1 do begin writeln; for j := 1 to n2 do Write(b[i,j]:7); end; writeln (''); write('Вы хотите сделать ещё одну матрицу? y/n'); case readkey of #89: goto e1; #121: goto e1; #78: exit; #110: exit; end; end. Пожалуйста помогите. Добавлено Поправка: НЕ "Во всех четырёх прогах, необходимо использовать не менее трёх параметров." А Только в двух прогах, необходимо использовать не менее трёх параметров. В 1 и 3=) |
![]() ![]() |
volvo |
![]()
Сообщение
#2
|
Гость ![]() |
Я же написал:
Код type matrix = array[1..max_n,1..max_n] of integer; Так a и b объяви не так: Код var a,b:array[1..max_n,1..max_n] of integer; а вот так: Код var a,b:matrix; и ошибка исчезнет... :yes: |
![]() ![]() |
![]() |
Текстовая версия | 8.08.2025 13:34 |