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

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

Войти
Регистрация
Восстановить пароль
 
M@k7
6 / 6 / 0
Регистрация: 17.10.2011
Сообщений: 165
#1

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

20.12.2013, 01:47. Просмотров 277. Ответов 8
Метки нет (Все метки)

Что я делаю не так?
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
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
20.12.2013, 01:47
Здравствуйте! Я подобрал для вас темы с ответами на вопрос Почему не работает обход массива? (C++):

Объяснить почему не работает заполнение массива - C++
#include &lt;iostream&gt; #include &lt;cstdio&gt; #include &lt;fstream&gt; #include &lt;string&gt; #include &lt;stdlib.h&gt; using namespace std; int...

Почему работает программа при выходе за пределы массива? - C++
Добрый день, возникла проблема. Я задал одномерный массив из 10 элементов, однако, когда в я цикле пытаюсь присвоить значения большему...

Почему код работает, хотя есть выход за пределы массива? - C++
Здравствуйте, собственно, хотел спросить. Почему этот код работает, несмотря на то, что в 35 строке массив выходит за пределы? Может я...

Массив: Первый способ сортировки массива работает, а второй - нет, почему? - C++
Первый способ работает, а второй нет #pragma hdrstop #pragma argsused #ifdef _WIN32 #include &lt;tchar.h&gt; #include &lt;windows.h&gt;...

Произведение элементов одномерного массива. Код работает, но почему-то путает знаки - C++
using namespace std; int main(){ int mas; for ( int i=0; i&lt;20; i++) { cout&lt;&lt;&quot;A=&quot;; cin&gt;&gt;mas; } /*for (int...

Выяснить почему после ввода первого элемента массива цикл не работает (std::cin в цикле for) - C++
Добрый день! Взялся за простой пример из книги Лафоре. #include &lt;iostream&gt; #include &lt;iomanip&gt; using namespace std; const...

8
Croessmah
Ушел
Эксперт CЭксперт С++
13553 / 7704 / 872
Регистрация: 27.09.2012
Сообщений: 19,006
Записей в блоге: 3
Завершенные тесты: 1
20.12.2013, 01:56 #2
Цитата Сообщение от M@k7 Посмотреть сообщение
Что я делаю не так?
Сначала хочется понять что это вообще такое!
0
M@k7
6 / 6 / 0
Регистрация: 17.10.2011
Сообщений: 165
20.12.2013, 01:57  [ТС] #3
просто динамический двумерный массив
рандомно заполняю
потом вывожу
0
Croessmah
Ушел
Эксперт CЭксперт С++
13553 / 7704 / 872
Регистрация: 27.09.2012
Сообщений: 19,006
Записей в блоге: 3
Завершенные тесты: 1
20.12.2013, 02:01 #4
Цитата Сообщение от M@k7 Посмотреть сообщение
рандомно заполняю
одну и туже область памяти для "каждой строчки", поэтому и получается "последняя строчка"
Цитата Сообщение от M@k7 Посмотреть сообщение
просто динамический двумерный массив
где? Почитайте про выделение памяти и о операторе запятая
0
M@k7
6 / 6 / 0
Регистрация: 17.10.2011
Сообщений: 165
20.12.2013, 02:01  [ТС] #5
почему первый и второй выводы разные?
0
Wc3Mapmaker
2 / 2 / 1
Регистрация: 19.12.2013
Сообщений: 9
20.12.2013, 07:07 #6
это типо Pascal в c++ [,]
0
azoller
17 / 17 / 1
Регистрация: 03.05.2013
Сообщений: 114
20.12.2013, 08:33 #7
Вам необходимо обратить внимание на выделение памяти под свой массив.
0
zss
Модератор
Эксперт С++
6516 / 6078 / 2001
Регистрация: 18.12.2011
Сообщений: 15,792
Завершенные тесты: 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;
1
MrGluck
Модератор
Эксперт CЭксперт С++
7488 / 4603 / 691
Регистрация: 29.11.2010
Сообщений: 12,589
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;
}
1
20.12.2013, 12:01
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
20.12.2013, 12:01
Привет! Вот еще темы с ответами:

Почему при вводе элементов массива, программа прекращает работу или работает не так, как ожидается? - C++
При вводе элементов массива, программа прекращает работу или не правильно работает. Например если указать размер массива 10 , то ввод...

Почему не работает цикл while для заполнения и do while для вывода массива? - C++
//--------------------------------------------------------------------------- #include &lt;vcl.h&gt; #include &lt;conio.h&gt; #include...

Почему выводится в виде таблицы и почему не работает сортировка - C++
почему выводится в виде таблицы? почему не работает сортировка? и как туда можно вставить классы комнат? hotel.h #include...

Обход двумерного массива - C++
Сап, нужна помощь Образовать два одномерных массива путем перезаписи в них элементов из заданного целочисленного двумерного...


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

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

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