![]() |
1. Заголовок темы должен быть информативным. В противном случае тема удаляется ...
2. Все тексты программ должны помещаться в теги [code=pas] ... [/code].
3. Прежде чем задавать вопрос, см. "FAQ", если там не нашли ответа, воспользуйтесь ПОИСКОМ, возможно такую задачу уже решали!
4. Не предлагайте свои решения на других языках, кроме Паскаля (исключение - только с согласия модератора).
5. НЕ используйте форум для личного общения, все что не относится к обсуждению темы - на PM!
6. Одна тема - один вопрос (задача)
7. Проверяйте программы перед тем, как разместить их на форуме!!!
8. Спрашивайте и отвечайте четко и по существу!!!
![]() |
Данила |
![]()
Сообщение
#1
|
Гость ![]() |
Дан массив действительных чисел, размерность которого N. Подсчитать сколько в нём отрицательных, положительных и нулевых элементов.
Даны действительные числа а1,а2,... ,аn. Поменять местами наибольший и наименьший элементы. Даны целые числа а1,а2,... ,аn. Вывести на печать только те числа, для которых выполняется аi <= i. :molitva: |
![]() ![]() |
klem4 |
![]()
Сообщение
#2
|
![]() Perl. Just code it! ![]() ![]() ![]() ![]() ![]() ![]() Группа: Модераторы Сообщений: 4 100 Пол: Мужской Реальное имя: Андрей Репутация: ![]() ![]() ![]() |
1)
Код uses crt; const n=5; var x:array[1..n] of integer; s1,s2,s3:integer; i:integer; Begin clrscr; s1:=0; s2:=0; s3:=0; for i:=1 to n do begin readln(x[i]); if x[i]>0 then inc(s1) else if x[i]<0 then inc(s2) else inc(s3); end; writeln; writeln('"+" ',s1); writeln('"-" ',s2); writeln('"0" ',s3); readln; end. 2) Код uses crt; const n=5; var x:array[1..n] of integer; max,min,t:integer; i:integer; Begin clrscr; for i:=1 to n do readln(x[i]); max:=1; min:=1; for i:=2 to n do begin if x[i]>x[max] then max:=i; if x[i]<x[min] then min:=i; end; writeln; writeln('min',x[min]); writeln('max',x[max]); t:=x[min]; x[min]:=x[max]; x[max]:=t; writeln; for i:=1 to n do writeln(x[i]); readln; End. Все уже решалось по 100 раз, пользуйтесь поиском! -------------------- perl -e 'print for (map{chr(hex)}("4861707079204E6577205965617221"=~/(.{2})/g)), "\n";'
|
Nemo |
![]()
Сообщение
#3
|
Группа: Пользователи Сообщений: 9 Пол: Мужской Репутация: ![]() ![]() ![]() |
По решению первого задания: в целях оптимизации нет смысла в цикле писать:
Код else inc(s3); Это лишние обращения к памяти. Гораздо проще после цикла вычислить: Код s3 := n - s1 - s2; |
klem4 |
![]()
Сообщение
#4
|
![]() Perl. Just code it! ![]() ![]() ![]() ![]() ![]() ![]() Группа: Модераторы Сообщений: 4 100 Пол: Мужской Реальное имя: Андрей Репутация: ![]() ![]() ![]() |
Цитата Это лишние обращения к памяти. Гораздо проще после цикла вычислить: Код s3 := n - s1 - s2; Я не задумывался и мне намного проще было написать Код else inc(s3) Мне кажется в такой маленькой программе это не грает никакой роли. -------------------- perl -e 'print for (map{chr(hex)}("4861707079204E6577205965617221"=~/(.{2})/g)), "\n";'
|
klem4 |
![]()
Сообщение
#5
|
![]() Perl. Just code it! ![]() ![]() ![]() ![]() ![]() ![]() Группа: Модераторы Сообщений: 4 100 Пол: Мужской Реальное имя: Андрей Репутация: ![]() ![]() ![]() |
Если уж на то пошло, то можно обойтись вообще без 3-й переменной :yes:
:low: Код uses crt; const n=5; var x:array[1..n] of integer; s1,s2:integer; i:integer; Begin clrscr; s1:=0; s2:=0; for i:=1 to n do begin readln(x[i]); if x[i]>0 then inc(s1) else if x[i]<0 then inc(s2) end; writeln; writeln('"+" ',s1); writeln('"-" ',s2); writeln('"0" ', n-s1-s2); readln; end. Сообщение отредактировано: klem4 - 30.01.2005 14:05 -------------------- perl -e 'print for (map{chr(hex)}("4861707079204E6577205965617221"=~/(.{2})/g)), "\n";'
|
APAL |
![]()
Сообщение
#6
|
![]() Смотрю... ![]() ![]() ![]() ![]() ![]() Группа: Модераторы Сообщений: 1 055 Пол: Мужской Реальное имя: Пшеничный Алексей Анатольевич Репутация: ![]() ![]() ![]() |
3)
Код Const n=5; ... For i:=1 to n do If m[i]<=i then Writeln(m[i]); ... Сообщение отредактировано: APAL - 30.01.2005 14:25 -------------------- |
![]() ![]() |
![]() |
Текстовая версия | 20.07.2025 19:14 |