0 / 0 / 0
Регистрация: 16.07.2016
Сообщений: 47
1

Создать на основе одного массива два других: один с числами кратными 2, второй - с кратными 3

17.07.2016, 13:13. Показов 1275. Ответов 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
#include <iostream>
#include <string.h>
using namespace std;
int main()
{
    int a[7], i, j, n = 7,k=7;
    cout << "Vvedite massiv:";
    for (i = 0; i < n; i++) cin >> a[i];
    for (i = 0; i < n; i++)
    
        if (!(a[i] % 2 == 0))
        {
            for (j = i; j < n; j++) a[j] = a[j + 1];
            n--; i--;
 
        }
    for (i = 0; i < k; i++)
    if (!(a[i] % 3 == 0))
    {
        for (j = i; j < n; j++) a[j] = a[j + 1];
        k--; i--;
 
    }
        cout << "Peredelanniy massiv iz " << n << " elementov" << endl; for (i = 0; i < n; i++) cout << a[i] << "\t";
        cout << "Peredelanniy massiv iz " << k << " elementov" << endl; for (i = 0; i < k; i++) cout << a[i] << "\t";
 
        
        return 0;
}
Один с числами кратные 2, второй кратным 3
По отдельности могу создать, но вместе никак не получается...
__________________
Помощь в написании контрольных, курсовых и дипломных работ здесь
0
Лучшие ответы (1)
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
17.07.2016, 13:13
Ответы с готовыми решениями:

Из одного файла данных получить два массива (один с числами, другой - с буквами)
Имеется файл данных, где первая колонка - буквы, а остальные три колонки - числа. Надо записать...

Заполнить одномерный массив двадцатью первыми натуральными числами, кратными 5-ти или 7-ми
Составьте программу, которая заполняет одномерный массив двадцатью первыми натуральными числами,...

На основе содержимого одного текстового файла создать два других
Граждане, прошу помощи. Есть текстовик с таким содержанием: Нужно сделать из него два...

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

8
256 / 233 / 185
Регистрация: 02.04.2016
Сообщений: 898
17.07.2016, 13:49 2
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
#include <iostream>
#include <algorithm>
#include <vector>
using namespace std;
int main() {
    
    srand(time(0));
    vector<int> v(20);
    vector<int> a;
    vector<int> b;
    for (auto &e : v)
        e = rand() % 100;
    for (auto e : v)
        cout << e << " ";
    cout << endl;
    for (auto e : v) {
        if (e % 2 == 0)
            a.push_back(e);
        if (e % 3 == 0)
            b.push_back(e);
    }
    for (auto e : a)
        cout << e << " ";
    cout << endl;
    for (auto e : b)
        cout << e << " ";
    cout << endl;
    return 0;
}
1
0 / 0 / 0
Регистрация: 16.07.2016
Сообщений: 47
17.07.2016, 14:24  [ТС] 3
А не подключая никаких библиотек кроме <iostream> это можно сделать, просто с теми библиотеками я не знаком
0
802 / 529 / 157
Регистрация: 27.01.2015
Сообщений: 3,017
Записей в блоге: 1
17.07.2016, 14:27 4
katafot, можно, но лишней писанины с неудобными массивами будет больше.
0
256 / 233 / 185
Регистрация: 02.04.2016
Сообщений: 898
17.07.2016, 14:32 5
katafot, Это оптимально, могу еще через алгоритм с лямбда функцией, если хочешь)
0
0 / 0 / 0
Регистрация: 16.07.2016
Сообщений: 47
17.07.2016, 14:36  [ТС] 6
Мне бы мой код подисправить, в таком духе у меня задание
0
802 / 529 / 157
Регистрация: 27.01.2015
Сообщений: 3,017
Записей в блоге: 1
17.07.2016, 14:36 7
shilko2013, как я понимаю, он просит написать код в сишном стиле
0
256 / 233 / 185
Регистрация: 02.04.2016
Сообщений: 898
17.07.2016, 14:43 8
Лучший ответ Сообщение было отмечено katafot как решение

Решение

У тебя у самого iostream подключен.
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
#include <iostream>
int main() {
    
    const int n = 10;
    int a[n], b[n], c[n];
    cout << "Vvedite massiv:";
    for (int i = 0; i < n; i++) cin >> a[i];
    for (int i = 0; i < n; i++) {
        b[i] = 1; //так как 1 не кратен 2 и 3
        c[i] = 1;
    }
    for (int i = 0; i < n; i++) {
        if (a[i] % 2 == 0)
            b[i] = a[i];
        if (a[i] % 3 == 0)
            c[i] = a[i];
    }
    for (int i = 0; i < n; i++) {
        if (b[i] != 1)
            cout << b[i] << " ";
    }
    cout << endl;
    for (int i = 0; i < n; i++) {
        if (c[i] != 1)
            cout << c[i] << " ";
    }
 
    return 0;
}
1
0 / 0 / 0
Регистрация: 16.07.2016
Сообщений: 47
17.07.2016, 14:50  [ТС] 9
Спасибо большое
0
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
17.07.2016, 14:50

Заполнить массив числами кратными значению X
Заполнить массив числами кратными значению X. Число X и первое значение элемента массива вводятся с...

Заполнить матрицу числами кратными 5 из сегмента [с, d], записанными в порядке возрастания
Помогииииитееееее(((((( очень прошу! очень нужно( Дана матрица А(M,N) Оформить в...

Заполнить одномерный массив, состоящий из 30 элементов, числами кратными 25 затем отсортировать
Здравствуйте, у меня вот какая проблема мне нужно составить вот какую программу: Заполнить...

Вывести все элементы последовательности, являющиеся трехзначными числами, кратными семи
Напишите программу обработки последовательности целых чисел. На вход программе сначала подается...


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

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

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