Форум программистов, компьютерный форум, киберфорум
Наши страницы

С++ для начинающих

Войти
Регистрация
Восстановить пароль
 
XlorD59
1 / 1 / 0
Регистрация: 28.05.2013
Сообщений: 50
#1

Разделение одномерного массива - C++

01.06.2013, 22:28. Просмотров 764. Ответов 3
Метки нет (Все метки)

Как разделить одномерный массив из случайного количества элементов на пары чисел?
На вход подаётся количество элементов.

Т.е. предположим, что есть массив из 10 элементов - следовательно на выходе должно получится 5 пар элементов.
Создавать для каждой пары отдельный массив? Создание массивов в цикле вообще реализуемо? И не займет ли это очень много памяти?
Или использовать какую-то рекурсивную функцию, вызывающую саму себя?
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
01.06.2013, 22:28
Здравствуйте! Я подобрал для вас темы с ответами на вопрос Разделение одномерного массива (C++):

разделение массива - C++
как разделить массив помогите пожалуйста

Как вычесть из каждого элемента одномерного массива каждый элемент другого массива - C++
Есть два одинаковых динамически заданных одномерных массива, число их элементов задается пользователем. из каждого элемента первого массива...

Найти столбец массива с наибольшей суммой элементов и записатьегох в виде одномерного массива - C++
1 Для произвольного двумерного массива найти столбец с наибольшей суммой элементов и записать их в виде одномерного массива.

Функция, которая удаляет из целочисленного одномерного массива все, и возвращает новый размер массива - C++
Разработать и испытать функцию, которая удаляет из целочисленного одномерного массива все, и возвращает новый размер массива. #include...

Метод-член класса для создания одномерного массива из отрицательных элементов двумерного динамического массива - C++
Помогите, пожалуйста, нужно разработать метод-член класса для создания одномерного массива из отрицательных элементов двумерного...

Переставить значение элементов заданного одномерного массива, так чтобы все нулевые оказались в конце массива - C++
А не нулевые в начале, не нарушая порядок, в котором они были

3
l2ded
80 / 68 / 11
Регистрация: 10.05.2011
Сообщений: 284
02.06.2013, 01:36 #2
C++
1
2
3
for(int i=0;i<count;i++)
if (i%2) std::cout<<a[i]<<std::endl;
else std::cout<<a[i];
НЕ?

Цитата Сообщение от XlorD59 Посмотреть сообщение
Создавать для каждой пары отдельный массив?
Чем плох один двумерный массив? (M x 2), где М - кол-во пар
1
XlorD59
1 / 1 / 0
Регистрация: 28.05.2013
Сообщений: 50
02.06.2013, 13:30  [ТС] #3
l2ded, а можно с комментариями?
С первой то строчкой всё понятно, а остальное? Я не силён в с++ просто.

Чем плох один двумерный массив? (M x 2), где М - кол-во пар
Дело в том, что в изначальном массиве кол-во элементов может быть нечётным. Т.е. одна пара в итоге будет неполная. Это как в двумерный массив записать тогда?
0
l2ded
80 / 68 / 11
Регистрация: 10.05.2011
Сообщений: 284
02.06.2013, 20:04 #4
Цитата Сообщение от XlorD59 Посмотреть сообщение
Дело в том, что в изначальном массиве кол-во элементов может быть нечётным. Т.е. одна пара в итоге будет неполная. Это как в двумерный массив записать тогда?
И что?
C++
1
M=(count % 2)? (count/2+1) : (count/2);
и потом выделяешь память


Один из вариантов:
1) C выводом
C
1
2
3
4
5
6
7
8
9
10
11
    for(i=0,k=0;i<M-1;i++,k+=2){
            MASSIV[i][0]=A[k];MASSIV[i][1]=A[k+1];
            cout<<MASSIV[i][0];cout<<MASSIV[i][1];cout<<endl;
        }
 
    if (count % 2) {
         MASSIV[i][0]=A[k]; cout<<MASSIV[i][0];cout<<endl; }   
    else {
    MASSIV[i][0]=A[k]; MASSIV[i][1]=A[k+1];
    cout<<MASSIV[i][0];cout<<MASSIV[i][1];cout<<endl;
    }
2) Без вывода
C
1
2
3
for(i=0,k=0;i<M-1;i++,k+=2){MASSIV[i][0]=A[k];MASSIV[i][1]=A[k+1];}
if (count % 2) MASSIV[i][0]=A[k];   
else {MASSIV[i][0]=A[k]; MASSIV[i][1]=A[k+1];}
где
A - массив из случайных чисел.
MASSIV - массив из пар чисел.
k - индекс массива A;
i - номер пары.
count - кол-во элементов массива A; A[count]
M - кол-во пар массива MASSIV; MASSIV[M][2]

просто придётся всегда использовать if (count % 2) и рассматривать 2 случая окончания массива.
1
02.06.2013, 20:04
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
02.06.2013, 20:04
Привет! Вот еще темы с ответами:

Разделение массива и сортировка каждой части методом пузырька - C++
Помогите решить пример: Имеется массив целых чисел большого размера. Требуется разделить этот массив на части (не выделяя их в отдельный...

Составить программу сортировки одномерного числового массива от начала массива к элементу с заданным номером по убыванию (методом выбора) - C++
Помогите составить программу на С++. Заданный номер - 28.

Заменить все элементы массива, попадающие в интервал, нулем. Выполнить двумя способами: с помощью одномерного и двумерного массива. - C++
Всем доброго времени суток. Заменить все элементы,попадающие в интервал ,нулем.Выполнить двумя способами,с помощью одномерного и...

Заполнение одномерного массива - C++
Всем привет Имеется RGB массив uint16_t...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
4
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.