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

Ошибка - C++

Восстановить пароль Регистрация
 
Snoopy
1912 / 1069 / 90
Регистрация: 06.12.2008
Сообщений: 2,802
11.01.2011, 22:19     Ошибка #1
Объясните почему если записать так то работает все ок
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 <iostream.h>
using namespace std;
int main()
{
    int n, i, j;
    int a [n][n];
    srand(time(0));
    cout << "n= ";
    cin >> n;
    for (i=0; i<n; i++)
        {
        for (j=0; j<n; j++)
            {
                  a[i][j]=rand()%10-6;
                  cout << a[i][j] << "  ";
            };
            cout << "\n";
        };         
          
                 
    system("\npause");
    return 0;   
}
а если так, то виснет
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 <iostream.h>
using namespace std;
int main()
{
    int i, j, n;
    int a [n][n];
    srand(time(0));
    cout << "n= ";
    cin >> n;
    for (i=0; i<n; i++)
        {
        for (j=0; j<n; j++)
            {
                  a[i][j]=rand()%10-6;
                  cout << a[i][j] << "  ";
            };
            cout << "\n";
        };         
          
                 
    system("\npause");
    return 0;   
}
Добавлено через 25 секунд
имеется в виду 5 строчка
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
asics
Freelance
Эксперт C++
 Аватар для asics
2841 / 1778 / 144
Регистрация: 09.09.2010
Сообщений: 3,842
11.01.2011, 22:28     Ошибка #2
Snoopy, В 16 и 18 строках ; не надо.

Добавлено через 2 минуты
И вообще, код полнейший маразм(уж извините).Юзайте динамику, если хотите задавать размер матрицы во время выполнения програмы.

Добавлено через 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
#include <iostream>
using namespace std;
int main()
{
    int i, j, n;
    int **a;
    srand(time(0));
    cout << "n= ";
    cin >> n;
    a = new int *[n];
    for(i = 0; i < n; ++i)
        a[i] = new int[n];
 
    for (i=0; i<n; i++)
        {
        for (j=0; j<n; j++)
            {
                  a[i][j]=rand()%10-6;
                  cout << a[i][j] << "  ";
            }
            cout << "\n";
        }
 
     for(i = 0; i < n; ++i)
         delete[] a[i];
     delete a;
 
    //system("\npause");
    return 0;
}
Yandex
Объявления
11.01.2011, 22:28     Ошибка
Ответ Создать тему
Опции темы

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