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

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

Войти
Регистрация
Восстановить пароль
 
gogaloh
11 / 12 / 0
Регистрация: 14.03.2015
Сообщений: 533
#1

Разделить массив на 4 части - C++

17.01.2016, 15:50. Просмотров 681. Ответов 3
Метки нет (Все метки)

Прошу прощения за глупую просьбу, подскажите пожалуйста как разбить массив допустим из 40 элементов на 4 массива по 10 элементов.
Свои попытки увели меня в такие дебри, что вспоминать стыдно.
Сразу скажу, что получив Ваш ответ удивлюсь как это просто, но сам додуматься не могу.
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
17.01.2016, 15:50
Здравствуйте! Я подобрал для вас темы с ответами на вопрос Разделить массив на 4 части (C++):

Разделить массив на две части - C++
Помогите с решением задачи. Условие вот такое "дан массив целых чисел, лежащих в диапазоне , размерность массива - 10. Разделить массив на...

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

Разделить строку по пробелам и записать полученные части в массив - C++
Здравствуйте. Подскажите, есть ли способ разделить строку по пробелам и записать полученные части в массив (по сути, аналог Split() в c#)?

Разделить строку на части - C++
Доброго времени суток. Имеется строка: char *pBuf=new char; заполняется она таким образом: int...

разделить число на 2 части - C++
как разделить число на 2 части вот у меня есть число в int : 445219 Я точно знаю что у меня с 6 чисел... и как мне разделить их в...

C++ разделить исходник на части - C++
вопрос новичка посоветуйте, как это можно сделать (ни разу не делал) есть файл 1.cpp в котором много повторяющегося кода для...

3
GbaLog-
Любитель чаепитий
3074 / 1413 / 341
Регистрация: 24.08.2014
Сообщений: 5,016
Записей в блоге: 1
Завершенные тесты: 2
17.01.2016, 15:58 #2
gogaloh,
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
#include <iostream>
#include <array>
#include <random>
#include <ctime>
 
using namespace std;
 
int main() {
    mt19937 gen(time(nullptr));
    uniform_int_distribution<int> dist(-100,100);
    const int n = 40;
    array<int,n> g_arr = {0};
    array<int,n/4> arr1 = {0};
    array<int,n/4> arr2 = {0};
    array<int,n/4> arr3 = {0};
    array<int,n/4> arr4 = {0};
    
    for( auto& i : g_arr )
        i = dist(gen);
    for(int i = 0; i < n/4; i++ ) {
        arr1[i] = g_arr[i];
        arr2[i] = g_arr[n-10+i];
        arr3[i] = g_arr[n-20+i];
        arr4[i] = g_arr[n-30+i];
    }
}
Вот так что ли?
0
antonboom
bmstu-team
301 / 136 / 56
Регистрация: 10.01.2012
Сообщений: 420
Записей в блоге: 10
17.01.2016, 16:16 #3
Не совсем понятно задание, но, как вариант, набросал
Кликните здесь для просмотра всего текста
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
#include <iostream>
#include <ctime>
 
using namespace std;
 
const int count_part = 4,   // Количество частей
          N = 40;           // Размер основного массива
 
int main() {
    srand(unsigned(time(NULL)));
 
    // Заполняем основной массив
    int *main_arr = new int[N];
    for (int i = 0; i < N; i++) {
        main_arr[i] = rand() % N - N / 2;
        cout << main_arr[i] << " ";
    }
 
    // Создаем и заполняем массив указателей на части (массивы)
    int **parts = new int*[count_part]; 
 
    int size_part = N / count_part;     // Размер части
    // Выделяем память под части и записываем их в массив частей
    int *arr1 = new int[size_part];
    parts[0] = arr1;
 
    int *arr2 = new int[size_part];
    parts[1] = arr2;
 
    int *arr3 = new int[size_part];
    parts[2] = arr3;
 
    int *arr4 = new int[size_part];
    parts[3] = arr4;
 
    // Делим основной массив на части   
    for (int j = 0; j < count_part; j++)
        for (int i = 0; i < size_part; i++)
            parts[j][i] = main_arr[size_part * j + i];
 
    // Выводим части
    cout << "\n\n\n";
    for (int i = 0; i < size_part; i++) {
        for (int j = 0; j < count_part; j++)
            cout << parts[j][i] << "\t";
        cout << endl;
    }
 
    system("pause");
 
    // Освобождаем память
    for (int j = 0; j < count_part; j++)
        delete[] parts[j];
    delete parts;
    delete main_arr;
}
1
Миниатюры
Разделить массив на 4 части  
antonboom
bmstu-team
301 / 136 / 56
Регистрация: 10.01.2012
Сообщений: 420
Записей в блоге: 10
17.01.2016, 17:17 #4
Соответственно, выделять память можно тоже в цикле. Это я как пример того, что можно записать адрес любого массива в массив частей.
C++
1
2
for (int i = 0; i < count_part; i++)
    parts[i] = new int[size_part]
0
17.01.2016, 17:17
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
17.01.2016, 17:17
Привет! Вот еще темы с ответами:

Разделить строку на две части - C++
дана задача.есть переменная char = россия. надо разделить её на две части так,чтобы получилось что a = рос,b=сия

Разделить строку на две части - C++
По индивидуальному заданию создать функцию для обработки символьных строк. За образец брать библиотечные функции обработки строк языка C,...

Разделить строки на мелкие части - C++
Помогите реализовать такую вещь: Пользователь вводит слова через запятую (one,two,three,four,five,six), программа же записывает каждое...

Как разделить программу на две части? - C++
Доброй ночи! Такой вопрос: как мне разделить программу на две части? Есть два задания, но чтобы не создавать разные файлы, я хочу их...


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

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

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