Версия для печати темы

Нажмите сюда для просмотра этой темы в обычном формате

Форум «Всё о Паскале» _ Задачи _ Нечетное место

Автор: Gl00M 1.10.2006 18:31

Опять массивы.. smile.gif
Как определить, что элемент массива стоит на нечетном месте (т.е. i=1,3,5...)?

Автор: forMator 1.10.2006 19:06

Я бы определил это следующим образом:

Код

if i mod 2 <> 0 then

И после then то что тебе нужно. Элементы будут стоять как раз на нечетном месте.
mod-это остаток от целого деления.

Автор: klem4 1.10.2006 19:09

Еще есть ф-я odd(i), она возвращает true, если i - _не_четное.

А вообще, елси тебе надо в массиве работать только с четными/нечетными элементами, чтобы не делать лишних проверок, используй цикл while (например) с шагом 2.

Автор: Gl00M 1.10.2006 19:48

Вот я создаю программу:

 uses crt;
const n=15;
var a:array[1..n] of integer;
i:word;
Begin
clrscr;
randomize;
For i:=1 to n do begin
a[i]:=50-random(100);
write(a[i]:5);
end;
writeln;
For i:=1 to n do begin
if i mod 2<>0 then a[i]:=sqr(a[i]); { <--- }
write(a[i]:5);
end;
readln;
End.

... и способ forMator'а не прокатывает... sad.gif

Автор: volvo 1.10.2006 19:51

Gl00M, глаза наверх подними:

Цитата(Правила Раздела)
5. Самое главное - это раздел теоретический, т.е. никаких задач и программ - для этого есть отдельный раздел!


Теоретически тебе подсказали, что делать. Не получается практически - я перенесу тему в Задачи... НО!!! В следующий раз, если ты на 100% уверен, что после подсказки у тебя ВСЕ РАВНО не получится - создавай ее в "Задачах" сразу!

Автор: Gl00M 1.10.2006 19:54

Хорошо. Перенисе в задачи. а код я выложил для примера, чтобы посмотрели для наглядности... smile.gif

Автор: volvo 2.10.2006 2:53

uses crt;

const
n = 15;

var
a: array[1..n] of integer;
i: word;

begin
clrscr;
randomize;
for i := 1 to n do begin
a[i]:= 50 - random(100);
write(a[i]:5);
end;
writeln;

for i := 1 to n do begin
if odd(i) then a[i] := sqr(a[i]);
write(a[i]:5);
end;
readln;
end.
Что именно не работает?

Автор: Gl00M 2.10.2006 2:58

volvo, спасибо! Я уже решил так же.. smile.gif