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

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

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

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

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

Ответ
 
Опции темы Поиск в этой теме
Старый 14.12.2011, 13:00   #1
DarkStalkerus
Новичок
Джуниор
 
Регистрация: 14.12.2011
Сообщений: 1
По умолчанию Из исходного массива заполнить два других массива

Дана задача из исходного массива заполнить два других массива
один четными элементами, а другой нечетными затем из них сформировать массив, в который заполняется сначала четные элементы, а затем нечетные.

Вот часть кода которая отвечает за проверку на четность нечетность:
Код:
program ss;
uses crt;
const n=20;
type mass=array[0..n] of integer;
mass_1=array[0..n] of integer;
mass_2=array[0..n] of integer;
mass_3=array[0..n] of integer;
var
k,i,g,j,z:integer;
A:mass;B:mass_1;C:mass_2;D:mass_3;
otv:0..1;
begin
clrscr;
writeln('Введите количество элементов массива->: ');
read(k);
for i:=1 to k do
         begin
          write('Введите элементы массива->: ');
          read(A[i]);
          end;
clrscr;
writeln('Искодный массив А');
writeln('_________________');
write('(');
for i:=1 to k do write(A[i]:0);
write(')');
writeln('Для продолжения нажмите любую клавишу');
readkey;
for i:=1 to k do
     if (A[i] mod 2=0) and (A[i] in [0..k]) then
                                             Begin
                                              gotoxy(5,5);
                                              writeln('Массив из четных элементов');
                                              for j:=1 to k do
                                                              Begin
                                                                B[j]:=A[i];
                                                                gotoxy(6,6);
                                                                write('(');
                                                                write(B[j]:0);
                                                                write(')');
                                                              end;
                                             end;
                                             for i:=1 to k do 
                                               if (A[i] mod 2<>0) and (A[i] in [0..k] )then 
                                                                                        Begin
                                                                                         gotoxy(7,8);
                                                                                         write('Массив из нечетных элементов');
                                                                                          for g:=1 to k do
                                                                                                          Begin
                                                                                                           C[g]:=A[i];
                                                                                                           gotoxy(8,9);
                                                                                                           write('(');
                                                                                                           write(C[g]:0);
                                                                                                           write(')');
                                                                                                          end;
                                                                                        end;
                                                                                        
writeln('Для продолжения нажмите любую клавишу');
readkey;
end.

Исходный массив A<1 2 3 4 5>
проблема в том, что при выводе результата
получается следущее
два массива
B<4> и C<5>
а должнобыть так
B<2 4> и C<1 3 5>




___________
1) Название темы должно адекватно отражать суть решаемой задачи/проблемы.
На первый раз я исправил.
В дальнейшем темы с подобным названием будут закрываться/удаляться.

2) Код нужно оформлять по правилам:
тегом [CODE]..[/СODE] (это кнопочка с решёточкой #)
Не забывайте об этом!
Модератор.

Последний раз редактировалось Serge_Bliznykov; 14.12.2011 в 13:23.
DarkStalkerus вне форума Ответить с цитированием
Старый 14.12.2011, 14:19   #2
zhan313
Пользователь
 
Регистрация: 09.12.2011
Сообщений: 44
По умолчанию

Координаты вывода одинаковые, write пишет на одно и тоже место. Виден только последний элемент.

Последний раз редактировалось zhan313; 14.12.2011 в 14:29.
zhan313 вне форума Ответить с цитированием
Ответ


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



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
массив из элементов исходного массива jon888 Общие вопросы C/C++ 0 19.05.2011 22:49
Два одномерных массива A и B. Сформировать два новых массива. Паскаль. Где ошибка в коде? Tomny Помощь студентам 1 27.03.2011 16:47
Восстановление исходного массива кот Бегемот Фриланс 17 20.11.2010 13:03
из четных чисел исходного массива сформировать новый массив sanya006 Помощь студентам 3 11.11.2009 19:14
Два одномерных массива,представляющие собой средние значения строк и столбцов исходного. Делфи 3 <DimonM@n> Помощь студентам 2 23.11.2008 21:51