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

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

Войти
Регистрация
Восстановить пароль
 
mad_rabbit
Сообщений: n/a
#1

Ошибка компиляции - C++

04.11.2010, 20:43. Просмотров 419. Ответов 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 <iostream>
using namespace std;
 
int main()
{
    int m;
    int n;      //n*m
    cout << "Введите размер матрицы: ";
    cin >> n >> m;
    
    int *mas = new int[n*m];
    
    cout << "Введите матрицу:\n";
    int i,j;
    for (i=0; i<n; i++)
    {
        for (j=0; j<m; j++)
        {
            cin >> mas[i][j];
        }
    }
    
    int tmp, norm;
    for (i=0; i<n; i++)
    {
        tmp = 0;
        for (j=0; i<m; j++)
        {
            tmp += mas[i][j];
        }
        if (tmp>norm) norm = tmp;
    }
    
    cout << "Норма матрицы: " << norm;
    return 0;
}
Ошибка:
g++ -Wall -o "dd" "dd.cpp" (в каталоге: /home/serg)
dd.cpp: In function ‘int main()’:
dd.cpp:19: error: invalid types ‘int[int]’ for array subscript
dd.cpp:29: error: invalid types ‘int[int]’ for array subscript
Сборка завершилась с ошибкой.
Подскажите что не так в этом коде?
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
04.11.2010, 20:43     Ошибка компиляции
Посмотрите здесь:

Ошибка компиляции - C++
int max,min,n; cout &lt;&lt; n; int min = 5; // тут выдает ошибку, что не так? int max = n / 5 * 5; int sum = (min + max) * ((max - min)...

Ошибка компиляции - C++
Исходник: // ConsoleApplication4.cpp: определяет точку входа для консольного приложения. // #include &lt;windows.h&gt; #include...

Ошибка компиляции - C++
Объяснте пожалуйста молодому, че за ошибка компилирования и как ее исправить (списано с книги): Спасибо. #include &lt;iostream.h&gt; class...

Ошибка компиляции - C++
Не могу скомпелировать код: #include &lt;iostream.h&gt; int main() { string s = &quot;&quot;; system(&quot;pause &gt;&gt; void&quot;); ...

Ошибка компиляции - C++
Практиковался с полученными знаниями, пытаясь написать что-то вроде игры. В коде #include &lt;iostream.h&gt; #include &lt;stdio.h&gt; int main() ...

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

Ошибка компиляции - C++
// KR_5.cpp: определяет точку входа для консольного приложения. // #include &quot;stdafx.h&quot; #include &quot;iostream&quot; #include &quot;math.h&quot; ...

С++ Ошибка компиляции - C++
тут проблема такая написал прогу, хочу в ней функции подключить и вот БАЦ и не компилирует не как, понять не могу тока почему. ...

Ошибка компиляции - C++
Написал код на тему шаблоны, но появились проблемы с созданием перегруженного оператора, так же не могу создать динамический массив...

Ошибка компиляции - C++
Парни , что я делаю не так? #include &lt;iostream&gt; #include &lt;vector&gt; #include &lt;string&gt; using namespace std; class Token ...


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

Или воспользуйтесь поиском по форуму:
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
KuKu
1556 / 1034 / 76
Регистрация: 17.04.2009
Сообщений: 2,974
04.11.2010, 20:46     Ошибка компиляции #2
Цитата Сообщение от mad_rabbit Посмотреть сообщение
cin >> mas[i][j];
вы выделяли память на массив, а не на массив массивов.
mad_rabbit
Сообщений: n/a
04.11.2010, 21:28     Ошибка компиляции #3
Эта проблема решилась, но теперь возникает ошибка сегментации при работе программы. Вот код:
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
39
#include <iostream>
using namespace std;
 
int main()
{
    int n,m;        //n*m
    int i,j;        //счетчики
    cout << "Введите размер матрицы: ";
    cin >> n >> m;
    
    int **mas = new int *[n];
    for (i=0; i<n; i++)
    {
        mas[i] = new int[m];
    }
    
    cout << "Введите матрицу:\n";
    for (i=0; i<n; i++)
    {
        for (j=0; j<m; j++)
        {
            cin >> mas[i][j];
        }
    }
    
    int tmp, norm;
    for (i=0; i<n; i++)
    {
        tmp = 0;
        for (j=0; i<m; j++)
        {
            tmp += mas[i][j];
        }
        if (tmp>norm) norm = tmp;
    }
    
    cout << "Норма матрицы: " << norm;
    return 0;
}
KuKu
1556 / 1034 / 76
Регистрация: 17.04.2009
Сообщений: 2,974
04.11.2010, 21:31     Ошибка компиляции #4
C++
1
 for (j=0; i<m; j++)
точно i ?
ForEveR
В астрале
Эксперт С++
7969 / 4731 / 320
Регистрация: 24.06.2010
Сообщений: 10,539
Завершенные тесты: 3
04.11.2010, 21:42     Ошибка компиляции #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
#include <iostream>
using namespace std;
 
int main()
{
        int m;
        int n;          //n*m
        cout << "Введите размер матрицы: ";
        cin >> n >> m;
        
        int *mas = new int[n*m];
        
        cout << "Введите матрицу:\n";
        int i,j;
        for (i=0; i<n; i++)
        {
                for (j=0; j<m; j++)
                {
                        cin >> mas[i+m*j];
                }
        }
        
        int tmp, norm=0;
        for (i=0; i<n; i++)
        {
                tmp = 0;
                for (j=0; j<m; j++)
                {
                        tmp += mas[i+m*j];
                }
                if (tmp>norm) norm = tmp;
        }
        
        cout << "Норма матрицы: " << norm;
        delete[] mas;
        return 0;
}
KuKu
1556 / 1034 / 76
Регистрация: 17.04.2009
Сообщений: 2,974
04.11.2010, 21:44     Ошибка компиляции #6
ForEveR, а так и надо наверное по-хорошему. Тут правда это не очень принципиально.
Yandex
Объявления
04.11.2010, 21:44     Ошибка компиляции
Ответ Создать тему
Опции темы

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