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

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

Войти
Регистрация
Восстановить пароль
 
 
R.V.O
0 / 0 / 0
Регистрация: 31.03.2011
Сообщений: 3
#1

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

24.04.2011, 12:59. Просмотров 529. Ответов 15
Метки нет (Все метки)

Дан массив из 20 элементов. Сформировать два массива размером 10, включив в первый из них элементы заданного массива с чётными индексами, а во второй с нечётными.
Большая просьба если можно несколько вариантов решения...
 Комментарий модератора 
Дублирование тем запрещено правилами форума!
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
24.04.2011, 12:59
Здравствуйте! Я подобрал для вас темы с ответами на вопрос Одномерный массив (C++):

Матрица и одномерный массив (Составить одномерный массив, содержащий количество буквенных символов в каждом из ее столбцов, подсчет символов) - C++
Помогите решить задачку: Дана матрица 5х7, элементами которой являются значения символьного типа. Составить одномерный массив, содержащий...

Массив: Все элементы массива, кратные трем, записать в одномерный массив. - C++
Дан двумерный массив размером n x n? заполненный целыми числами. Все его элементы кратные трем, записать в одномерный массив.

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

Массив: преобразорвать двумерный массив в одномерный и отсортировать его методом пузырька - C++
всем привет. народ помогите с прогой, конкретно с функцией sort (65 строка), она должна двухмерный массив перевести построчно в одномерный...

Целочисленный массив с размером 4*4 .Написать прогу , формирующую одномерный массив - C++
Целочисленный массив с размером 4*4 .Написать прогу , формирующую одномерный массив. #include <iostream> using namespace std; ...

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

15
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++;
}
По моему, самый простой способ для данной задачи, если в начальном массиве будет не четное число элементов, то нужно добавить проверку условия чтобы не выйти за границу массива
0
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];
1
mimicria
return (true);
1958 / 1095 / 91
Регистрация: 19.04.2011
Сообщений: 2,345
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++;
}
1
by_frost
4 / 4 / 0
Регистрация: 25.04.2011
Сообщений: 12
25.04.2011, 18:18 #5
Ты прав. Так быстрее будет.
0
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;//выводит минимальное нечетное значение
}
0
mimicria
return (true);
1958 / 1095 / 91
Регистрация: 19.04.2011
Сообщений: 2,345
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++;
}
1
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;
}
1
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");
}
0
neske
1498 / 865 / 84
Регистрация: 26.03.2010
Сообщений: 2,966
05.05.2011, 16:33 #10
olleg90, у вас будет выход за границы массива arr.
0
mimicria
return (true);
1958 / 1095 / 91
Регистрация: 19.04.2011
Сообщений: 2,345
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++;
}
0
ЛеЖиК)
157 / 60 / 1
Регистрация: 29.04.2011
Сообщений: 633
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 - константа,разве это не ошибка?
0
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++;
}     
     }
0
mimicria
return (true);
1958 / 1095 / 91
Регистрация: 19.04.2011
Сообщений: 2,345
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++;
}
2
olleg90
34 / 34 / 6
Регистрация: 06.01.2011
Сообщений: 90
12.05.2011, 20:41 #15
Цитата Сообщение от neske Посмотреть сообщение
olleg90, у вас будет выход за границы массива arr.
к сожалению не вижу в упор)) если можно поточнее))
0
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
12.05.2011, 20:41
Привет! Вот еще темы с ответами:

Создать одномерный массив, заполнить его случайными значениями, отсортировать массив по убыванию - C++
создать одномерный массив, заполнить его случайными значениями, отсортировать массив по убыванию. получилось вот что: #include...

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

Организовать одномерный массив с вещественными числами и найти первый и последний отрицательный элемент массив - C++
Организовать одномерный массив с вещественными числами и найти первый и последний отрицательный элемент массива;

Сформировать одномерный массив, удалить первый элемент с заданным значением, сдвинуть массив циклически - C++
1)сформировать одномерный массив целых чисел 2)удалить первый элемент с заданным значением 3)сдвинуть массив циклически на К элементов...


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

Или воспользуйтесь поиском по форуму:
15
Yandex
Объявления
12.05.2011, 20:41
Ответ Создать тему
Опции темы

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