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

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

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

Автор: Дима 23.12.2006 3:43

требуется сформировать массив, содержаший положительные элементы, расположенные во второй половине (включая середину) исходного массива.(PASCAL)
Подскажите пожайлуста, как мне найти эти элементы (я не прошу решать всю задачу). Как я понимаю это надо делать через функцию mod
заранее благодарен!!!

Автор: volvo 23.12.2006 3:46

For i := n div 2 to n do ...


Если N нечетное - могут потребоваться дополнительные телодвижения...

Автор: Дима 23.12.2006 3:52

а как сделать чтобы он выводил только числа расположенные во второй половине (включая середину)?
Вот мооя прог-а:
PROGRAM N6_4;
const
nmax=10;
var
a,b:array[1..nmax] of real;
na,nb:integer;{число элементов в массивах}
ia,ib:integer;{номер очередного элементов массивов}
begin
repeat
writeln('vvedite chislo elementov ne bolee ',nmax);
readln(na);
if (na<=0) or (na>nmax) then
writeln('Error')
until (na>0) and (na<=nmax);
for ia:=1 to na do
begin
writeln('vvedite ',ia,'-y element');
readln(a[ia]);
end;
nb:=0;
for ia:=1 to na do
if (a[na] div 2)<>0 {and (ia>0)} then
begin
nb:=nb+1;
b[nb]:=a[ia];
end;
writeln('chilo viybrannyh elementov=',nb);
if nb>0 then
begin
write('vibrannie elementi:');
for ib:=1 to nb do
write(' ',b[ib]:6:1);
readln(b[ib]);
writeln;
end; readln;
end.

Автор: volvo 23.12.2006 3:57

Ну, я же показал тебе цикл... При таком цикле как раз и будет просматриваться только вторая половина массива...

Автор: Дима 23.12.2006 4:06

Цитата(volvo @ 22.12.2006 23:57) *


У меня всё равно выдаёт ошибку! Блин, хз?!

Автор: volvo 23.12.2006 4:13

Во-первых, что ты ЭТИМ пытаешься добиться:

a[na] div 2
? Какой это пункт задания?

Ну, а во-вторых, для массива Array ... Of Real оператор DIV просто неприменим - это целочисленное деление...

Автор: Дима 23.12.2006 5:39

этим я хотел разбить массив на 2 части

Автор: мисс_граффити 23.12.2006 15:11

a[na] div 2 

Это работа не с массивом в целом, а с одним элементом.
div - это целочисленное деление, он определен для целых чисели, но не массивов.
как работать только со второй частью массива - volvo показал.
тебе осталось в теле цикла проверять, положительный ли элемент, и если да, записывать в новый массив.