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

Создание динамического массива и его обработка

24.11.2015, 13:51. Показов 729. Ответов 12
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Сформировать одномерный массив. Удалить из него элемент с заданным номером, добавить К элементов, начиная с заданного номера;
0
IT_Exp
Эксперт
34794 / 4073 / 2104
Регистрация: 17.06.2006
Сообщений: 32,602
Блог
24.11.2015, 13:51
Ответы с готовыми решениями:

Создание и обработка динамического массива
Порядок выполнения работы 1. Ввести размер массива; 2.Сформировать массив с помощью операции new или библиотечных функций malloc...

Создание динамического массива и его заполнение
как можно создать динамический массив чтобы пользователь сам ввел размерность и заполнил его? вот мои наработки. массив вроде создал, но...

Подскажите простую реализацию динамического массива и его использование с возможностью изменения его размера
Подскажите простую реализацию динамического масива и его использование с возможностью изменения его размера........спасибо))) ...

12
 Аватар для RAFA91
-28 / 35 / 25
Регистрация: 14.06.2013
Сообщений: 1,452
24.11.2015, 14:34
Цитата Сообщение от Мирон1 Посмотреть сообщение
Сформировать одномерный массив. Удалить из него элемент с заданным номером, добавить К элементов, начиная с заданного номера;
вектор в помощь
0
0 / 0 / 0
Регистрация: 19.10.2014
Сообщений: 153
24.11.2015, 15:48  [ТС]
RAFA91, можете написать код пожалуйста?
0
 Аватар для RAFA91
-28 / 35 / 25
Регистрация: 14.06.2013
Сообщений: 1,452
24.11.2015, 15:58
покажите для начала свои наработки.
1
0 / 0 / 0
Регистрация: 19.10.2014
Сообщений: 153
24.11.2015, 16:05  [ТС]
RAFA91,
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
#include "stdafx.h"
#include <iostream>
#include <conio.h>
#include <math.h>
#include <cstdio>
#include <locale.h>
 
using namespace std;
const int n = 5;
void InArr(int*, int);
void del(int*, int, int);
void main()
{
    setlocale(LC_CTYPE, "Russian");
    system("cls");
    int o, m = 5, p;
    int *a = new int[n];
    cout << "Введите массив:\n";
    InArr(a, m);
    cout << "Введите номер удаляемого элемента" << endl;
    cin >> p;
    p--;
    cout << "Конечный массив:\n";
    del(a, m, p);
    system("pause");
}
void InArr(int* a, int m)
{
    for (int k = 0; k<n; k++)
        cin >> a[k];
}
 
void del(int* a, int m, int p)     
{
    int *temp = new int[m - 1];
    for (int i = 0; i<m - 1; i++)
    {
        if (i >= p)
            temp[i] = a[i + 1];
        else
            temp[i] = a[i];
    }
    for (int i = 0; i<m - 1; i++)
        cout << temp[i] << " " << endl;
}
С добавлением проблема
0
16 / 16 / 10
Регистрация: 13.02.2013
Сообщений: 75
24.11.2015, 16:09
Цитата Сообщение от Мирон1 Посмотреть сообщение
добавить К элементов, начиная с заданного номера;
добавить или подменить уже существующий?
0
 Аватар для RAFA91
-28 / 35 / 25
Регистрация: 14.06.2013
Сообщений: 1,452
24.11.2015, 16:21
Цитата Сообщение от Мирон1 Посмотреть сообщение
InArr(a, m);
передавать размер массива тут не обязательно так как

C++
1
const int n = 5;
Цитата Сообщение от Мирон1 Посмотреть сообщение
cout << "Введите номер удаляемого элемента" << endl;
* * cin >> p;
надо сделать проверку что-бы номер не выходил за пределы массива
0
0 / 0 / 0
Регистрация: 19.10.2014
Сообщений: 153
24.11.2015, 16:25  [ТС]
alexeyj,а как лучше?

Добавлено через 23 секунды
RAFA91, а как лучше?

Добавлено через 1 минуту
alexeyj, скорее подменять ничего не надо здесь

Добавлено через 34 секунды
RAFA91, можете в коде поправить пожалуйста?
0
 Аватар для RAFA91
-28 / 35 / 25
Регистрация: 14.06.2013
Сообщений: 1,452
24.11.2015, 17:30
C++
1
2
3
4
5
6
7
8
9
10
11
void del(int* a, int m, int p)     
{
    int *p = a + (n-1);
    for (int i = 0; i<n - 1; i++)
    {
        if (i>=p) a[i] = a[i+1];
    }
    delete p;
    for (int i = 0; i<m - 1; i++)
        cout << a[i] << " " << endl;
}
Добавлено через 16 минут
C++
1
2
3
4
5
6
7
8
9
10
11
12
void del(int* a, int m, int p)     
{
    int *b = a + (n-1);
    for (int i = 0; i<n - 1; i++)
    {
        if (i>=p) a[i] = a[i+1];
    }
    //delete b;  тут хрен его знает почему ошибка
   
    for (int i = 0; i<m - 1; i++)
        cout << a[i] << " " << endl;
}
Добавлено через 37 минут
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
66
67
68
#include "stdafx.h"
#include <iostream>
#include <conio.h>
#include <math.h>
#include <cstdio>
#include <locale.h>
 
using namespace std;
int n = 5;
void InArr(int*, int);
int * del(int*, int, int);
int * add(int* a, int k, int p);
void main()
{
    setlocale(LC_CTYPE, "Russian");
    system("cls");
    int o, m = 5, p;
    int *a = new int[n];
    cout << "Введите массив:\n";
    InArr(a, m);
    cout << "Введите номер удаляемого элемента" << endl;
    cin >> p;
    p--;
    cout << "Конечный массив:\n";
    a = del(a, m, p);
    cout << "Введите номер add элемента" << endl;
    cin >> p;
    p--;
    add(a, 500, p) ;
    system("pause");
}
void InArr(int* a, int m)
{
    for (int k = 0; k<n; k++)
       a[k] = k+10;
}
 
int * del(int* a, int m, int p)     
{
    int *b = new int[n - 1];
    for (int i = 0; i<n - 1; i++)
    {
        if (i>=p) b[i] = a[i+1];
        else b[i] = a[i];
    }
    delete []a; 
    n--;
   
    for (int i = 0; i<n; i++)
        cout << b[i] << " " << endl;
    return b;
}
 
int * add(int* a, int k, int p)     
{
    int *b = new int[n+1];
    for (int i = 0; i<n+1; i++)
    {
        if (i==p) b[i] = k;
        else if(i>p) b[i] = a[i-1]; 
        else b[i] = a[i];
    }
    delete []a; 
    n++;
   for (int i = 0; i<n; i++)
        cout << b[i] << " " << endl;
    return b;
}
0
0 / 0 / 0
Регистрация: 19.10.2014
Сообщений: 153
25.11.2015, 11:55  [ТС]
RAFA91, а почему он добавляет только один элементов,нужно же К элементов,можете поправить в коде пожалуйста?

Добавлено через 15 часов 5 минут
RAFA91, и можете прокомментировать код пожалуйста?
0
 Аватар для RAFA91
-28 / 35 / 25
Регистрация: 14.06.2013
Сообщений: 1,452
25.11.2015, 12:37
Мирон1 попытайся теперь сам. идею я тебе подкинул.
0
0 / 0 / 0
Регистрация: 19.10.2014
Сообщений: 153
25.11.2015, 12:57  [ТС]
RAFA91,а можно комментарий к коду пожалуйста?
0
 Аватар для RAFA91
-28 / 35 / 25
Регистрация: 14.06.2013
Сообщений: 1,452
25.11.2015, 13:22
а что тут комментировать

add(int* a, int k, int p) вставляет на место с индексом p элемент который имеет значение k

хочешь вставить несколько значение так несколько раз вызывай add(int* a, int k, int p)

только не забывай возвращать указатель

C++
1
a = add(a, 500, p) ;
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
BasicMan
Эксперт
29316 / 5623 / 2384
Регистрация: 17.02.2009
Сообщений: 30,364
Блог
25.11.2015, 13:22
Помогаю со студенческими работами здесь

Обработка динамического массива
Почему выдает значение 1, когда должно быть 0. Помогите найти ошибку) #include &lt;iostream&gt; #include &lt;iomanip&gt; #include...

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

Обработка двумерного динамического массива
Напишите программа буду очень благодарна =) Написать программу, в которой создаются динамические массивы и выполнить их обработку в...

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

Создание динамического массива
Первое задание помогите пожалуйста.


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

Или воспользуйтесь поиском по форуму:
13
Ответ Создать тему
Новые блоги и статьи
Как дизайн сайта влияет на конверсию: 7 решений, которые реально повышают заявки
Neotwalker 08.03.2026
Многие до сих пор воспринимают дизайн сайта как “красивую оболочку”. На практике всё иначе: дизайн напрямую влияет на то, оставит человек заявку или уйдёт через несколько секунд. Даже если у вас. . .
Модульная разработка через nuget packages
DevAlt 07.03.2026
Сложившийся в . Net-среде способ разработки чаще всего предполагает монорепозиторий в котором находятся все исходники. При создании нового решения, мы просто добавляем нужные проекты и имеем. . .
Модульный подход на примере F#
DevAlt 06.03.2026
В блоге дяди Боба наткнулся на такое определение: В этой книге («Подход, основанный на вариантах использования») Ивар утверждает, что архитектура программного обеспечения — это структуры,. . .
Управление камерой с помощью скрипта OrbitControls.js на Three.js: Вращение, зум и панорамирование
8Observer8 05.03.2026
Содержание блога Финальная демка в браузере работает на Desktop и мобильных браузерах. Итоговый код: orbit-controls-threejs-js. zip. Сканируйте QR-код на мобильном. Вращайте камеру одним пальцем,. . .
SDL3 для Web (WebAssembly): Синхронизация спрайтов SDL3 и тел Box2D
8Observer8 04.03.2026
Содержание блога Финальная демка в браузере. Итоговый код: finish-sync-physics-sprites-sdl3-c. zip На первой гифке отладочные линии отключены, а на второй включены:. . .
SDL3 для Web (WebAssembly): Идентификация объектов на Box2D v3 - использование userData и событий коллизий
8Observer8 02.03.2026
Содержание блога Финальная демка в браузере. Итоговый код: finish-collision-events-sdl3-c. zip Сканируйте QR-код на мобильном и вы увидите, что появится джойстик для управления главным героем. . . .
Реалии
Hrethgir 01.03.2026
Нет, я не закончил до сих пор симулятор. Эта задача сложнее. Не получилось уйти в плавсостав, но оно и к лучшему, возможно. Точнее получалось - но сварщиком в палубную команду, а это значит, в моём. . .
Ритм жизни
kumehtar 27.02.2026
Иногда приходится жить в ритме, где дел становится всё больше, а вовлечения в происходящее — всё меньше. Плотный график не даёт вниманию закрепиться ни на одном событии. Утро начинается с быстрых,. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru