Форум программистов, компьютерный форум, киберфорум
Наши страницы

С++ для начинающих

Войти
Регистрация
Восстановить пароль
 
bretba
63 / 58 / 5
Регистрация: 24.07.2011
Сообщений: 343
#1

динамические массивы - C++

29.01.2012, 15:21. Просмотров 436. Ответов 6
Метки нет (Все метки)

Никогда сильно не работал с динамическими массивами.Но это время пришло)

К примеру дана матрица из 8x8 элементов.Как к ней добавить еще один столбец или строку?Чтобы размер получился 8x9 или 9x8
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
29.01.2012, 15:21
Я подобрал для вас темы с готовыми решениями и ответами на вопрос динамические массивы (C++):

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

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

Динамические Массивы - C++
Выручайте ребята :friends: 1. Сформировать динамический одномерный массив, заполнить его случайными числами и вывести на печать. ...

Динамические массивы - C++
Помогите сделать задание пожалуйста , люди. Никак не могу понять как это оживить это... Язык: С++ MS VS: Win32 Console...

Динамические Массивы - C++
Есть массив с неизвестным количеством ячеек (или их нет пока). И когда пользователь вводит число - массив будет увеличиваться на 1 ячейку....

Динамические массивы - C++
Сдраствуйте надо написать програму на тему Динамические массивы Написать программу, использованием динамических массивов, вводя размер...

6
dimcoder
Полярный
466 / 439 / 68
Регистрация: 11.09.2011
Сообщений: 1,142
29.01.2012, 15:27 #2
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
#include <cstdlib>
#include <iostream>
 
using namespace std;
 
int main(int argc, char *argv[])
{
    int **a;
    a = new int*[8];
    for (int i = 0; i < 8; i++)
       a[i] = new int[8];
    a[6][7] = 132;
    cout << a[6][7] << endl;
    delete [] a;
    a = new int*[8];
    for (int i = 0; i < 8; i++)
        a[i] = new int[9];
    a[7][8] = 10;
    cout << a[7][8];
    system("PAUSE");
    return EXIT_SUCCESS;
}
0
bretba
63 / 58 / 5
Регистрация: 24.07.2011
Сообщений: 343
29.01.2012, 15:28  [ТС] #3
Объяснишь?
0
dimcoder
Полярный
466 / 439 / 68
Регистрация: 11.09.2011
Сообщений: 1,142
29.01.2012, 15:36 #4
Цитата Сообщение от bretba Посмотреть сообщение
Объяснишь?
ОК.

C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
#include <cstdlib>
#include <iostream>
 
using namespace std;
 
int main(int argc, char *argv[])
{
    int **a;                       //Создаем указатель на указатель
    a = new int*[8];           //a - указатель на массив из 8 элементов типа int*
    for (int i = 0; i < 8; i++)    //Теперь проходим по этим 8 элементам,
       a[i] = new int[8];          //и делаем так что каждый из них тоже указывает на массив из 8 элементов
    a[6][7] = 132;         //Присваеваем
    cout << a[6][7] << endl;       //Проверяем
    delete [] a;           //Обязательно очищаем выделенную под массив память
    a = new int*[8];               //По аналогии
    for (int i = 0; i < 8; i++)    //По аналогии
        a[i] = new int[9];         //делаем так что каждый из них тоже указывает на массив из 9 элементов
    a[7][8] = 10;
    cout << a[7][8];
    delete [] a;                   //А в прошлом посте забыл :pardon:
    system("PAUSE");
    return EXIT_SUCCESS;
}
0
bretba
63 / 58 / 5
Регистрация: 24.07.2011
Сообщений: 343
29.01.2012, 15:49  [ТС] #5
Понял вродеты создаешь динамический вектор,а потом задаешь,что каждый элемент этого вектора имеет тоже вектор.Получается матрица)
C++
1
  int **a;                       //Создаем указатель на указатель
вот это только не понял
0
dimcoder
Полярный
466 / 439 / 68
Регистрация: 11.09.2011
Сообщений: 1,142
29.01.2012, 15:59 #6
Всего лишь указатель на другой указатель.
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
#include <cstdlib>
#include <iostream>
 
using namespace std;
 
int main(int argc, char *argv[])
{
    int **a;
    int *b;
    int c;
    b = &c;
    a = &b;
    **a = 10;
    cout << c << endl;
 
    system("PAUSE");
    return EXIT_SUCCESS;
}
А вообще поищи на cplusplus.com про указатели, там есть отличные примеры.
1
go
Эксперт С++
3587 / 1367 / 130
Регистрация: 16.04.2009
Сообщений: 4,527
29.01.2012, 17:20 #7
Цитата Сообщение от bretba Посмотреть сообщение
Никогда сильно не работал с динамическими массивами.
Попробуйте
C++
1
std::vector
Добавлено через 6 минут
Ну или
C++
1
boost
0
29.01.2012, 17:20
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
29.01.2012, 17:20
Привет! Вот еще темы с ответами:

Динамические массивы. - C++
Дан одномерный массив, состоящий из 30 целых чисел. Создать другой массив, содержащий элементы исходного массива, кратные 5. Помогите...

динамические массивы - C++
Здравствуйте, Посмотрите ,пожалуйста,задачу! ...

Динамические массивы - C++
1. Добавить после каждого четного элемента элемент со значением 0 2. Добавить столбец в конец матрицы :-[пожалуйста

Динамические массивы - C++
1. Заданы два массива А(N) и В(M). Подсчитать в них количество отрицательных элементов и первым на печать вывести массив, имеющий...


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

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

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