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

Переписать числа в другой массив в следующем порядке: 5 положительных, 5 отрицательных, 5 положительных, 5

28.01.2017, 11:50. Показов 1545. Ответов 9

Студворк — интернет-сервис помощи студентам
Дано одномерный массив из n (n<=100) действительных чисел, данные в котором записаны в таком порядке: 10 положительных, 10 отрицательных, 10 положительных, 10 отрицательных и т.д. (n кратное 10). Переписать эти числа в другой массив в следующем порядке: 5 положительных, 5 отрицательных, 5 положительных, 5 отрицательных и т.д.
0
cpp_developer
Эксперт
20123 / 5690 / 1417
Регистрация: 09.04.2010
Сообщений: 22,546
Блог
28.01.2017, 11:50
Ответы с готовыми решениями:

Переписать компоненты файла f в файл g в следующем порядке: пять положительных, пять отрицательных и т.д.
Дан файл f, компоненты которого являются целыми числами. Никакая из компонент не равна нулю. Числа в файле идут в следующем порядке: десять...

Задан массив, состоящий из целых положительных и отрицательных чисел. Создать новый массив из положительных элементов старого
Задача: Задан массив, состоящий из целых положительных и отрицательных чисел. Создать новый массив из положительных элементов старого ...

Переписать компоненты файла f в файл g в таком порядке: два положительных, два отрицательных
Добрый день, уважаемые. Помогите, пожалуйста, с программой... Суть такая: дан файл f, компоненты которого являются целыми числами. Никакая...

9
Модератор
Эксперт по электронике
8978 / 6744 / 921
Регистрация: 14.02.2011
Сообщений: 23,854
28.01.2017, 12:14
наброски
C++
1
2
3
for(int i=0;i<20;i++)
 for(int j=0;j<5;j++)
   arr1[i*5+j]=arr2[i*5+j+5*(j%2==1)];
рассчитано на массив из 100 элементов
2
0 / 0 / 0
Регистрация: 15.11.2016
Сообщений: 30
28.01.2017, 12:47  [ТС]
А можно поподробнее?) а то у меня выводит -858993460
0
Диссидент
Эксперт C
 Аватар для Байт
27714 / 17332 / 3810
Регистрация: 24.12.2010
Сообщений: 38,978
28.01.2017, 12:57
Цитата Сообщение от Kou55 Посмотреть сообщение
у меня выводит -858993460
В коде ValeryS никакого вывода нет. Как нет и ввода. Значит, это выводит именно у тебя. Вот и и покажи свой код. И скажи, что ты вводишь. А уж мы попробуем найти, в чем дело.
0
0 / 0 / 0
Регистрация: 15.11.2016
Сообщений: 30
28.01.2017, 13:04  [ТС]

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>
using namespace std;
 
int main()
{
    setlocale(0, "");
    int i, j, n, a[100], b[100];
    cout << "Количество элементов: ";
    cin >> n;
    cout << "Последовательность: " << endl;
    for (int i = 0; i < n; i++)
    {
        cin >> a[i];
    }
    for (int i = 0; i < 20; i++)
    {
        for (int j = 0; j < 5; j++)
        {
            a[i*5 + j] = b[i*5+j+5 * (j % 2 == 1)];
            cout << b[i * 5 + j + 5 * (j % 2 == 1)];
        }       
    }
    system("pause");
    return 0;
}
0
Модератор
Эксперт по электронике
8978 / 6744 / 921
Регистрация: 14.02.2011
Сообщений: 23,854
28.01.2017, 13:09
Цитата Сообщение от Kou55 Посмотреть сообщение
C++
1
cout << b[i * 5 + j + 5 * (j % 2 == 1)];
а это зачем?
Цитата Сообщение от Kou55 Посмотреть сообщение
C++
1
cin >> a[i];
Цитата Сообщение от Kou55 Посмотреть сообщение
C++
1
a[i*5 + j] = b[i*5+j+5 * (j % 2 == 1)];
заполняем массив a, а считываем из массива b Оригинально
0
 Аватар для dailydose
671 / 217 / 88
Регистрация: 21.07.2016
Сообщений: 1,036
Записей в блоге: 2
28.01.2017, 14:52
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
int main()
{
    // 0. init
    constexpr size_t N = 20;
    std::vector<int> first(N);
    std::vector<int> second(N);
 
    // 1. fill
    std::random_device rd;
    std::default_random_engine dre(rd());
    std::uniform_int_distribution<int> distr(0, 9);
    std::generate(first.begin(), first.end(), std::bind(distr, dre));
    auto lambda = [](const int v) { return -v; };
    for (size_t i = 1, j = N / 10; i < j; i += 2)
    {
        std::transform(first.begin() + i * 10, first.begin() + i * 10 + 10, first.begin() + i * 10, lambda);
    }
    for (size_t i = 0; i < N / 10; ++i)
    {
        std::copy(first.begin() + i * 5, first.begin() + i * 5 + 5, second.begin() + i * 10);
        std::copy(first.begin() + i * 5 + 10, first.begin() + i * 5 + 15, second.begin() + i * 10 + 5);
    }
 
    // 2. print
    std::cout << "first:" << std::endl;
    std::copy(first.begin(), first.end(), std::ostream_iterator<int>(std::cout, " "));
    std::cout << std::endl;
 
    std::cout << "second:" << std::endl;
    std::copy(second.begin(), second.end(), std::ostream_iterator<int>(std::cout, " "));
    std::cout << std::endl;
 
    return 0;
}
first:
8 5 6 7 2 0 5 2 5 0 -9 -7 0 -4 -7 -3 -6 -1 -1 -7
second:
8 5 6 7 2 -9 -7 0 -4 -7 0 5 2 5 0 -3 -6 -1 -1 -7
Для продолжения нажмите любую клавишу . . .

Добавлено через 54 секунды
first:
8 8 4 7 6 2 1 7 8 7 0 -9 -7 -6 -2 -5 -1 -4 -8 -7 8 9 4 3 1 3 4 2 9 0 0 0 0 -9 -7 -1 0 -6 -9 -7
second:
8 8 4 7 6 0 -9 -7 -6 -2 2 1 7 8 7 -5 -1 -4 -8 -7 0 -9 -7 -6 -2 8 9 4 3 1 -5 -1 -4 -8 -7 3 4 2 9 0
Для продолжения нажмите любую клавишу . . .

Добавлено через 1 час 40 минут
Цитата Сообщение от dailydose Посмотреть сообщение
first:
8 8 4 7 6 2 1 7 8 7 0 -9 -7 -6 -2 -5 -1 -4 -8 -7 8 9 4 3 1 3 4 2 9 0 0 0 0 -9 -7 -1 0 -6 -9 -7
second:
8 8 4 7 6 0 -9 -7 -6 -2 2 1 7 8 7 -5 -1 -4 -8 -7 0 -9 -7 -6 -2 8 9 4 3 1 -5 -1 -4 -8 -7 3 4 2 9 0
Для продолжения нажмите любую клавишу . . .
исправил ошибку:
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
int main()
{
    // 0. init
    constexpr size_t N = 40U;
    std::vector<int> first(N);
    std::vector<int> second(N);
 
    // 1. fill first
    std::random_device rd;
    std::default_random_engine dre(rd());
    std::uniform_int_distribution<int> distr(1, 9);
    std::generate(first.begin(), first.end(), std::bind(distr, dre));
    auto lambda = [](const int v) { return -v; };
    for (size_t i = 1, j = N / 10; i < j; i += 2)
    {
        std::transform(first.begin() + i * 10, first.begin() + i * 10 + 10, first.begin() + i * 10, lambda);
    }
 
    // 2. copy to second from first
    for (size_t i = 0; i < N / 20; ++i)
    {
        // copy positive
        std::copy(first.begin() + i * 20, first.begin() + i * 20 + 5, second.begin() + i * 20);
        std::copy(first.begin() + i * 20 + 5, first.begin() + i * 20 + 10, second.begin() + i * 20 + 10);
        // copy negative
        std::copy(first.begin() + i * 20 + 10, first.begin() + i * 20 + 15, second.begin() + i * 20 +5);
        std::copy(first.begin() + i * 20 + 15, first.begin() + i * 20 + 20, second.begin() + i * 20 + 15);
    }
 
    // 3. print
    std::cout << "first:" << std::endl;
    std::copy(first.begin(), first.end(), std::ostream_iterator<int>(std::cout, " "));
    std::cout << std::endl;
 
    std::cout << "second:" << std::endl;
    std::copy(second.begin(), second.end(), std::ostream_iterator<int>(std::cout, " "));
    std::cout << std::endl;
 
    return 0;
}
first:
2 4 5 1 5 9 8 1 5 7 -1 -3 -7 -3 -1 -7 -5 -6 -1 -1 2 1 6 3 8 7 9 3 1 7 -8 -7 -2 -2 -2 -1 -7 -1 -1 -3
second:
2 4 5 1 5 -1 -3 -7 -3 -1 9 8 1 5 7 -7 -5 -6 -1 -1 2 1 6 3 8 -8 -7 -2 -2 -2 7 9 3 1 7 -1 -7 -1 -1 -3
Для продолжения нажмите любую клавишу . . .
1
 Аватар для Новичок
1682 / 1098 / 489
Регистрация: 17.07.2012
Сообщений: 5,360
28.01.2017, 21:23
swap_ranges
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
#include <iostream>
#include <vector>
#include <algorithm>
 
int main() {
    int x;
    std::vector <int> a;
    do {
        std::cin >> x;
        if (x)
            a.push_back(x);
    } while (x);
 
    std::cout << "INPUT:" << std::endl;
    for (size_t i = 0; i < a.size(); i += 5) {
        for (size_t j = i; j < i + 5; j++)
            std::cout << a[j] << " ";
        std::cout << std::endl;
    }
    
    for (size_t i = 15; i < a.size(); i += 20) 
        std::swap_ranges(a.begin() + i - 5, a.begin() + i, a.begin() + i - 10);
    
    std::cout << "OUTPUT:" << std::endl;
    for (size_t i = 0; i < a.size(); i += 5) {
        for (size_t j = i; j < i + 5; j++)
            std::cout << a[j] << " ";
        std::cout << std::endl;
    }
}
1
28.01.2017, 21:29

Не по теме:

Цитата Сообщение от Новичок Посмотреть сообщение
Я злой и сильный Новичок! И в чтеньи мыслей знаю толк! (это не я придумал если что :D)
А кто? :D

0
28.01.2017, 21:36

Не по теме:

Цитата Сообщение от Новичок Посмотреть сообщение
Я злой и сильный Новичок! И в чтеньи мыслей знаю толк!
А что? Очень даже симпатичное двустишие. Может быть завесть подраздел "Наша поэтика"?:D

0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
raxper
Эксперт
30234 / 6612 / 1498
Регистрация: 28.12.2010
Сообщений: 21,154
Блог
28.01.2017, 21:36
Помогаю со студенческими работами здесь

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

Переписать пять первых положительных элементов массива подряд в другой массив
Люди добрые, помогите решить пару задач на С++ на одномерные и двумерные массивы (я новичок и мало что в этом соображаю): 1)Дан массив Х....

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

Переписать компоненты файла f в файл g так, чтобы в файле g числа шли в следующем порядке:
Есть задание: Заданный файл f, компоненты которого являются целыми числами. Ни один из компонентов файла не равна нулю. Числа в файле идут...

Переписать компоненты файла f в файл g так, чтобы в файле g числа шли в следующем порядке
Дан файл f, компоненты которого являются целыми числами. Никакая из компонент файла f не равна нулю. Числа в файле идут в следующем...


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

Или воспользуйтесь поиском по форуму:
10
Ответ Создать тему
Новые блоги и статьи
PhpStorm 2025.3: WSL Terminal всегда стартует в ~
and_y87 14.12.2025
PhpStorm 2025. 3: WSL Terminal всегда стартует в ~ (home), игнорируя директорию проекта Симптом: После обновления до PhpStorm 2025. 3 встроенный терминал WSL открывается в домашней директории. . .
Как объединить две одинаковые БД Access с разными данными
VikBal 11.12.2025
Помогите пожалуйста !! Как объединить 2 одинаковые БД Access с разными данными.
Новый ноутбук
volvo 07.12.2025
Всем привет. По скидке в "черную пятницу" взял себе новый ноутбук Lenovo ThinkBook 16 G7 на Амазоне: Ryzen 5 7533HS 64 Gb DDR5 1Tb NVMe 16" Full HD Display Win11 Pro
Музыка, написанная Искусственным Интеллектом
volvo 04.12.2025
Всем привет. Некоторое время назад меня заинтересовало, что уже умеет ИИ в плане написания музыки для песен, и, собственно, исполнения этих самых песен. Стихов у нас много, уже вышли 4 книги, еще 3. . .
От async/await к виртуальным потокам в Python
IndentationError 23.11.2025
Армин Ронахер поставил под сомнение async/ await. Создатель Flask заявляет: цветные функции - провал, виртуальные потоки - решение. Не threading-динозавры, а новое поколение лёгких потоков. Откат?. . .
Поиск "дружественных имён" СОМ портов
Argus19 22.11.2025
Поиск "дружественных имён" СОМ портов На странице: https:/ / norseev. ru/ 2018/ 01/ 04/ comportlist_windows/ нашёл схожую тему. Там приведён код на С++, который показывает только имена СОМ портов, типа,. . .
Сколько Государство потратило денег на меня, обеспечивая инсулином.
Programma_Boinc 20.11.2025
Сколько Государство потратило денег на меня, обеспечивая инсулином. Вот решила сделать интересный приблизительный подсчет, сколько государство потратило на меня денег на покупку инсулинов. . . .
Ломающие изменения в C#.NStar Alpha
Etyuhibosecyu 20.11.2025
Уже можно не только тестировать, но и пользоваться C#. NStar - писать оконные приложения, содержащие надписи, кнопки, текстовые поля и даже изображения, например, моя игра "Три в ряд" написана на этом. . .
Мысли в слух
kumehtar 18.11.2025
Кстати, совсем недавно имел разговор на тему медитаций с людьми. И обнаружил, что они вообще не понимают что такое медитация и зачем она нужна. Самые базовые вещи. Для них это - когда просто люди. . .
Создание Single Page Application на фреймах
krapotkin 16.11.2025
Статья исключительно для начинающих. Подходы оригинальностью не блещут. В век Веб все очень привыкли к дизайну Single-Page-Application . Быстренько разберем подход "на фреймах". Мы делаем одну. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2025, CyberForum.ru