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

Вставить число в целочисленный массив после n-го элемента

23.11.2017, 14:47. Показов 2227. Ответов 10
Метки нет (Все метки)

Author24 — интернет-сервис помощи студентам
Необходимо написать программу, которая будет вставлять число а в целочисленный массив mas[8] после n-го элемента. Число a и позиция n задается пользователем. Написать функции для заполнения массива числами в диалоговом режиме, вывода одномерного массива на экран и вставки числа a после n-го элемента в массив.
Пока удалось разобраться только с этим:
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
#include<iostream>
using namespace std;
void main()
{
    setlocale(0,"");
    int mas[9];
    cout<<"Введите числа :\n";
        for (int i = 0; i < 8; i++) 
        {
            cout << '[' << i << ']' << ": ";
            cin >> mas[i];
        }
        cout << "mas[8]: ";
        for (int i = 0; i < 8; i++) 
        {
            cout << mas[i] << ' ';
        }
}
Очень надеюсь на помощь.
0
Лучшие ответы (1)
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
23.11.2017, 14:47
Ответы с готовыми решениями:

Вставить число k в массив после элемента с номером n
Вставить число k в массив после элемента с номером n. Входные данные Сперва вводят количество...

Вставить в массив после каждого минимального элемента число 100
Сформировать одномерный массив из 14 элементов с помощью генератора случайных чисел. Вставить в...

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

Вставить в массив заданное число после первого отрицательного элемента
1. Дан целочисленный линейный массив. Вставить в него заданное число после первого отрицательного...

10
1352 / 851 / 365
Регистрация: 26.02.2015
Сообщений: 3,799
23.11.2017, 15:14 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
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
#include <iostream>
#include <random>
#include <vector>
 
void fillArray( std::vector<int>& array );
void printArray( const std::vector<int>& array );
 
int main( ) {
 
    constexpr std::size_t size { 8 };
    std::vector<int> array( size );
 
    fillArray( array );
    printArray( array );
 
    std::cout
        << std::endl;
 
    int newElement { 0 };
    std::size_t position { 0 };
 
    std::cout
        << "Please, enter the new value and position: ";
    std::cin
        >> newElement >> position;
    
    if ( position > array.size( ) ) {
 
        std::cerr
            << "Position must be less than size of array!" << std::endl;
 
        return 1;
 
    }
 
    array.insert( array.begin( ) + position, newElement );
 
    printArray( array );
 
}
 
void fillArray( std::vector<int>& array ) {
 
    std::random_device rd;
    std::mt19937 gen( rd( ) );
    std::uniform_int_distribution<int> dist( 0, 100 );
 
    for ( auto& element : array ) {
 
        element = dist( gen );
 
    }
 
}
 
void printArray( const std::vector<int>& array ) {
 
    for ( const auto& element : array ) {
 
        std::cout
            << element << " ";
 
    }
 
}
0
0 / 0 / 0
Регистрация: 04.11.2017
Сообщений: 10
23.11.2017, 15:27  [ТС] 3
А без использования заголовочных файлов random и vector возможно?
0
1352 / 851 / 365
Регистрация: 26.02.2015
Сообщений: 3,799
23.11.2017, 15:58 4
Цитата Сообщение от Mockingjay Посмотреть сообщение
возможно
Уберите их и проверяйте. Я не умею без них на C++ писать.
0
зомбяк
1584 / 1218 / 345
Регистрация: 14.05.2017
Сообщений: 3,939
23.11.2017, 16:00 5
Цитата Сообщение от Mockingjay Посмотреть сообщение
А без использования заголовочных файлов
без них получится скорее С, чем С++.
0
0 / 0 / 0
Регистрация: 04.11.2017
Сообщений: 10
23.11.2017, 16:08  [ТС] 6
Если у вас есть варианты в С, то буду рад им
0
1352 / 851 / 365
Регистрация: 26.02.2015
Сообщений: 3,799
23.11.2017, 16:14 7
Цитата Сообщение от Mockingjay Посмотреть сообщение
Если у вас есть варианты в С
А, так это в другой ветке форума: https://www.cyberforum.ru/c/
0
1505 / 968 / 812
Регистрация: 30.04.2016
Сообщений: 3,334
23.11.2017, 16:59 8
Лучший ответ Сообщение было отмечено Mockingjay как решение

Решение

Mockingjay, здравствуйте! Вот решение:

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
45
46
47
48
49
50
51
52
53
#include <bits/stdc++.h>
 
const int M = 9;
 
using namespace std;
 
void InsertElement(int arr[], int j, int elem)
{
    for (int i = M; i >= j; i--)
    {
        arr[i] = arr[i-1];
    }
    arr[j] = elem;
}
 
void InputArray(int arr[])
{
    cout << "Enter an array:" << "\n";
    for (int i = 0; i < M - 1; i++)
    {
        cout << "mas[" << i << "] = ";
        cin >> arr[i];
    }
}
 
void PrintArray(int arr[])
{
    cout << "The array after the insert:" << "\n";
    for (int i = 0; i < M; i++)
    {
        cout << arr[i] << " ";
    }
}
 
using namespace std;
 
int main()
{
    int a, n;
    int mas[M];
    cout << "Enter some array elements:" << "\n";
    InputArray(mas);
    cout << "Enter an element:" << "\n";
    cout << "a = ";
    cin >> a;
    cout << "Enter a number of the element" << "\n";
    cout << "n = ";
    cin >> n;
    InsertElement(mas, n, a);
    PrintArray(mas);
    cin.get();
    return 0;
}
1
0 / 0 / 0
Регистрация: 04.11.2017
Сообщений: 10
23.11.2017, 17:12  [ТС] 9
Большое спасибо за помощь!
0
0 / 0 / 0
Регистрация: 04.11.2017
Сообщений: 10
23.11.2017, 17:39  [ТС] 10
Здравствуйте! Пожалуйста, помогите с написанием функций. Начальное задание состоит в том, чтобы вставить число а в целочисленный массив mas[7] после элемента b. а и b задается пользователем.
С этим справился, но необходимо написать функции для заполнения массива числами, вводимыми пользователем, вывода одномерного массива и вставки числа a после элемента b.
Вот что пока получилось
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
#include<iostream>
using namespace std;
void main()
{
    setlocale(0,"");
    int mas[8],a,b;
    cout<<"введите числа  массива\n";
        for (int i = 0; i < 7; i++) 
        {
            cout << '[' << i+1 << ']' << ": ";
            cin >> mas[i];
        }
        cout << "mas[7]: ";
        for (int i = 0; i < 7; i++) 
            cout << A[i] << ' ';
    cout<<"\nвведите число a\n";
    cin>>a;
    cout<<"введите номер элемента b\n";
    cin>>b;
    for ( int i = 8; i > b; i-- )
       mas[i] = mas[i-1];
    mas[b]=a; 
   cout << "mas[8]: ";
    for ( int i = 0; i < 8; i++ )
        cout << mas[i] << ' ';
    cout<<endl;
}
0
94 / 41 / 23
Регистрация: 18.09.2016
Сообщений: 379
23.11.2017, 17:52 11
Mockingjay, передавайте массив по ссылке, с кол - вом элементов и делайте с ним что хотите.
0
23.11.2017, 17:52
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
23.11.2017, 17:52
Помогаю со студенческими работами здесь

Массив: Вставить в него заданное число после первого отрицательного элемента
Дан целочисленный линейный массив. Вставить в него заданное число после первого отрицательного...

Дан массив после первого отрицательного элемента нужно вставить число
Дан массив после первого отрицательного элемента нужно вставить число.

Вставить число в массив целых чисел после первого отрицательного элемента
Вставить число в массив целых чисел: а)после первого отрицательного элемента б)перед последним...

Вставить заданное число в массив целых чисел после первого отрицательного элемента
Вставить заданное число в массив целых чисел после первого отрицательного элемента.


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

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

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2024, CyberForum.ru