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

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

Вернуться   Форум программистов > C/C++ программирование > Общие вопросы C/C++
Регистрация

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

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

Ответ
 
Опции темы Поиск в этой теме
Старый 14.02.2016, 17:09   #1
Lolopop12
Пользователь
 
Регистрация: 21.01.2016
Сообщений: 23
По умолчанию Вывести сначала элементы массива с четными номерами, а затем - с нечетными номерами

Дан массив А размера N.Вывести вначале его элементы с четными номерами(в порядке возрастания номеров),а затем-элементы с нечетными номерами(также в порядке возрастания номеров):
A2,A4,A6,...,A1,A3,A5,... .
Условный оператор не использовать.

На языке Pascal'e
Код:
program chetn;
var
A:array [1..100] of integer;
N, i:integer;
begin
write('kol-vo elementov:');
readln(N);
writeln('elementy:');
for i:=1 to N do
read(A[i]);
writeln('chetnie elementy');
for i:=1 to N do
begin
i:=i+1;
write(A[i], ' ');
end;
readln;
readln;
end.
Lolopop12 вне форума Ответить с цитированием
Старый 14.02.2016, 17:32   #2
Аватар
Старожил
 
Аватар для Аватар
 
Регистрация: 17.11.2010
Сообщений: 18,922
По умолчанию

Код:
i:=2;
while i<=N do begin
  write(A[i], ' ');
  Inc(i,2);
end;
аналогично для нечетных, начиная с i:=1

C/C++ при чем?
Если бы архитекторы строили здания так, как программисты пишут программы, то первый залетевший дятел разрушил бы цивилизацию
Аватар вне форума Ответить с цитированием
Старый 14.02.2016, 18:08   #3
Lolopop12
Пользователь
 
Регистрация: 21.01.2016
Сообщений: 23
По умолчанию

Цитата:
Сообщение от Аватар Посмотреть сообщение
Код:
i:=2;
while i<=N do begin
  write(A[i], ' ');
  Inc(i,2);
end;
аналогично для нечетных, начиная с i:=1

C/C++ при чем?
Нужно перевести на C++
Перерыл интернет, нашел такое. Теперь как полностью собрать рабочую программу?
Код:

for (int i = 1; i < n; i += 2) // выводим чётные
for (int i = 0; i < n; i += 2) // выводим нечётные
Lolopop12 вне форума Ответить с цитированием
Старый 14.02.2016, 19:21   #4
Lolopop12
Пользователь
 
Регистрация: 21.01.2016
Сообщений: 23
По умолчанию

#include <iostream>
#include <iterator>
#include <array>
#include <algorithm>
using namespace std;

int main()
{
const int n = 10;
array<int,n> arr = {1,2,3,4,5,6,7,8,9,1};
int i = 0;
stable_partition(arr.begin(),arr.en d(),[&i] (int n) {
++i;
return !((i-1) % 2);
});
copy(arr.begin(),arr.end(),ostream_ iterator<int>(cout," "));
}
Тему можно закрывать
Lolopop12 вне форума Ответить с цитированием
Старый 15.02.2016, 22:21   #5
vvmcpp
Форумчанин
 
Аватар для vvmcpp
 
Регистрация: 11.12.2010
Сообщений: 116
По умолчанию

Цитата:
Сообщение от Lolopop12 Посмотреть сообщение
#include <iostream>
#include <iterator>
#include <array>
#include <algorithm>
using namespace std;

int main()
{
const int n = 10;
array<int,n> arr = {1,2,3,4,5,6,7,8,9,1};
int i = 0;
stable_partition(arr.begin(),arr.en d(),[&i] (int n) {
++i;
return !((i-1) % 2);
});
copy(arr.begin(),arr.end(),ostream_ iterator<int>(cout," "));
}
Тему можно закрывать
Ваш код выводит 1 3 5 7 9 2 4 6 8 1
Получилось что вывелись сначала нечетные, потом четные, и 1 в конце.
vvmcpp вне форума Ответить с цитированием
Старый 15.02.2016, 23:02   #6
Аватар
Старожил
 
Аватар для Аватар
 
Регистрация: 17.11.2010
Сообщений: 18,922
По умолчанию

Цитата:
Получилось что вывелись сначала нечетные, потом четные, и 1 в конце.
Речь то о четности индексов, а не значений.
Если бы архитекторы строили здания так, как программисты пишут программы, то первый залетевший дятел разрушил бы цивилизацию
Аватар вне форума Ответить с цитированием
Старый 22.02.2016, 02:02   #7
vvmcpp
Форумчанин
 
Аватар для vvmcpp
 
Регистрация: 11.12.2010
Сообщений: 116
По умолчанию

Мне понравилось решение.
А можете поподробней рассказать что это:
Цитата:
Сообщение от Lolopop12 Посмотреть сообщение
stable_partition(arr.begin(),arr.en d(),[&i] (int n) {
++i;
return !((i-1) % 2);
});
vvmcpp вне форума Ответить с цитированием
Ответ


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



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
задание по Scilab.Определить сумму элементов последовательности с нечетными и элементов с четными порядковыми номерами. irekgaysin Помощь студентам 0 18.01.2014 11:10
Продублировать в массиве элементы с четными номерами morfei74 Общие вопросы C/C++ 1 14.01.2013 10:18
Отсортировать по убыванию элементы массива с нечетными номерами методом выбора 95% Помощь студентам 0 07.01.2013 16:50
Вычислить произведение элементов массива с четными номерами. Кулибаба Петро C++ Builder 3 11.12.2012 22:24
Одномерный массив. Заменить элементы с нечетными номерами на квадраты их номеров кумитэ Паскаль, Turbo Pascal, PascalABC.NET 2 18.12.2011 00:57