Форум программистов, компьютерный форум, киберфорум
С++ для начинающих
Войти
Регистрация
Восстановить пароль
 
Рейтинг 4.67/6: Рейтинг темы: голосов - 6, средняя оценка - 4.67
0 / 0 / 0
Регистрация: 11.01.2020
Сообщений: 7
1

Дан массив целых чисел. Переписать его нечетные элементы в другой массив такого же размера:

16.01.2020, 23:36. Просмотров 1204. Ответов 8

Дан массив целых чисел. Переписать его нечетные элементы в другой массив такого же размера :
1. расположив элементы на тех же местах, что и в исходном массиве;
2. расположив элементы подряд с начала массива.
Помогите пожалуйста сделать, я вам буду очень благодарен! За ранее спасибо.
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
16.01.2020, 23:36
Ответы с готовыми решениями:

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

Дан массив целых чисел. Переписать его нечетные элементы в другой массив такого же размера:
Дан массив целых чисел. Переписать его нечетные элементы в другой массив такого же размера: а)...

Дан массив целых чисел. Переписать его нечетные элементы в другой массив такого же размера: а) расположив элементы на те
Дан массив целых чисел. Переписать его нечетные элементы в другой массив такого же размера 1....

Дан массив. Переписать его второй, четвертый и т.д. элементы в другой массив такого же размера, расположив элементы подряд с начала массива
Помогите пожалуйста решить задачи на C++! Я в нем вообще туго соображаю. 1. Дан массив....

8
Модератор
1352 / 984 / 511
Регистрация: 16.10.2013
Сообщений: 3,038
Записей в блоге: 8
17.01.2020, 04:58 2
jack22099302, что конкретно не получается сделать?
0
Продавец времени
4752 / 2581 / 585
Регистрация: 12.03.2015
Сообщений: 12,559
17.01.2020, 08:46 3
Ахтунг! Не отлаживал! Писал на заборе!
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
// расположив элементы на тех же местах, что и в исходном массиве
void odd_replace(int* src, int* dest, unsigned count)
{
  for (; count--; src++, dest++)
    if (*src & 1) *dest = *src;
}
 
// расположив элементы подряд с начала массива.
void odd_copy(int* src, int* dest, unsigned count)
{
  for (; count--; src++)
    if (*src & 1) *dest++ = *src;
}
0
0 / 0 / 0
Регистрация: 11.01.2020
Сообщений: 7
17.01.2020, 17:41  [ТС] 4
Может вы подумаете что я глуп. Но можно попроще?)
Я еще не очень опытный и в моем представлении должно выглядеть примерно так:
int array[] {сам массив} ;
а дальше уже код по решению этих задач
По другому у меня не получается и по другому не пойму, простите :с
Я буду рад если кто-то поможет.
0
620 / 465 / 182
Регистрация: 23.04.2019
Сообщений: 1,987
17.01.2020, 18:38 5
Цитата Сообщение от jack22099302 Посмотреть сообщение
Может вы подумаете что я глуп. Но можно попроще?)
Я еще не очень опытный и в моем представлении должно выглядеть примерно так:
int array[] {сам массив} ;
а дальше уже код по решению этих задач
По другому у меня не получается и по другому не пойму, простите :с
Я буду рад если кто-то поможет.
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
#include <iostream>
 
// расположив элементы на тех же местах, что и в исходном массиве
void odd_replace(int* src, int* dest, unsigned count)
{
    for (; count--; src++, dest++)
        if (*src & 1) *dest = *src;
}
 
// расположив элементы подряд с начала массива.
void odd_copy(int* src, int* dest, unsigned count)
{
    for (; count--; src++)
        if (*src & 1) *dest++ = *src;
}
 
int main()
{
    int arr[]{ 1,2,3,4,5,6,7,8,9,10 };
    int arr2[]{ 1,2,3,4,5,6,7,8,9,10 };
    odd_replace(arr, arr2, 10);
    //или для второго задания
    //odd_copy(arr, arr2, 10);
}
Добавлено через 19 секунд
Цитата Сообщение от jack22099302 Посмотреть сообщение
Может вы подумаете что я глуп. Но можно попроще?)
Я еще не очень опытный и в моем представлении должно выглядеть примерно так:
int array[] {сам массив} ;
а дальше уже код по решению этих задач
По другому у меня не получается и по другому не пойму, простите :с
Я буду рад если кто-то поможет.
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
#include <iostream>
 
// расположив элементы на тех же местах, что и в исходном массиве
void odd_replace(int* src, int* dest, unsigned count)
{
    for (; count--; src++, dest++)
        if (*src & 1) *dest = *src;
}
 
// расположив элементы подряд с начала массива.
void odd_copy(int* src, int* dest, unsigned count)
{
    for (; count--; src++)
        if (*src & 1) *dest++ = *src;
}
 
int main()
{
    int arr[]{ 1,2,3,4,5,6,7,8,9,10 };
    int arr2[]{ 1,2,3,4,5,6,7,8,9,10 };
    odd_replace(arr, arr2, 10);
    //или для второго задания
    //odd_copy(arr, arr2, 10);
}
0
Продавец времени
4752 / 2581 / 585
Регистрация: 12.03.2015
Сообщений: 12,559
17.01.2020, 18:43 6
Цитата Сообщение от jack22099302 Посмотреть сообщение
Может вы подумаете что я глуп.
На грубость нарываешься?
Я для кого весь забор разрисовал?
0
AndryS1
17.01.2020, 18:48
  #7

Не по теме:

Цитата Сообщение от Verevkin Посмотреть сообщение
На грубость нарываешься?
Я для кого весь забор разрисовал?
спокойно, спокойно)

0
2 / 1 / 1
Регистрация: 12.11.2019
Сообщений: 6
17.01.2020, 18:51 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
35
36
37
38
39
40
41
42
43
44
#include <iostream>
#include <iomanip>
using namespace std;
 
void mass(int arr[], int SIZE) {
    for (int i = 0; i < SIZE; i++) {
        cout << setw(4) << arr[i] << "  ";
    }
    cout << "\n\n";
}
 
int main() {
    setlocale(LC_ALL, "");
    srand(time(NULL));
    int n, j;
    cout << "Введите размер массива: "; cin >> n; cout << endl;
    int* arr = new int[n];
    int* arr2 = new int[n];
    int* arr3 = new int[n];
    for (int i = 0; i < n; i++) {
        arr[i] = rand() % 100;
        arr2[i] = 0;
        arr3[i] = 0;
    }
    cout << "Сгенерированный исходный массив:\n";
    mass(arr, n);
    for (int i = 0; i < n; i++) {
        if (arr[i] % 2 != 0) {
            j = i;
            arr2[j] = arr[i];
        }
    }
    cout << "Mассив задания (1):\n";
    mass(arr2, n);
    for (int i = 0, j = 0; i < n; i++) {
        if (arr[i] % 2 != 0) {
            arr3[j] = arr[i];
            j++;
        }
    }
    cout << "Mассив задания (2):\n";
    mass(arr3, n);
    return 0;
}
0
0 / 0 / 0
Регистрация: 11.01.2020
Сообщений: 7
19.01.2020, 16:38  [ТС] 9
Да я примерно такое и представлял себе, а можно по меньше попробовать как-то сделать и без ввода размера массива, а что бы массив уже был готов
типа этого: const int size = 15;
int array[size]{ 10,10,8,99,45,67,33,45,1,35,8,6,80,40,45};
Буду благодарен, за ранее извиняюсь за навязчивость.

Добавлено через 1 минуту
Не рабоатет...
0
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
19.01.2020, 16:38

Заказываю контрольные, курсовые, дипломные и любые другие студенческие работы здесь.

Дан массив. Скопировать все его элементы в другой массив такого же размера
Пожалуйста помогите решить на C#!Срочно надо!Дан массив. Скопировать все его элементы в другой...

Дан массив целых чисел а(12). Переписать в массив х четные, а в массив у нечетные элементы массива а
Помогите пожалуйста решить эту задачу. Массив a выводит на печать. Я пишу a mod 2 = 0 , а он мне 41...

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

Переписать элементы исходного массива в другой массив такого же размера особым образом
Дан массив. Переписать его элементы в другой массив такого же размера следующим образом: сначала...


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

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

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