С Новым годом! Форум программистов, компьютерный форум, киберфорум
С++ для начинающих
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.75/4: Рейтинг темы: голосов - 4, средняя оценка - 4.75
0 / 0 / 0
Регистрация: 07.07.2014
Сообщений: 27

Образовать 2 массива из одного

08.07.2014, 00:33. Показов 869. Ответов 9
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Дан массив (А) с К элементов (К-четное число). Образовать 2 массива (В и С), переписывая в массив В первую половину массива А, в массив С - вторую половину массива А.
Проблемы с массивами
Спасибо за помощь!
0
cpp_developer
Эксперт
20123 / 5690 / 1417
Регистрация: 09.04.2010
Сообщений: 22,546
Блог
08.07.2014, 00:33
Ответы с готовыми решениями:

Образовать массив из всех элементов массива В, которые меньше максимального элемента массива А
Помогите пожалуйста написать программу Массив С образовать из всех элементов массива В, которые меньше за максимальный элемент массива...

Дан массив А. Образовать реверс массива А в массиве В. Вывести оба массива и индексы элементов на экран в виде трех столбцов.
Дан массив А. Образовать реверс массива А в массиве В. Вывести оба массива и индексы элементов на экран в виде трех столбцов.

Образовать два одномерных массива путем перезаписи в них элементов из заданного двумерного массива
Образовать два одномерных массива путем перезаписи в них элементов из заданного целочисленного двумерного массива размером n*n, при этом в...

9
25 / 25 / 14
Регистрация: 05.05.2014
Сообщений: 115
08.07.2014, 00:59
что-то типо этого:
C++
1
2
3
4
5
6
7
8
const int k = 100;  // Количество элементов массива
int a[k], b[k/2], c[k/2], i = 0;
for (; i < k/2; i++){
    b[i] = a[i];
}
for (int s = 0; s < k/2 ; s++){
    c[s] = a[i];
}
1
4 / 4 / 1
Регистрация: 23.05.2013
Сообщений: 37
08.07.2014, 05:11
srin, не совсем, насколько я понимаю у вас получатся два одинаковых массива.
itel, возьмите то, что сделал srin, но циклы такие:
C++
1
2
3
4
for(int i = 0; i < k / 2; i++)
  b[i] = a[i]
for(int i = k / 2; i < k; i++)
  c[i] = a[i]
1
25 / 25 / 14
Регистрация: 05.05.2014
Сообщений: 115
08.07.2014, 08:56
Roodey, а ничего, что у вас во втором цикле for начальный элемент массива "c" будет "k/2"?

itel, у меня ошибочка вышла. во втором цикле забыл увеличить "i". надо : "(int s = 0; s < k/2 ; s++, i++)".
1
106 / 87 / 13
Регистрация: 29.08.2012
Сообщений: 538
08.07.2014, 09:27
srin, Roodey,
C++
1
2
3
4
5
6
7
8
9
10
11
        const int N = 10;
        const int N_2 = N >> 1;
        const int A[N] = { 1, 2, 3, 4, 5, 6, 7, 8, 9, 10 };
        int B[N_2];
        int C[N_2];
        std::copy(A, A + N_2, B);
        std::copy(A + N_2, A + N, C);
        std::copy(B, B + N_2, std::ostream_iterator<int>(std::cout, " "));
        std::cout << std::endl;
        std::copy(C, C + N_2, std::ostream_iterator<int>(std::cout, " "));
        std::cout << std::endl;
1
Почетный модератор
Эксперт С++
 Аватар для SatanaXIII
5851 / 2862 / 392
Регистрация: 01.11.2011
Сообщений: 6,906
08.07.2014, 10:26
Просто так:
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
#include <time.h>
 
int main()
{
#define SIZE 10
#define HALF_SIZE SIZE/2
 
int i;
 
int *A = (int*) malloc( SIZE      * sizeof(int) );
int *B = (int*) malloc( HALF_SIZE * sizeof(int) );
int *C = (int*) malloc( HALF_SIZE * sizeof(int) );
 
srand( time( NULL ) );
 
for( i=0; i<SIZE; i++ )
  {
  A[i] = rand()%100;
  printf( "% *d ", 4, A[i] );
  }
 
memcpy( B, A, HALF_SIZE * sizeof(int) );
memcpy( C, A+HALF_SIZE, HALF_SIZE * sizeof(int) );
 
printf( "\n" );
for( i=0; i<HALF_SIZE; i++ )
  printf( "% *d ", 4, B[i] );
 
printf( "\n% *c", HALF_SIZE*HALF_SIZE, ' ' ); // Чисто ради хохмы
for( i=0; i<HALF_SIZE; i++ )
  printf( "% *d ", 4, C[i] );
 
getchar();
return 0;
}
1
08.07.2014, 10:41

Не по теме:

Цитата Сообщение от SatanaXIII Посмотреть сообщение
Просто так:
Код C
#include <time.h>
int main()
{
#define SIZE 10
#define HALF_SIZE SIZE/2
int i;
int *A = (int*) malloc( SIZE * sizeof(int) );
int *B = (int*) malloc( HALF_SIZE * sizeof(int) );
int *C = (int*) malloc( HALF_SIZE * sizeof(int) );
srand( time( NULL ) );
for( i=0; i<SIZE; i++ )
{
A[i] = rand()%100;
printf( "% *d ", 4, A[i] );
}
memcpy( B, A, HALF_SIZE * sizeof(int) );
memcpy( C, A+HALF_SIZE, HALF_SIZE * sizeof(int) );
printf( "\n" );
for( i=0; i<HALF_SIZE; i++ )
printf( "% *d ", 4, B[i] );
printf( "\n% *c", HALF_SIZE*HALF_SIZE, ' ' ); // Чисто ради хохмы
for( i=0; i<HALF_SIZE; i++ )
printf( "% *d ", 4, C[i] );
getchar();
return 0;
}
ужснах

0
25 / 25 / 14
Регистрация: 05.05.2014
Сообщений: 115
08.07.2014, 12:56
Kukurudza, я бы послушал, как ТС будет объяснять преподавателю для чего нужны и как работают copy и ostream_iterator в вашем примере. ибо (не в обиду ТС), если он не знает как работать с массивом, вряд ли он знает что это такое, как это работает и для чего это необходимо.

SatanaXIII, это сильно! аплодирую стоя!
0
4 / 4 / 1
Регистрация: 23.05.2013
Сообщений: 37
09.07.2014, 11:30
srin, ну, так как раз, в массиве из, допустим 6 элементов, в первом цикле пройдутся {[0] [1] [2]} и закончатся на [3] не включая его, а второй цикл начнет пробег с [3] элемента и включит в себя {[3] [4] [5]} элементы
0
25 / 25 / 14
Регистрация: 05.05.2014
Сообщений: 115
09.07.2014, 13:15
Roodey, это я понимаю, но в условии то про это ничего не сказано.
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
raxper
Эксперт
30234 / 6612 / 1498
Регистрация: 28.12.2010
Сообщений: 21,154
Блог
09.07.2014, 13:15
Помогаю со студенческими работами здесь

Массивы. Образовать новый массив путем умножения элементов массива А на минимальный элемент массива B
Даны массивы A(N) и B(N). Образовать новый массив C(N) путем умножения элементов массива A(N) на минимальный элемент массива B(N). В новом...

Из массива цифр образовать число
К примеру в массиве : 1 , 4, 3, 8 Из массива надо образовать число 1438.

Из массива A образовать массив B по правилу: B[i] = 2*A[i]
ВВести с клавиатуры массив A из 10 целых чисел.Из этого массива образовать массив B,элементы которого связаны с элементами массива А...

Образовать два списка из элементов массива
нужно создать 1-направленные списки из массива А1...Аn. В один список включить элементы, для которых удовлетворяется условие Ai =...

Из исходного массива образовать новый массив по правилу
1 Ввести с клавиатуры массив А из 11 целых чисел. Из этого массива образовать массив В, у которого B = A, B = A, а остальные элементы...


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

Или воспользуйтесь поиском по форуму:
10
Ответ Создать тему
Новые блоги и статьи
Модель микоризы: классовый агентный подход 3
anaschu 06.01.2026
aa0a7f55b50dd51c5ec569d2d10c54f6/ O1rJuneU_ls https:/ / vkvideo. ru/ video-115721503_456239114
Owen Logic: О недопустимости использования связки «аналоговый ПИД» + RegKZR
ФедосеевПавел 06.01.2026
Owen Logic: О недопустимости использования связки «аналоговый ПИД» + RegKZR ВВЕДЕНИЕ Введу сокращения: аналоговый ПИД — ПИД регулятор с управляющим выходом в виде числа в диапазоне от 0% до. . .
Модель микоризы: классовый агентный подход 2
anaschu 06.01.2026
репозиторий https:/ / github. com/ shumilovas/ fungi ветка по-частям. коммит Create переделка под биомассу. txt вход sc, но sm считается внутри мицелия. кстати, обьем тоже должен там считаться. . . .
Расчёт токов в цепи постоянного тока
igorrr37 05.01.2026
/ * Дана цепь постоянного тока с сопротивлениями и напряжениями. Надо найти токи в ветвях. Программа составляет систему уравнений по 1 и 2 законам Кирхгофа и решает её. Последовательность действий:. . .
Новый CodeBlocs. Версия 25.03
palva 04.01.2026
Оказывается, недавно вышла новая версия CodeBlocks за номером 25. 03. Когда-то давно я возился с только что вышедшей тогда версией 20. 03. С тех пор я давно снёс всё с компьютера и забыл. Теперь. . .
Модель микоризы: классовый агентный подход
anaschu 02.01.2026
Раньше это было два гриба и бактерия. Теперь три гриба, растение. И на уровне агентов добавится между грибами или бактериями взаимодействий. До того я пробовал подход через многомерные массивы,. . .
Советы по крайней бережливости. Внимание, это ОЧЕНЬ длинный пост.
Programma_Boinc 28.12.2025
Советы по крайней бережливости. Внимание, это ОЧЕНЬ длинный пост. Налог на собак: https:/ / **********/ gallery/ V06K53e Финансовый отчет в Excel: https:/ / **********/ gallery/ bKBkQFf Пост отсюда. . .
Кто-нибудь знает, где можно бесплатно получить настольный компьютер или ноутбук? США.
Programma_Boinc 26.12.2025
Нашел на реддите интересную статью под названием Anyone know where to get a free Desktop or Laptop? Ниже её машинный перевод. После долгих разбирательств я наконец-то вернула себе. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru