Форум программистов, компьютерный форум CyberForum.ru

Одномерный массив - C++

Восстановить пароль Регистрация
 
R.V.O
0 / 0 / 0
Регистрация: 31.03.2011
Сообщений: 3
24.04.2011, 12:59     Одномерный массив #1
Дан массив из 20 элементов. Сформировать два массива размером 10, включив в первый из них элементы заданного массива с чётными индексами, а во второй с нечётными.
Большая просьба если можно несколько вариантов решения...
 Комментарий модератора 
Дублирование тем запрещено правилами форума!
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
24.04.2011, 12:59     Одномерный массив
Посмотрите здесь:

Одномерный массив вещественных чисел R75 содержит данные о росте группы студентов. Массив заполнить значениями путем ввода с клавиатуры. Вычислить с C++
C++ Дан одномерный массив, состоящий из N вещественных элементов. 4.1. Заполнить массив случайными числами. 4.2. Найти минимальный положительный элемент.
Одномерный массив. Найти наименьшие среди элементов первого массива, которые не входят во второй массив. C++
Массив: Построить из динамического одномерный массив,каждый элемент, которого равен сумме элементов одной строки исходной матрицы. C++
Одномерный массив (элементы с четными индексами переписать в массив z.в массиве z поменять местами максимальный и минимальный элементы) C++
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
MAnton
 Аватар для MAnton
23 / 23 / 1
Регистрация: 21.04.2011
Сообщений: 139
24.04.2011, 13:24     Одномерный массив #2
C++
1
2
3
4
5
6
7
8
9
10
int m[20],m1[10],m2[10];
for(int i=0;i<20;i++){//Ввод массива
         cin>>m[i];
}
int j=0;
while(int i<20){
          m1[j]=m[i]; i++;
          m2[j]=m[i]; i++;
          j++;
}
По моему, самый простой способ для данной задачи, если в начальном массиве будет не четное число элементов, то нужно добавить проверку условия чтобы не выйти за границу массива
by_frost
 Аватар для by_frost
4 / 4 / 0
Регистрация: 25.04.2011
Сообщений: 12
25.04.2011, 16:59     Одномерный массив #3
C++
1
2
3
4
5
6
7
8
9
10
const int n=20, a=10;
int mas[n], mas1[a], mas2[a];
//копирует элементы с четными индексами
for (int i=0; i<n; i+=2)
  for (int j=0; j<a; j++)
    mas1[j]=mas[i];
//копирует элементы с нечетными индексами
for (int i=1; i<n; i+=2)
  for (int j=0; j<a; j++)
    mas1[j]=mas[i];
mimicria
return (true);
 Аватар для mimicria
1956 / 1093 / 91
Регистрация: 19.04.2011
Сообщений: 2,344
25.04.2011, 18:03     Одномерный массив #4
Скорее так
C++
1
2
3
4
5
6
7
8
const int n=20, a=10, u=0;
int mas[n], mas1[a], mas2[a];
for (int i=0; i<n; i+=2)
{
    mas1[u]=mas[i]; // чётные
    mas2[u]=mas[i+1]; // нечётные
    u++;
}
by_frost
 Аватар для by_frost
4 / 4 / 0
Регистрация: 25.04.2011
Сообщений: 12
25.04.2011, 18:18     Одномерный массив #5
Ты прав. Так быстрее будет.
Alex1205
 Аватар для Alex1205
6 / 6 / 1
Регистрация: 14.01.2011
Сообщений: 81
29.04.2011, 16:19     Одномерный массив #6
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
#include <iostream>
using namespace std;
void reversArray(int[], int);
void sum(int[],int);
void repetition(int[],int);
int minimum(int[],int);
int main()
{
    const int size=10;
    int myArray[size]={1,2,2,4,4,3,6,7,6,6};
    reversArray(myArray,size);//выводит массив наоборот
    cout<<endl;
    sum(myArray,size);//находит суммы
    repetition(myArray,size);
    cout<<endl;
    cout<<"Min uneven number is: "<<minimum(myArray,size)<<endl;//выводит минимальное нечетное значение
}
mimicria
return (true);
 Аватар для mimicria
1956 / 1093 / 91
Регистрация: 19.04.2011
Сообщений: 2,344
29.04.2011, 16:35     Одномерный массив #7
Уже было тут
C++
1
2
3
4
5
6
7
8
9
10
11
const int n=20, a=10, u=0;
int mas[n], mas1[a], mas2[a];
/*
 тут заполнить массив mas[]
*/
for (int i=0; i<n; i+=2)
{
mas1[u]=mas[i]; // чётные
mas2[u]=mas[i+1]; // нечётные
u++;
}
SS_47
21 / 21 / 1
Регистрация: 12.07.2010
Сообщений: 27
04.05.2011, 20:39     Одномерный массив #8
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
#include <stdio.h>
#include <cstdlib>
#include <time.h>
 
int main()
{
    srand(time(NULL));
    int m[20], m1[10], m2[10], i, j;
    
    for(i = 0; i < 20; i++)
        m[i] = rand()%100;
 
    for(i = 0, j = 0; i < 20; i = i+2, j++)
        m1[j] = m[i];
 
    for(i = 1, j = 0; i < 20; i = i+2, j++)
        m2[j] = m[i];
 
    for(int i = 0; i <20; i++)
        printf("%d ", m[i]);
 
    printf("\n");
 
    for(int i = 0; i <10; i++)
        printf("%d ", m1[i]);
 
    printf("\n");
 
    for(int i = 0; i <10; i++)
        printf("%d ", m2[i]);
 
 
    return 0;
}
olleg90
 Аватар для olleg90
34 / 34 / 6
Регистрация: 06.01.2011
Сообщений: 90
05.05.2011, 11:31     Одномерный массив #9
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
#include <iostream>
#define N 20
 
void out_arr (int *arr, int count)
    {
        for ( int i=0; i<count ; i++) std::cout<<arr[i]<<'\t';
        std::cout<<std::endl;
    }
 
void main ()
{   int arr[N],arr_1[N/2],arr_2[N/2];
    std::cout<<"Input array"<<std::endl;
    for (int i=0;i<N; i++) {std::cout<<"Arr["<<i<<"] = "; std::cin>>arr[i];} 
    for (int i=0,curr=0;i<N; i+=2,curr++) 
        arr_1[curr]=arr[i];
    for (int i=1,curr=0;i<N; i+=2,curr++) 
        arr_2[curr]=arr[i];
    std::cout<<"Array: ";
    out_arr(arr,N);
    std::cout<<"Array 1: ";
    out_arr(arr_1,N/2);
    std::cout<<"Array 2: ";
    out_arr (arr_2,N/2);
    system ("pause");
}
neske
1419 / 786 / 55
Регистрация: 26.03.2010
Сообщений: 2,689
05.05.2011, 16:33     Одномерный массив #10
olleg90, у вас будет выход за границы массива arr.
mimicria
return (true);
 Аватар для mimicria
1956 / 1093 / 91
Регистрация: 19.04.2011
Сообщений: 2,344
05.05.2011, 16:44     Одномерный массив #11
Третий раз встречается одна и та же тема.
C++
1
2
3
4
5
6
7
8
9
10
11
const int n=20, a=10, u=0;
int mas[n], mas1[a], mas2[a];
/*
 тут заполнить массив mas[]
*/
for (int i=0; i<n; i+=2)
{
mas1[u]=mas[i]; // чётные
mas2[u]=mas[i+1]; // нечётные
u++;
}
ЛеЖиК)
 Аватар для ЛеЖиК)
157 / 60 / 1
Регистрация: 29.04.2011
Сообщений: 630
05.05.2011, 17:05     Одномерный массив #12
R.V.O,
Цитата Сообщение от mimicria Посмотреть сообщение
Третий раз встречается одна и та же тема.
не третий а 4)
и самое интересное, что автор один и тот же)
он наверно хочет найти решение короче чем в три строчки)


Цитата Сообщение от mimicria Посмотреть сообщение
const int n=20, a=10, u=0;
Цитата Сообщение от mimicria Посмотреть сообщение
mas1[u]=mas[i]; // чётные
так вроде u - константа,разве это не ошибка?
baikonyr
24 / 2 / 1
Регистрация: 01.03.2011
Сообщений: 109
05.05.2011, 17:43     Одномерный массив #13
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
int mas[20], chetmas[10], nechetmas[10];
int x;
int j=0;
int k=0;
// вводим массив
for (int i=0; i<20; i++)
     {
     cout<<"Введите "<<i<<" элемент массива"<<"mas ["<<i<<"]=";
     cin>>x;
     }
//сортируем по четным и нечетным
for (int i=0; i<20; i++)
     {
if (i%2)
{
mas[i]=chetmas [j];
j++;
}
else
{
mas[i]=nechetmas[k];
k++;
}     
     }
mimicria
return (true);
 Аватар для mimicria
1956 / 1093 / 91
Регистрация: 19.04.2011
Сообщений: 2,344
05.05.2011, 17:59     Одномерный массив #14
Цитата Сообщение от ЛеЖиК) Посмотреть сообщение
так вроде u - константа,разве это не ошибка?
Канеш ошибка =)
C++
1
2
3
4
5
6
7
8
9
10
11
const int n=20, a=10;
int mas[n], mas1[a], mas2[a], u=0;
/*
 тут заполнить массив mas[]
*/
for (int i=0; i<n; i+=2)
{
mas1[u]=mas[i]; // чётные
mas2[u]=mas[i+1]; // нечётные
u++;
}
olleg90
 Аватар для olleg90
34 / 34 / 6
Регистрация: 06.01.2011
Сообщений: 90
12.05.2011, 20:41     Одномерный массив #15
Цитата Сообщение от neske Посмотреть сообщение
olleg90, у вас будет выход за границы массива arr.
к сожалению не вижу в упор)) если можно поточнее))
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
12.05.2011, 20:45     Одномерный массив
Еще ссылки по теме:

C++ Одномерный массив (Ввести массив из 10 вещественных чисел.Найти сумму чисел,стоящих на чётных местах)
C++ Задачка. массив указателей на одномерный массив
Как сложить массив чтоб получился одномерный массив? C++

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

Или воспользуйтесь поиском по форуму:
neske
1419 / 786 / 55
Регистрация: 26.03.2010
Сообщений: 2,689
12.05.2011, 20:45     Одномерный массив #16
C++
1
2
for (int i=1,curr=0;i<N; i+=2,curr++) 
                arr_2[curr]=arr[i];
i в последней итерации будет 21.
Yandex
Объявления
12.05.2011, 20:45     Одномерный массив
Ответ Создать тему
Опции темы

Текущее время: 22:55. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru