Показать сообщение отдельно
Старый 11.11.2010, 17:29   #5 (permalink)
Vladimir_S
Специалист
 
Регистрация: 27.08.2008
Адрес: Санкт-Петербург
Сообщений: 27,807
Сказал(а) спасибо: 340
Поблагодарили 583 раз(а) в 208 сообщениях
Репутация: 113184
По умолчанию

Цитата:
Сообщение от IvaIlga Посмотреть сообщение
Сейчас напечатаю ее код, объясните,пожалуйста в чем я запуталась?
Так, ну, прежде всего, это уже совсем иной разговор, куда более содержательный, чем "напишите мне прогу...". В такой ситуации - поможем с удовольствием.
А запутались Вы очень много где.
1. С точки зрения Паскаля, n и N - это один и тот же идентификатор, а у Вас он дублируется (константа и имя третьего массива). Недопустимо.
2. Индексы массивов при их (массивов) описании должны задаваться либо явно в виде чисел, либо через константы, третьего не дано. А Вы пытаетесь их описать с использованием переменных (h и p), да еще и до присвоения этим переменным каких бы то ни было значений! Никуда не годится.
3. Опять таки, Вы пытаетесь присвоить значения элементам новых массивов C(v) и N(t) какие-то значения, не присвоив никаких значений индексам v и t. Как же так?

С учетом этого и еще там по мелочи выкладываю свой вариант программы, естественно, оттестированный и рабочий. Попробуйте разобраться:
Код:
program Massiv;
const
 nn=4;
var
 i:integer;
 h,p: byte;
 M,C,N:array[1..nn] of integer;
begin
 for i:=1 to nn do
  begin
   Write('M[',i,']= ');
   readln(M[i]);
  end;
 h:=0;
 p:=0;
 for i:=1 to nn do
  begin
   if i mod 2 =0 then
    begin
     h:=h+1;
     C[h]:=M[i];
    end
   else
    begin
     p:=p+1;
     N[p]:=M[i];
    end;
  end;
 Writeln;
 For i:=1 to nn do
  write(M[i],' ');
 Writeln;
 For i:=1 to h do
  write(C[i],' ');
 Writeln;
 For i:=1 to p do
  write(N[i],' ');
 Writeln;
 readln;
end.
Удачи!
Vladimir_S вне форума   Ответить с цитированием
Ads

Яндекс

Member
 
Регистрация: 31.10.2006
Сообщений: 40200
Записей в дневнике: 0
Сказал(а) спасибо: 0
Поблагодарили 0 раз(а) в 0 сообщениях
Репутация: 55070