Помощь - Поиск - Пользователи - Календарь
Полная версия: Одномерные массив
Форум «Всё о Паскале» > Pascal, Object Pascal > Задачи
itGarD
Задача
Дан массив целых чисел. Сформировать 2 новых массива.
Первый содержит все числа, которые больше среднего арифметического исходного массива и стоят на четных позициях,а второй - все числа, которые меньше среднего арифметического исходного массива и стоят на нечетных позициях.
Вот что получилось, но получилось не совсем то что нужно.
Код

uses crt;
const
n=10;
type a=array[1..n] of integer;
var
mas, mas1, mas2: a;
f,k,i,m,g: integer;
l:real;
begin
clrscr;
  randomize;
   for i:=1 to n do
     begin
       mas[i]:=random(30);
       write(' ',mas[i]);
     end;
   for i:=1 to n do
     begin
       k:=k+mas[i];
       l:=k/n;
     end;
     writeln(' Summa: ',l:1:1);

     for i:=1 to n do
       if i mod 2=0 then
         for f:=1 to n do
           begin
             if mas[i]>l then
               mas1[f]:=mas[i];
           end;
       for f:=1 to n do begin
         write(' ',mas1[f]);
       end;

     for i:=1 to n do
       if i mod 2<>0 then
         for g:=1 to n do
           begin
             if mas[i]<l then
               mas2[g]:=mas[i];
           end;
       for f:=1 to n do begin
         write(' ',mas2[g]);
       end;

readln;
end.
volvo
Первый массив заполняешь вот так:
     m := 0;
for i:=1 to n do
if (mas[i] > L) and (i mod 2 = 0) then begin
m := m + 1; mas1[m] := mas[i];
end;
for i:=1 to m do begin
write(' ',mas1[i]);
end;

, второй - по аналогии (подставь нужные условия)...
compiler
Цитата(volvo @ 13.05.2007 15:40) *
Первый массив заполняешь вот так: for i:=1 to n do
volvo, а можно ли тут использовать while i<n do ... inc(i,2); ... end; , ведь тогда мы не проверяем лишнии элементы..

у меня получилось так(с одним массивом) Нажмите для просмотра прикрепленного файла...
volvo
Если поменять местами два условия, т.е. сделать вот так:
if (i mod 2 = 0) and (mas[i] > L) then begin
...
, то при нечетном i значение mas[i] тоже не будет сравниваться с L...

Можно и с While, это уже по желанию автора...
itGarD
Спаисбо большое.!! smile.gif
Это текстовая версия — только основной контент. Для просмотра полной версии этой страницы, пожалуйста, нажмите сюда.