С наступающим Новым годом! Форум программистов, компьютерный форум, киберфорум
Наши страницы
С++ для начинающих
Войти
Регистрация
Восстановить пароль
 
Рейтинг 5.00/4: Рейтинг темы: голосов - 4, средняя оценка - 5.00
PAN_DA
1 / 1 / 0
Регистрация: 27.11.2013
Сообщений: 52
1

Динамические массивы

03.11.2017, 12:55. Просмотров 725. Ответов 3
Метки нет (Все метки)

1/Удалить все элементы с четными индексами
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
66
67
68
69
70
71
72
73
74
75
76
77
78
#include<iostream>
#include<cstdlib>
#include<ctime>
using namespace std;
 
int array(int *ar, int n){ //Удалить все элементы с четными индексами   
 
int i;
 
for (i=0; i<n/2; i++){
ar[i]=ar[i*2-1];
cout<<"\t"<<ar[i];
 
}
 
 
}
 
 
 
 
int main()
{srand(time(NULL));
//----------------------
int n;
 
cout<<"vv kol-vo el-ov massiva: ";
 
cin>>n;
 
cout<<endl;
//------------------одномерный
int* ar=new int[n];
 
for (int i=0; i<n; i++)
 
{
 
ar[i]=rand()%101-50;
 
cout<<"\t"<<ar[i];
 
}
 
cout<<"\n\n";
 
array(ar,n);
//------------------матрица
 
/*int **ar2=new int*[n];
 
for (int i=0; i<n; i++)
 
ar2[i]=new int[n];
 
for (int i=0; i<n; i++)
 
{
 
for (int j=0; j<n; j++)
 
{
 
ar2[i][j]=rand()%20-10;
 
cout<<"\t"<<ar2[i][j];
 
}
 
cout<<"\n\n";
 
}
 
*/
 
system("pause");
return 0;
}
0
Лучшие ответы (1)
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
03.11.2017, 12:55
Ответы с готовыми решениями:

Динамические массивы и функции. Динамические массивы.
Дана матрица 6х8 целого типа. Создать одномерный массив, содержащий элементы...

Указатели и массивы. Индексация с помощью указателей. Передача массивов в функции. Динамические массивы (обработка матриц)
Для каждого элемента , bij, i= 1,...,n , j=1,...,n определяется свой...

Структуры, массивы, указатели, динамические массивы структур
Помогите с решением задачи (прикрепляю условие). Заранее спасибо.

динамические массивы
помогите разобраться с динамическими массивами . Надо составить программу...

Динамические массивы.
Пишу в Microsoft Visual Studio -&gt;Win32 Console application -&gt;C++. Может кто...

3
MrGluck
Модератор
Эксперт CЭксперт С++
8106 / 4958 / 1436
Регистрация: 29.11.2010
Сообщений: 13,454
03.11.2017, 13:10 2
PAN_DA, это два несвязанных задания. Их обязательно в один код пихать?
0
PAN_DA
1 / 1 / 0
Регистрация: 27.11.2013
Сообщений: 52
03.11.2017, 13:12  [ТС] 3
да,с использованием функций надо сделать
0
MrGluck
Модератор
Эксперт CЭксперт С++
8106 / 4958 / 1436
Регистрация: 29.11.2010
Сообщений: 13,454
03.11.2017, 13:23 4
Лучший ответ Сообщение было отмечено PAN_DA как решение

Решение

Размер массива изменить нельзя.
Только создать новый и перезаписать.
Либо заполнить оставшееся место нулями, как в примере ниже.
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
#include <iostream>
 
void Del(int *arr, const size_t N)
{
    for (size_t i = 0; i < N / 2; i++)
        arr[i] = arr[2*i + 1];
    // обнуляем остальные
    for (size_t i = N / 2; i < N; i++)
        arr[i] = 0;
}
 
void Print(int *arr, const size_t N)
{
    for (size_t i = 0; i < N; i++)
        std::cout << arr[i] << " ";
    std::cout << std::endl;
}
 
int main()
{
    const size_t N = 5;
    int *arr = new int[N];
    for (size_t i = 0; i < N; i++)
        arr[i] = i;
 
    Print(arr, N);
    Del(arr, N);
    Print(arr, N);
 
    delete[] arr;
}
Добавлено через 3 минуты
С выделением нового динамического массива
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
#include <iostream>
 
void Del(int *&arr, size_t &N)
{
    N /= 2;
    int *p = new int[N];
    for (size_t i = 0; i < N; i++)
        p[i] = arr[2*i + 1];
    delete[] arr;
    arr = p;
}
 
void Print(const int *arr, const size_t N)
{
    for (size_t i = 0; i < N; i++)
        std::cout << arr[i] << " ";
    std::cout << std::endl;
}
 
int main()
{
    size_t N = 5;
    int *arr = new int[N];
    for (size_t i = 0; i < N; i++)
        arr[i] = i;
 
    Print(arr, N);
    Del(arr, N);
    Print(arr, N);
 
    delete[] arr;
}
1
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
03.11.2017, 13:23

Динамические массивы
int memory=MAX_PATH; char* htmlBuff =(char*) malloc(memory * sizeof(char)); ...

Динамические массивы
Помогите сделать пожалуйста массивы a и с динамическими, чтобы не переполнять...

Динамические массивы
Добрый вечер! Проблема такая,плохо понимаю,как изменить в моей программе...


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

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

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