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

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

Вернуться   Форум программистов > IT форум > Помощь студентам
Регистрация

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

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

Ответ
 
Опции темы Поиск в этой теме
Старый 06.05.2011, 08:23   #1
Bonni
 
Регистрация: 05.05.2011
Сообщений: 3
По умолчанию Задача на языке Pascal, с массивами

Задача: из заданного массива создать два: в одном четные, в другом нечетные элементы данного массива.
Исправьте ошибки, их тут наверно много:
Код:
program dacha19;
var a,i: integer;
     b,x,y:array [1..1000] of integer;
begin
randomize;
writeln('vvedite luboe chislo');
readln(a);
for i:=1 to a do begin
                     b[i]:=random(100);
                     write(b[i],' ');
                     end;
for i:=1 to a do begin
                      if b[i]mod 2 =0 then begin
                                                  x[i1]=b[i];
                                                  i1:=i1+1;
                                                  end;
                      else begin
                            y[i2]=b[i];
                            i2:=i2+1;
                            end;
                       end;
write(b[i],' ');
end.
Bonni вне форума Ответить с цитированием
Старый 06.05.2011, 08:25   #2
Stilet
Белик Виталий :)
Старожил
 
Аватар для Stilet
 
Регистрация: 23.07.2007
Сообщений: 57,097
По умолчанию

Я ошибок не вижу... По-моему вполне работоспособная программа. Компилируй и запускай.
I'm learning to live...
Stilet вне форума Ответить с цитированием
Старый 06.05.2011, 08:27   #3
Bonni
 
Регистрация: 05.05.2011
Сообщений: 3
По умолчанию

нет, не компилируется. может вывожу на экран неправильно( у меня free pascal). Я не знаю как выводить в конце два массива- ни разу два не выводила.

Последний раз редактировалось Bonni; 06.05.2011 в 08:49.
Bonni вне форума Ответить с цитированием
Старый 06.05.2011, 10:30   #4
Danko
Пользователь
 
Регистрация: 20.04.2011
Сообщений: 13
По умолчанию

Ошибки, конечно, есть:
1)Переменные i1 и i2 у вас не объявлены;
2)Перед "else" точка с запятой не ставится.
3)При присвоении числа элементу массива ставится так же ":=", а не просто "=".
Массивы выводятся на экран так же, как и заполняются, т.е:
Код:
for i:=1 to i1-1 do
write(x[i],' ');
writeln;
for i:=1 to i2-1 do
write(y[i],' ');
И еще, когда вы объявите в переменных i1 и i2, присвойте обоим переменным единицы, иначе у вас будет выход за границы массива.
Danko вне форума Ответить с цитированием
Старый 06.05.2011, 10:39   #5
GetMax
Форумчанин
 
Регистрация: 21.10.2010
Сообщений: 588
По умолчанию

Код:
for i:=1 to a do begin
                      if b[i]mod 2 =0 then begin
                                                  x[i1]=b[i];
                                                  i1:=i1+1;
                                                  end;
                      else begin
                            y[i2]=b[i];
                            i2:=i2+1;
                            end;
                       end;
write(b[i],' ');
А зачем вы второй раз выводите элементы исходного массива? Вам нужно вывести два новых массива:с четными и нечетными элементами. Для этого лучше всего организовать два новых цикла(один для вывода массива четных, другой - для нечетных). Кроме того в вашем коде есть и другие ошибки. Вообщем вот:
Код:
i1:=0;
i2:=0;
for i:=1 to a do
begin
  if b[i] mod 2 = 0 then
  begin
    i1:=i1+1;
    x[i1]:=b[i];
  end
  Else
  begin
    i2:=i2+1;
    y[i2]:=b[i];
  end;
end;
Writeln;
If i1 > 0 then
For i:=1 to i1 do Write(x[i]:3);
Else Writeln('Chetnye elementy ne naydeni');
Writeln;
If i2 > 0 then
For i:=1 to i2 do Write(y[i]:3)
Else Writeln('Nechetnye elementy ne naydeny');
Readln
End.
Пользователь не знает, чего он хочет, пока не увидит то, что он получил.
Для благодарностей WMR R145235935681
GetMax вне форума Ответить с цитированием
Ответ


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



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Задача на языке Pascal, с массивом Bonni Помощь студентам 1 05.05.2011 19:45
Задача на языке Pascal...что не правильно? PaScalpel Помощь студентам 2 01.10.2010 14:06
Задача на языке С++ varlonec Помощь студентам 11 16.12.2009 15:47
Задача на языке Pascal. Рекурсия. (FainT) Помощь студентам 6 23.05.2009 15:45
Формула на языке Pascal ViNcHeStEr Помощь студентам 9 03.07.2008 14:32