В массиве Т(25) сделать все четные числа отрицательными, а для не четных подсчитать количество и сумму! как? и чего с этим делать непойму(!
Артемий
22.12.2007 21:23
Покажи что пробовал.
TeRmInWeB
23.12.2007 3:34
в том то и дело я незнаю как его написать надо свой массив создать а как? незнаю
мисс_граффити
23.12.2007 4:30
ну например так (заполняется случайными числами):
var T: array [1..25] of integer; i: integer; begin randomize; for i:=1 to 25 do T[i]:=random(10); end.
Тёмный Эльф
23.12.2007 6:11
Цитата(TeRmInWeB)
В массиве Т(25) сделать все четные числа отрицательными
Узнать четное ли число можно с помощью операции mod (взятие остатка от деления). И если возвращаемое значение 0, значит, число четное. После этого просто делаем это число отрицательным.
for i:=1 to 25 do begin if ((massiv[i] mod 2) = 0) then a[i]:=-a[i]; end;
andriano
23.12.2007 16:06
Вообще-то в Паскале специально для проверки на четность существует функция Odd. Можно, конечно, то же самое делать посредством арифметических (как предложено в предыдущем посте) или логических (MyOdd := boolean(MyNumber and 1);), но для наглядности кода применение специально для этого предназначенных функций выглядит явно предпочтительнее.
TeRmInWeB
23.12.2007 16:12
Спасибо огромнейшее я попробую) не правдо спс что ответили)
Зюзюка
23.12.2007 16:15
Если все объеденить выше сказанное получится чтото типа этого =)
Код
program m; const n=25; var mas: array [1..n] of integer; i,sum,kol: integer; begin randomize; for i:=1 to n do begin mas[i]:=random(10); end; sum:=0; kol:=0; for i:=1 to n do begin write(mas[i],' '); end; readln; for i:=1 to n do begin if ((mas[i] mod 2) = 0) then begin mas[i]:=-mas[i]; end else begin sum:=sum+mas[i]; kol:=kol+1; end; end; for i:=1 to n do begin write(mas[i],' '); end; readln; writeln(sum); writeln(kol); readln; end.
TeRmInWeB
23.12.2007 16:18
Блин народ супер уже начал писать обязательно попробую все предложенное)))
volvo
23.12.2007 16:23
Зюзюка, а вот теперь запусти свою программу. Мне интересно, сколько времени тебе понадобится, чтобы понять, что собственно происходит, и ПОЧЕМУ получается не то, что задумано, а то, что на экране
Зюзюка
23.12.2007 16:27
Незнаю, т.к у меян даже паскале нету
TeRmInWeB
23.12.2007 16:37
Я написал комплит вроде работает ошибок нет но сама прога неработает нажимаю ран а нечего не происходит? может правдо я чегот не дописал там
Client
23.12.2007 16:41
RadKey или Readln в конце поставил?
Зюзюка
23.12.2007 16:45
Так как объединял 2 несвоих кода конечно же были ошибки из за того что в середине программы стоял end. =). Исправил
TeRmInWeB
23.12.2007 16:57
сейчас погодите исправлю а то чегот 2 раза переписал а прога-зараза нереагирует)
Добавлено через 18 мин. короче прога заработала )! так появились надписи Т.П ver 7.1 и чисел куча и я допустим ввожу там -6 она мне выдаёт числа -474 -874378 -455 -94884 и вконце -6)) вроде норм) а?) главно что работает прогресс есть)
TeRmInWeB
23.12.2007 17:48
народ а как сделать чтоб массив не автоматом задавался а вручную? чего прописать надо?
Тёмный Эльф
23.12.2007 18:07
Цитата(TeRmInWeB @ 23.12.2007 13:48)
народ а как сделать чтоб массив не автоматом задавался а вручную? чего прописать надо?
Например вместо
randomize; for i:=1 to n do begin mas[i]:=random(10); end;
написать
for i:=1 to n do begin read(mas[i]); end;
TeRmInWeB
23.12.2007 18:08
спс сейчас напишу
Добавлено через 4 мин. отлично работает)))
Добавлено через 3 мин. единственное то что каждый раз как я её запускаю всё что я там раньше решал она сохраняет мнеб нужно чтоб она каждый запуск в чистом окне делала без предыдущих записей...
Тёмный Эльф
23.12.2007 18:26
Цитата
мне нужно чтоб она каждый запуск в чистом окне делала без предыдущих записей...
для это надо так: USES CRT; (перед var) в начале программы сразу после begin можно: clrscr
compiler
23.12.2007 18:30
Цитата
отлично работает)))
исправил ошибку Зюзюки или комипилируется и хорошо? подсказка: сделай отступы и увидь блоки
Цитата
единственное то что каждый раз как я её запускаю всё что я там раньше решал она сохраняет мнеб нужно чтоб она каждый запуск в чистом окне делала без предыдущих записей...
Процедура ClrScr, из модуля Crt тебе в помощь!
TeRmInWeB
23.12.2007 18:31
Тёмный Эльф спасиб сейчас напишу) а то уже места нету всё пространство паскаль занял)
TeRmInWeB
23.12.2007 19:09
блин я и uses crt и clrscr попробовал а ошибка почему то? я во всех бегинах попробовал.
Client
23.12.2007 19:10
Покажи полностью код, чтоб увидели (мы не телепаты )
TeRmInWeB
23.12.2007 19:26
program m; const n=25; var mas: array [1..n] of integer; i,sum,kol: integer; begin randomize; for i:=1 to n do begin read (mas[i]); end; sum:=0; kol:=0; for i:=1 to n do begin write(mas[i],' '); end; readln; for i:=1 to n do begin if ((mas[i] mod 2) = 0) then begin mas[i]:=-mas[i]; end else begin sum:=sum+mas[i]; kol:=kol+1; end; end; for i:=1 to n do begin write(mas[i],' '); end; readln; writeln(sum); writeln(kol); readln; end.
Добавлено через 9 мин. вот там я пробовал uses crt но ошибки выдаёт.
Client
23.12.2007 20:07
program m; uses crt; . . . begin clrscr; . . .
А так не пробовал??
TeRmInWeB
23.12.2007 20:11
сейчас попробую)
Добавлено через 10 мин. Зашибись СУУУпер все 100% работает спс всем кто помагал!!!!!!!!!!!
Это текстовая версия — только основной контент. Для просмотра полной версии этой страницы, пожалуйста, нажмите сюда.