Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > Delphi программирование > Паскаль, Turbo Pascal, PascalABC.NET
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 19.01.2009, 20:59   #1
Deis
Пользователь
 
Регистрация: 15.01.2009
Сообщений: 37
Восклицание Помогите доделать прогу

В одномерном массиве, состоящем из n целых элементов, вычислить:
1) номер максимального элемента массива;
2) произведение элементов массива,
расположенных между первым и вторым нулевыми элементами;
3) Преобразовать массив таким образом, чтобы в первой его
половине располагались элементы, стоявшие в нечетных позициях,
а во второй половине - элементы, стоявшие в четных позициях.

первое я сделал, а вот со вторым и третим напряги, помогите чем сможие!!!

Вот код первого пункта:

Program pr_9;
uses crt;
var max, s: real;
x: array [0..50] of real;
i, l, k, k1, j, n: integer;
begin
clrscr;
write ('vvedite razmernost massiva, n=');
readln (n);
writeln ('vvedite ilementi massiva');
for i:=1 to n do
begin;
write ('x[',i,']= ');
readln (x[i]);
end;
writeln ('Massiv X');
for i:=1 to n do write(x[i]:4:0,' ');
writeln;
max:=x[1];
for i:=1 to n do if max<x[i] then max:=x[i];
writeln ('Maksimalni ilement massiva: ',max:4:0);
l:=0;
k:=0;
for i:=1 to n do
if x[i]>0 then
begin;
if (1<>0) and (k=0) then k:=i;
if l=0 then l:=i;
end;
Deis вне форума Ответить с цитированием
Старый 19.01.2009, 22:06   #2
Sazary
В тени
Старожил
 
Аватар для Sazary
 
Регистрация: 19.12.2008
Сообщений: 5,788
По умолчанию

Встроил остальные задачи в ваш код. Вроде, все работает.
Код:
Program pr_9;
uses crt;
var max, s: real;
x: array [0..50] of real;
i, l, k, k1, j, n: integer;
pr : real;
flag : boolean;

begin
clrscr;
write ('vvedite razmernost massiva, n=');
readln (n);
writeln ('vvedite ilementi massiva');
for i:=1 to n do
  begin;
  write ('x[',i,']= ');
  readln (x[i]);
  end;
writeln ('Massiv X');
for i:=1 to n do write(x[i]:4:0,' ');
writeln;
max:=x[1];
for i:=1 to n do if max<x[i] then max:=x[i];
writeln ('Maksimalni ilement massiva: ',max:4:0);
l:=0;
k:=0;
for i:=1 to n do
if x[i]>0 then
  begin;
  if (1<>0) and (k=0) then k:=i;
  if l=0 then l:=i;
  end;
{------------------------}
{  proizvedenie :   }
flag := false;
pr := 1;
for i:=1 to n do
  begin
   if x[i] = 0 then
     begin
     if not flag then flag := true
     else break;
     end
   else if flag then pr := pr * x[i];
  end;
if flag then writeln('Proizv= ',pr)
else writeln('Net nulevyh elementov');
{--------------------------------}
{ preobrazovanie : }
writeln;
i := 2;
if odd(n) then k:=1
else k := 0;
while true do
  begin
  pr := x[i];
  x[i] := x[n-i+k+1];
  x[n-i+k+1] := pr;
  inc(i,2);
  if i > (n div 2 +k) then break;
  end;

for i:=1 to n do
  write(x[i]:4:0);
writeln;

readln;
end.
Вполне очевидно, чтобы что-то понять, необходимо книги читать.
Не нужно плодить бессмысленных тем. Вас Поиск избавит от многих проблем.

___________________________________ ___________________________________ _______
[=Правила форума=]_____[Поиск]_____[Литература по С++]____[Литература. Паскаль]
Sazary вне форума Ответить с цитированием
Старый 19.01.2009, 22:13   #3
pomoshnic
Форумчанин
 
Аватар для pomoshnic
 
Регистрация: 16.11.2008
Сообщений: 192
По умолчанию

3)
Var a,b:array [1..100] of integer;
I,j,n:integer;
Begin
Readln(n);
{
Randomize
For i:=1 to n do
Begin
a[i]:=random(200)-100;
Write(a[i],' ');
End;
}
J:=1;
For i:=1 to n do
If odd(i) then
Begin
B[j]:=a[i];
Inc(j);
Writeln;
End;
For i:=1 to n do
If not odd(i) then
Begin
B[j]:=a[i];
Inc(j);
End;
For i:=1 to n do write(b[i],' ');
pomoshnic вне форума Ответить с цитированием
Старый 19.01.2009, 22:24   #4
Deis
Пользователь
 
Регистрация: 15.01.2009
Сообщений: 37
По умолчанию

спасибо огромное!!! я малёха подправил ваш код и всё супер!!!
Deis вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Помогите доделать Bay Паскаль, Turbo Pascal, PascalABC.NET 1 05.01.2009 15:01
помогите доделать задачу motaro Фриланс 3 09.06.2008 19:59
Помогите доделать Povar Паскаль, Turbo Pascal, PascalABC.NET 1 16.05.2008 14:43