Форум программистов, компьютерный форум CyberForum.ru

Создание двумерного массива - C++

Восстановить пароль Регистрация
 
Myptuk
1 / 1 / 0
Регистрация: 01.05.2013
Сообщений: 43
03.04.2014, 22:53     Создание двумерного массива #1
Год не кодил...всё напрочь забылось. нужно создать матрицу размером n x m, заполнить ее единичками и вывести результат. хоть убей не помню как объявить двумерный массив, учитывая то, что до этого на С# только делал, а сейчас надо на плюсах. так что среда С++.

то что пока набросал:

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
#include "stdafx.h"
#include <iostream>
using namespace std;
 
 
int _tmain(int argc, _TCHAR* argv[])
{
    setlocale(LC_ALL, "Russian");
 
    int n, m;
    cout<<"Введите количество строк: ";
    cin>>n;
        cout<<"Введите количество столбцов: ";
    cin>>m;
 
    int a[][] = new int a[n][m];
    for(int i=0; i<n; i++)
    {
        for(int j=0; j<m; j++)
        {
            a[i][j]=1;
        }
    }
 
     for(int i = 0; i < n; i++)
     {
        for(int j = 0; j < m; j++)
        {            
            cout<<a[i][j]<<' ';
        }
     }
 
    cin.get();
}
Заранее спасибо, заранее стыжусь написанного бреда, надеюсь напомните что к чему
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
monolit
179 / 179 / 21
Регистрация: 24.03.2011
Сообщений: 641
Завершенные тесты: 1
03.04.2014, 23:21     Создание двумерного массива #2
C++
1
2
3
4
5
6
7
8
9
int** a = new int* a[n];
    for(int i=0; i<n; i++)
    {
        a[i] = new int[m];
        for(int j=0; j<m; j++)
        {
            a[i][j]=1;
        }
    }
Вот так вот. И С++ - это не среда)
Myptuk
1 / 1 / 0
Регистрация: 01.05.2013
Сообщений: 43
04.04.2014, 00:06  [ТС]     Создание двумерного массива #3
Спасибо
some_name
Вежливость-главное оружие
 Аватар для some_name
219 / 219 / 55
Регистрация: 19.02.2013
Сообщений: 1,419
04.04.2014, 00:18     Создание двумерного массива #4
Лови!
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
#include "stdafx.h"
#include <iostream>
 
int main(){
 
    setlocale(LC_ALL, "Russian");
 
    int n, m;
    std::cout<<"Введите количество строк: ";
    std::cin>>n;
    std::cout<<"Введите количество столбцов: ";
    std::cin>>m;
 
    int** a = new int*[n];
    for (int i = 0; i < n; ++i) {
        a[i] = new int[m];
    }
    for(int i = 0; i < n; ++i) {
        for(int j = 0; j < m; ++j) {
            a[i][j] = 1;
        }
    }
 
    for(int i = 0; i < n; i++) {
        for(int j = 0; j < m; j++) {            
            std::cout<<a[i][j]<<' ';
        }
        std::cout<<std::endl;
    }    
 
    for (int i = 0; i < n; ++i){
        delete[] a[i];
    }
    delete[] a;
 
    system("pause");
    return 0;
}
rura
0 / 0 / 0
Регистрация: 08.01.2014
Сообщений: 152
14.06.2014, 01:31     Создание двумерного массива #5
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
#include "stdafx.h"
#include <iostream>
 
int main(){
 
    setlocale(LC_ALL, "Russian");
 
    int n, m;
    std::cout<<"Введите количество строк: ";
    std::cin>>n;
    std::cout<<"Введите количество столбцов: ";
    std::cin>>m;
 
    int** a = new int*[n];
    for (int i = 0; i < n; ++i) {
        a[i] = new int[m];
    }
    for(int i = 0; i < n; ++i) {
        for(int j = 0; j < m; ++j) {
            a[i][j] = 1;
        }
    }
 
    for(int i = 0; i < n; i++) {
        for(int j = 0; j < m; j++) {            
            std::cout<<a[i][j]<<' ';
        }
        std::cout<<std::endl;
    }    
 
    for (int i = 0; i < n; ++i){
        delete[] a[i];
    }
    delete[] a;
 
    system("pause");
    return 0;
}
А можете пожалуйста объяснить эту запись? Как и что делается в этих строчках?
frostyfull
31 / 31 / 8
Регистрация: 13.06.2014
Сообщений: 508
14.06.2014, 01:58     Создание двумерного массива #6
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
#include "stdafx.h"
#include <iostream>
 
int main(){
 
    setlocale(LC_ALL, "Russian");
 
    int n, m;
    std::cout<<"Введите количество строк: ";
    std::cin>>n; //ввод в переменную кол-ва строк
    std::cout<<"Введите количество столбцов: ";
    std::cin>>m; //тут кол-ва столбцов
 
    int** a = new int*[n]; //создание динамического массива указателей размером n, а-это указатель, на массив указателей
    for (int i = 0; i < n; ++i) {
        a[i] = new int[m]; //создание динамического массива размера m и помещение его адреса в a[i]
    }
    for(int i = 0; i < n; ++i) {
        for(int j = 0; j < m; ++j) {
            a[i][j] = 1; //забивание двумерного массива единичками
        }
    }
 
    for(int i = 0; i < n; i++) {
        for(int j = 0; j < m; j++) {            
            std::cout<<a[i][j]<<' '; //вывод на экран
        }
        std::cout<<std::endl;
    }    
 
    for (int i = 0; i < n; ++i){
        delete[] a[i]; //удаление массивов переменных
    }
    delete[] a; //удаление массива указателей
 
    system("pause");
    return 0;
}
Yandex
Объявления
14.06.2014, 01:58     Создание двумерного массива
Ответ Создать тему
Опции темы

Текущее время: 21:08. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru