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

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

Войти
Регистрация
Восстановить пароль
 
Рейтинг: Рейтинг темы: голосов - 12, средняя оценка - 4.83
fantaz1
33 / 25 / 1
Регистрация: 08.11.2008
Сообщений: 107
#1

Вылетает ошибка при запуске программы - C++

14.11.2008, 18:18. Просмотров 1479. Ответов 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
#include <iostream.h>
#include <conio.h>
#include <math.h>
#include <windows.h>
 
int main(){
    int n,m,i,j;
    int A[n][m],B[n][m],C[n][m];
    cout<<"Vvedite kol-vo strok\n";
    cin>>n;
    cout<<"Vvedite kol-vo stolbcov\n";
    cin>>m;
    cout<<"Vvedite elementi matrici A\n";
    for(i=0;i<n;i++){
                     for(j=0;j<m;j++){
                                      cout<<"A["<<i<<"]["<<j<<"]= ";
                                      cin>>A[i][j];
                                      }
                     }
    cout<<"Vvedite elementi matrici B\n";
    for(i=0;i<n;i++){
                     for(j=0;j<m;j++){
                                      cout<<"B["<<i<<"]["<<j<<"]= ";
                                      cin>>B[i][j];
                                      }
                     }
    for(i=0;i<n;i++){
                     for(j=0;j<m;j++){
                                      C[i][j]=A[i][j]+B[i][j];
                                      cout<<"C["<<i<<"]["<<j<<"]= "<<C[i][j]<<endl; 
                                      }
                     }
getch();
return 0;
}
P.S. работаю в Dev-C++ 4.9.9.2, если это поможет...
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
14.11.2008, 18:18     Вылетает ошибка при запуске программы
Посмотрите здесь:

C++ Ошибка при запуске программы
C++ Ошибка при запуске программы
Ошибка при запуске программы C++
C++ Ошибка при запуске программы
Ошибка при запуске программы C++
C++ MinGW. При запуске откомпилированной программы вылетает ошибка, что библиотека libgcc_s_dw2-1.dll отсутствует.
C++ Ошибка при запуске программы
C++ При запуске программы вылетает Dev-C++
Ошибка при запуске программы C++
C++ CodeBlocks при запуске программы ошибка
C++ Ошибка при запуске программы
C++ Ошибка при запуске программы

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

Или воспользуйтесь поиском по форуму:
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
XuTPbIu_MuHTAu
Эксперт C++
2221 / 736 / 10
Регистрация: 27.05.2008
Сообщений: 1,508
14.11.2008, 18:36     Вылетает ошибка при запуске программы #2
Код
    int n,m,i,j;
    int A[n][m],B[n][m],C[n][m];
ага... попробуй представить,какого размера у тебя будут массивы?
fantaz1
33 / 25 / 1
Регистрация: 08.11.2008
Сообщений: 107
14.11.2008, 18:43  [ТС]     Вылетает ошибка при запуске программы #3
Так проблема решена, сам разобрался. Дело в том, как я понял, что вот этого делать незя:
int n,m,i,j;
int A[n][m],B[n][m],C[n][m];
Я перенес одну строчку подальше от первой и все стало норм (точнее после cin поставил) . Ошибка пропала!
Кто объяснит почему вылетает эта ошибка? Незя объявлять так много переменных сразу или в чем дело?
XuTPbIu_MuHTAu
Эксперт C++
2221 / 736 / 10
Регистрация: 27.05.2008
Сообщений: 1,508
14.11.2008, 19:24     Вылетает ошибка при запуске программы #4
Вообще-то,странно,что у тебя такой код компилируется. даже с "исправлениями". Массивы объявляются с константным размером,ты используешь переменный. Без динамического распределения памяти.В любом случае,ты объявлял массив неизвестного размера(n,m на момент объявления массива вообще могли быть отрицательными)
Alirp
55 / 50 / 1
Регистрация: 04.05.2008
Сообщений: 273
17.11.2008, 09:00     Вылетает ошибка при запуске программы #5
Цитата Сообщение от fantaz1 Посмотреть сообщение
Так проблема решена, сам разобрался. Дело в том, как я понял, что вот этого делать незя:
Я перенес одну строчку подальше от первой и все стало норм (точнее после cin поставил) . Ошибка пропала!
Кто объяснит почему вылетает эта ошибка? Незя объявлять так много переменных сразу или в чем дело?
Ошибка в том, что когда ты делаешь такое объявление массивов у тебя не известна его размерность, когда ты объявил интовые переменные, но не присвоил им конкретного значения, то в них может находится что угодно (любое значение), поэтому когда ты вызывал программу, массивы могли быть настолько большими, что программа вылетала из за нехватки памяти.
После того как ты перенес объявление массивов после cin, тем самым, ты сначала определил значения переменных, а затем уже объявил массивы с изветной размерностью.
Yandex
Объявления
17.11.2008, 09:00     Вылетает ошибка при запуске программы
Ответ Создать тему
Опции темы

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