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

Почему не работает обход массива? - C++

Восстановить пароль Регистрация
 
M@k7
 Аватар для M@k7
6 / 6 / 0
Регистрация: 17.10.2011
Сообщений: 165
20.12.2013, 01:47     Почему не работает обход массива? #1
Что я делаю не так?
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
    int **mas = new int*[5,5];
    for (int i=0; i<5; i++)
    {
        for (int j=0; j<5; j++)
        {
            mas[i,j]=new int(i+j);
            cout<<*mas[i,j]<<" ";
        }
        cout<<endl;
    }
    cout<<endl<<endl;
    for (int i=0; i<5; i++)
    {
        for (int j=0; j<5; j++)
        {
            cout<<*mas[i,j]<<" ";
        }
        cout<<endl;
    }
    cout<<endl<<endl;
результат работы

0 1 2 3 4
1 2 3 4 5
2 3 4 5 6
3 4 5 6 7
4 5 6 7 8


4 5 6 7 8
4 5 6 7 8
4 5 6 7 8
4 5 6 7 8
4 5 6 7 8
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
20.12.2013, 01:47     Почему не работает обход массива?
Посмотрите здесь:

C++ обход массива рендом.
C++ рекурсивный обход двумерного массива
C++ Обход массива рекурсией
C++ Почему в динамическом массиве не работает то, что работает со статическим?
C++ Массивы. найти индексы тех элементов массива , которые больше своего правого соседа и количество таких элементов (почему то не работает корректно)
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
Croessmah
Модератор
Эксперт С++
 Аватар для Croessmah
11818 / 6797 / 769
Регистрация: 27.09.2012
Сообщений: 16,870
Записей в блоге: 2
Завершенные тесты: 1
20.12.2013, 01:56     Почему не работает обход массива? #2
Цитата Сообщение от M@k7 Посмотреть сообщение
Что я делаю не так?
Сначала хочется понять что это вообще такое!
M@k7
 Аватар для M@k7
6 / 6 / 0
Регистрация: 17.10.2011
Сообщений: 165
20.12.2013, 01:57  [ТС]     Почему не работает обход массива? #3
просто динамический двумерный массив
рандомно заполняю
потом вывожу
Croessmah
Модератор
Эксперт С++
 Аватар для Croessmah
11818 / 6797 / 769
Регистрация: 27.09.2012
Сообщений: 16,870
Записей в блоге: 2
Завершенные тесты: 1
20.12.2013, 02:01     Почему не работает обход массива? #4
Цитата Сообщение от M@k7 Посмотреть сообщение
рандомно заполняю
одну и туже область памяти для "каждой строчки", поэтому и получается "последняя строчка"
Цитата Сообщение от M@k7 Посмотреть сообщение
просто динамический двумерный массив
где? Почитайте про выделение памяти и о операторе запятая
M@k7
 Аватар для M@k7
6 / 6 / 0
Регистрация: 17.10.2011
Сообщений: 165
20.12.2013, 02:01  [ТС]     Почему не работает обход массива? #5
почему первый и второй выводы разные?
Wc3Mapmaker
 Аватар для Wc3Mapmaker
2 / 2 / 1
Регистрация: 19.12.2013
Сообщений: 9
20.12.2013, 07:07     Почему не работает обход массива? #6
это типо Pascal в c++ [,]
azoller
17 / 17 / 1
Регистрация: 03.05.2013
Сообщений: 114
20.12.2013, 08:33     Почему не работает обход массива? #7
Вам необходимо обратить внимание на выделение памяти под свой массив.
zss
Модератор
Эксперт С++
 Аватар для zss
5942 / 5547 / 1783
Регистрация: 18.12.2011
Сообщений: 14,164
Завершенные тесты: 1
20.12.2013, 08:38     Почему не работает обход массива? #8
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
int **mas = new int*[5];
    for (int i=0; i<5; i++)
    {
           mas[i]=new int[5];
           for (int j=0; j<5; j++)
           {
               mas[i][j]=rand();
               cout<<mas[i][j]<<" ";
           }
        }
        cout<<endl;
    }
    cout<<endl<<endl;
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
20.12.2013, 12:01     Почему не работает обход массива?
Еще ссылки по теме:

C++ Произведение элементов одномерного массива. Код работает, но почему-то путает знаки
C++ Почему не работает цикл while для заполнения и do while для вывода массива?
C++ Почему код работает, хотя есть выход за пределы массива?

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

Или воспользуйтесь поиском по форуму:
MrGluck
Ворчун
Эксперт С++
 Аватар для MrGluck
4920 / 2663 / 243
Регистрация: 29.11.2010
Сообщений: 7,409
20.12.2013, 12:01     Почему не работает обход массива? #9
Столько new[] и ни одного delete[]

Да и srand не видно

Добавлено через 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
#include <cstdlib>
#include <ctime>
#include <iostream>
 
int main()
{
    int **A, M, N; // матрица и размерности
    std::cout << "M = ";
    std::cin >> M;
    std::cout << "N = ";
    std::cin >> N;
    srand(time(0)); // инициализируем ГСЧ
 
    // выделяем память под M "строк"
    A = new int*[M];
    // для каждой строки
    for (int i=0; i < M; i++)
    {
        // выделяем память под N элементов
        A[i] = new int[N];
        // для каждого элемента из полученной строки
        for (int j=0; j < N; j++)
        {
            A[i][j] = rand() % 10;       // генерируем СЧ в диапазоне [0, 9]
            std::cout << A[i][j] << " "; // выводим его на экран
        }
        std::cout << std::endl;
    }
 
    // hard calculation
 
    // память больше не нужна, освобждаем её
    for (int i=0; i < M; i++)
        delete[] A[i];
    delete[] A;
}
Yandex
Объявления
20.12.2013, 12:01     Почему не работает обход массива?
Ответ Создать тему
Опции темы

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