![]() |
1. Заголовок темы должен быть информативным. В противном случае тема удаляется ...
2. Все тексты программ должны помещаться в теги [code=pas] ... [/code].
3. Прежде чем задавать вопрос, см. "FAQ", если там не нашли ответа, воспользуйтесь ПОИСКОМ, возможно такую задачу уже решали!
4. Не предлагайте свои решения на других языках, кроме Паскаля (исключение - только с согласия модератора).
5. НЕ используйте форум для личного общения, все что не относится к обсуждению темы - на PM!
6. Одна тема - один вопрос (задача)
7. Проверяйте программы перед тем, как разместить их на форуме!!!
8. Спрашивайте и отвечайте четко и по существу!!!
![]() |
Домовой |
![]()
Сообщение
#1
|
Новичок ![]() Группа: Пользователи Сообщений: 23 Пол: Мужской Репутация: ![]() ![]() ![]() |
Здравствуйте.
У меня такое задание: Дан одномерный массив A. Сформировать на его основе 2 одномерных массива B и C таким образом, чтобы в B входили четные элементы с первой половины массива А, а в массив C - нечетные элементы со второй половины массива А. Вроде задание то и не очень сложное, вроде все написал... но почему-то ошибка, помогите пожалуйста. Код program massive_2_5; CONST from=1; exit=10; half=exit DIV 2; var mass: ARRAY [from..exit] OF INTEGER; {Главный массив} b: ARRAY [from..half] OF INTEGER; {Массив B} c: ARRAY [half..exit] OF INTEGER; {массив C} i, context, fm, posb, posc: byte; begin fm:=1; writeln('‚ўҐ¤ЁвҐ ', exit, ' § 票© ¬ ббЁў : '); {сообщение чтобы пользователь ввел значение главного массива} for i:=from TO exit DO begin readln(context); mass[i]:=context; end; posb:=1; for i:=from TO (exit DIV 2) DO {Пробегаемся по первой половине главного массива} begin if (mass[i] MOD 2)=0 then {Если его элементы делятся на 2 без остатка} begin b[posb]:=mass[i]; {То сохраняем его в массив B} posb:=posb+1; {И добавляем индекс} end; end; posc:=1; for i:=((exit DIV 2)+1) TO exit DO {Тоже самое и с C} begin if (mass[i] MOD 2)<>0 then begin c[posc]:=mass[i]; posc:=posc+1; end; end; {Вывод результата, пока только B} writeln; writeln('Њ ббЁў B: '); for i:=from to half DO begin write(b[i], ' '); end; writeln; writeln(b[2]); readln; end. Но е-мое ![]() Ведь массивы записываются неверно! Ну, я в плане - когда берешься его показать - выдается правильно только перый элемент массива, а другие - беспоряждочно и не удовлетворяют условию. Причем я проверил тока массив B ![]() Пробовал ставить, при проверке, что-то вроде writeln в смысле "if (mass[i] MOD 2)=0 then" и писать просто результат - работает ведь! Подскажите, в чем проблема, буду признаетелен )) |
![]() ![]() |
![]() |
Текстовая версия | 29.07.2025 16:16 |