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

Сформировать новый массив на основе исходного, согласно условию

21.11.2016, 12:29. Показов 1679. Ответов 8
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
из заданного одномерного массива A[N] формирует новый массив B из элементов, значение которых не совпадают с первым и
последним элементами заданного массива
0
Лучшие ответы (1)
IT_Exp
Эксперт
34794 / 4073 / 2104
Регистрация: 17.06.2006
Сообщений: 32,602
Блог
21.11.2016, 12:29
Ответы с готовыми решениями:

Сформировать новый массив на основе исходного согласно условию
дан массив А (12)={2,5; 4,3; -0,57; 10,45; 1,5; -7,1; 11,4; 5,12; 4,9; 7,7; -12,3; 0,031}. Создайте массив В (12) по формуле В...

Заменить заданные элементы исходного массива согласно условию и сформировать новый массив
дан массив a(14). заменить все нечетные элементы с номером индекса и составить массив Б

Сформировать массив на основе исходной матрицы согласно условию
Задана матрица размером NxM. Получить массив B, присвоив его k-му элементу значение 1, если элементы k-й строки матрицы упорядочены по...

8
Модератор
Эксперт CЭксперт С++
 Аватар для sourcerer
5288 / 2376 / 342
Регистрация: 20.02.2013
Сообщений: 5,773
Записей в блоге: 20
21.11.2016, 12:33
Spoki, массив B такого же размера, как и массив А?
0
1 / 1 / 1
Регистрация: 20.11.2016
Сообщений: 31
21.11.2016, 12:36  [ТС]
Да, размерность А и B одинаковы
0
Модератор
Эксперт CЭксперт С++
 Аватар для sourcerer
5288 / 2376 / 342
Регистрация: 20.02.2013
Сообщений: 5,773
Записей в блоге: 20
21.11.2016, 12:44
Spoki, а в первый и последний элементы нового массива чего записать?
0
1 / 1 / 1
Регистрация: 20.11.2016
Сообщений: 31
21.11.2016, 12:45  [ТС]
Элементы массива должны задаваться рандомна
0
Модератор
Эксперт CЭксперт С++
 Аватар для sourcerer
5288 / 2376 / 342
Регистрация: 20.02.2013
Сообщений: 5,773
Записей в блоге: 20
21.11.2016, 12:54
Spoki, смотри, вот пример:
массив А:
55, 10, 11, 12, 13, 44

массив А:
??, 10, 11, 12, 13, ??
Вместо вопросиков какие числа должны быть во втором массиве?
0
1 / 1 / 1
Регистрация: 20.11.2016
Сообщений: 31
21.11.2016, 12:57  [ТС]
Сместить массив, а в пробелы 0
0
Модератор
Эксперт CЭксперт С++
 Аватар для sourcerer
5288 / 2376 / 342
Регистрация: 20.02.2013
Сообщений: 5,773
Записей в блоге: 20
21.11.2016, 13:23
Цитата Сообщение от Spoki Посмотреть сообщение
в пробелы 0
Давай не ноль, а, скажем, 99:
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
#include <iostream>
#include <vector>
#include <algorithm>
#include <ctime>
#include <random>
 
int main()
{
    const size_t FROM_NUM = 10;
    const size_t TO_NUM = 20;
    
    std::mt19937 mt( time( nullptr ) );
    std::uniform_int_distribution<size_t> dist( FROM_NUM, TO_NUM );
    
    size_t N = dist( mt );
 
    std::vector<size_t> A(N);
    
    for ( auto & elem : A )
        elem = dist( mt );
 
    for ( const auto & elem : A )
        std::cout << elem << " ";
    std::cout << "\n";
 
    std::vector<size_t> B(N);
 
    std::copy( A.begin(), A.end() , B.begin() );
    std::random_shuffle ( B.begin() + 1, B.end() - 1 );
    
    *B.begin() = 99;
    B.back() =  99;
 
    for ( const auto & elem : B )
        std::cout << elem << " ";
    std::cout << "\n";
 
    return 0;
}
0
Форумчанин
Эксперт CЭксперт С++
 Аватар для MrGluck
8216 / 5047 / 1437
Регистрация: 29.11.2010
Сообщений: 13,453
21.11.2016, 13:37
Лучший ответ Сообщение было отмечено gru74ik как решение

Решение

C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
#include <algorithm>
#include <iostream>
#include <iterator>
#include <random>
 
int main()
{
    const int N = 15;
    int A[N] = {}, B[N] = {};
    std::mt19937 gen {std::random_device()()};
    std::uniform_int_distribution<> dist(0, 9);
    std::generate(A, A + N, [&dist, &gen] { return dist(gen); });
    const int first = A[0], last = A[N-1];
    std::copy_if(A+1, A + N-1, B, [first, last](const int x) { return x != first && x != last; });
    std::copy(A, A + N, std::ostream_iterator<int>(std::cout, " "));
    std::cout << std::endl;
    std::copy(B, B + N, std::ostream_iterator<int>(std::cout, " "));
}
Добавлено через 4 минуты
На array:
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
#include <algorithm>
#include <array>
#include <iostream>
#include <iterator>
#include <random>
 
int main()
{
    std::array<int, 15> A, B={};
    std::mt19937 gen {std::random_device()()};
    std::uniform_int_distribution<> dist(0, 9);
    std::generate(A.begin(), A.end(), [&dist, &gen] { return dist(gen); });
    std::copy_if(A.begin()+1, A.end()-1, B.begin(), [&A](const int x) { return x != A.front() && x != A.back(); });
    std::copy(A.begin(), A.end(), std::ostream_iterator<int>(std::cout, " "));
    std::cout << std::endl;
    std::copy(B.begin(), B.end(), std::ostream_iterator<int>(std::cout, " "));
}
1
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
BasicMan
Эксперт
29316 / 5623 / 2384
Регистрация: 17.02.2009
Сообщений: 30,364
Блог
21.11.2016, 13:37
Помогаю со студенческими работами здесь

Копировать все элементы исходного массива в новый массив, предварительно изменив их согласно условию
Дан массив m. Надо переписать в массив n, где каждый элемент равен m*(сумма квадратов от 1до7). Например, массив m = { 3, 5, 2, 1 }; ...

Из заданного массива сформировать новый массив того же размера согласно условию
Помогите решить задачу: Дан массив A размера N. Сформировать новый массив B того же размера по следующему правилу: элемент B(k) равен...

Сформировать матрицу из исходного одномерного массива согласно условию
не получается, кто разбирается, помогите с решением

Сформировать массив согласно условию
из элементов массива D сформировать массив А того же размера по правилу:если номер чётный, то Aj=Dj*2, если нечётный, то Aj=Dj/j

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


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

Или воспользуйтесь поиском по форуму:
9
Ответ Создать тему
Новые блоги и статьи
Конвертировать закладки radiotray-ng в m3u-плейлист
damix 19.02.2026
Это можно сделать скриптом для PowerShell. Использование . \СonvertRadiotrayToM3U. ps1 <path_to_bookmarks. json> Рядом с файлом bookmarks. json появится файл bookmarks. m3u с результатом. # Check if. . .
Семь CDC на одном интерфейсе: 5 U[S]ARTов, 1 CAN и 1 SSI
Eddy_Em 18.02.2026
Постепенно допиливаю свою "многоинтерфейсную плату". Выглядит вот так: https:/ / www. cyberforum. ru/ blog_attachment. php?attachmentid=11617&stc=1&d=1771445347 Основана на STM32F303RBT6. На борту пять. . .
Символьное дифференцирование
igorrr37 13.02.2026
/ * Программа принимает математическое выражение в виде строки и выдаёт его производную в виде строки и вычисляет значение производной при заданном х Логарифм записывается как: (x-2)log(x^2+2) -. . .
Камера Toupcam IUA500KMA
Eddy_Em 12.02.2026
Т. к. у всяких "хикроботов" слишком уж мелкий пиксель, для подсмотра в ESPriF они вообще плохо годятся: уже 14 величину можно рассмотреть еле-еле лишь на экспозициях под 3 секунды (а то и больше),. . .
И ясному Солнцу
zbw 12.02.2026
И ясному Солнцу, и светлой Луне. В мире покоя нет и люди не могут жить в тишине. А жить им немного лет.
«Знание-Сила»
zbw 12.02.2026
«Знание-Сила» «Время-Деньги» «Деньги -Пуля»
SDL3 для Web (WebAssembly): Подключение Box2D v3, физика и отрисовка коллайдеров
8Observer8 12.02.2026
Содержание блога Box2D - это библиотека для 2D физики для анимаций и игр. С её помощью можно определять были ли коллизии между конкретными объектами и вызывать обработчики событий столкновения. . . .
SDL3 для Web (WebAssembly): Загрузка PNG с прозрачным фоном с помощью SDL_LoadPNG (без SDL3_image)
8Observer8 11.02.2026
Содержание блога Библиотека SDL3 содержит встроенные инструменты для базовой работы с изображениями - без использования библиотеки SDL3_image. Пошагово создадим проект для загрузки изображения. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru