![]() |
1. Заголовок темы должен быть информативным. В противном случае тема удаляется ...
2. Все тексты программ должны помещаться в теги [code=pas] ... [/code].
3. Прежде чем задавать вопрос, см. "FAQ", если там не нашли ответа, воспользуйтесь ПОИСКОМ, возможно такую задачу уже решали!
4. Не предлагайте свои решения на других языках, кроме Паскаля (исключение - только с согласия модератора).
5. НЕ используйте форум для личного общения, все что не относится к обсуждению темы - на PM!
6. Одна тема - один вопрос (задача)
7. Проверяйте программы перед тем, как разместить их на форуме!!!
8. Спрашивайте и отвечайте четко и по существу!!!
![]() |
Lesnik |
![]()
Сообщение
#1
|
Новичок ![]() Группа: Пользователи Сообщений: 23 Пол: Мужской Репутация: ![]() ![]() ![]() |
Дан целочисленный массив с кол-вом элементов N. Напечатать те его элементы, индексы которых являются степенью двойки (2,4,8,16 итд)
Код program ggg; uses crt; var mas:array[1..30000] of integer; i,index:integer; begin clrscr; Writeln('Vvedite koli4estvo 4isel'); Readln(n); randomize; for i:=1 to n do begin mas[i]:=random(99); writeln(mas[i],' '); end; index:=2; writeln; writeln('Vivod'); for i:=1 to n do begin if(i=index) then begin index:=index*2; writeln(i,' = ',mas[i]); end; end; readln; end. Как это можно сделать через функцию? Пытался передалать, получилось вот это: Код program COK; uses crt; type mas=array[1..30000]of integer; var a:mas; i,n:integer; Function f(c:mas):integer; var index,i1:integer; begin index:=2; for i1:=1 to n do begin If i=index then begin index:=index*2; writeln(index); end; end; end; begin clrscr; Writeln('Vvedite koli4estvo'); readln(n); For i:=1 to n do begin a[i]:=random(99); end; f(a); end. Но не работает, помогите отредактировать. Спасибо. Сообщение отредактировано: Lesnik - 13.12.2006 21:51 |
![]() ![]() |
Lesnik |
![]()
Сообщение
#2
|
Новичок ![]() Группа: Пользователи Сообщений: 23 Пол: Мужской Репутация: ![]() ![]() ![]() |
Если не тяжело, можете ещё посмотреть задачу?
Сделать надо через процедуру. Дана матрица Аmxn. Исключить строки, содержащие хотябы один нулевой элемент. Код без процедуры: Код Program BAJEHOK; uses crt; var mas:array[1..8,1..8] of real; n,i,j: integer; no_null: boolean; begin clrscr; n:=8; randomize; for i := 1 to n-1 do for j := 1 to n-1 do mas[i, j] := random(10); writeln('Matrix'); writeln; for i := 1 to n-1 do begin for j := 1 to n-1 do write(mas[i, j]:5:0); writeln; end; writeln; writeln('Bez nulei...'); writeln; for i := 1 to n-1 do begin no_null := true; for j := 1 to n-1 do no_null := no_null and (mas[i, j] <> 0); if no_null then begin for j := 1 to n-1 do write(mas[i, j]:5:0); writeln end; end; readln; end. А теперь то убожество, которое я попытался сделать через процедуру: Код Program BAJEHOK; uses crt; type mas=array[1..8,1..8]of integer; var a,b:mas; n,i,j: integer; no_null: boolean; procedure P(c:mas; str,stb:byte;var kol:byte); var i1,j1:integer; begin for i1 := 1 to n-1 do begin no_null := true; for j1 := 1 to n-1 do no_null := no_null and (c[i, j] <> 0); if no_null then begin for j1 := 1 to n-1 do write(c[i, j]); writeln end; end; end; begin clrscr; n:=8; randomize; for i := 1 to n-1 do for j := 1 to n-1 do a[i, j] := random(10); writeln('Matrix'); writeln; for i := 1 to n-1 do begin for j := 1 to n-1 do write(a[i, j]); writeln; end; writeln; writeln('Bez nulei...'); writeln; readln; P({не знаю, что выводить}); end. |
![]() ![]() |
![]() |
Текстовая версия | 18.07.2025 17:19 |