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

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

Войти
Регистрация
Восстановить пароль
 
p3red0z
0 / 0 / 0
Регистрация: 26.11.2009
Сообщений: 8
#1

Вылет по непонятным причинам! - C++

01.12.2009, 01:22. Просмотров 375. Ответов 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
#include <iostream.h>
#include <conio.h>
#include<time.h>
#include<stdlib.h>
 
int main()
 {
 
   clock_t time;
   long int size=0;
   long int *Mas = new long int[size];
 
  cout << "Введите количество елементов массива:\n";
  cin >> size;
  cout << "\n\nМассив перед сортировкой:\n";
 
  for(int i=0; i < size; i++)
    { 
      Mas[i] = rand()%100;
      cout << Mas[i] << " \t";
    }
    
 
           delete[] Mas;
 
getch();
   return 0;
}


если задать массиву более 1000 елементов то получяем вылет из проги...в чём проблема? может кто поможет? заранее спасиб!
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
01.12.2009, 01:22     Вылет по непонятным причинам!
Посмотрите здесь:

C++ Вылет во время компилирования
Программа с непонятным выводом C++
программа по непонятным мне причинам работает неверно C++
C++ Вылет программы после завершения
C++ Вылет при срабатывании деструктора
Неопознанный вылет калькулятора C++
C++ Вылет после компиляции
Вылет программы на деструкторе C++
По каким причинам память не может быть выделена динамически? C++
C++ вылет из программы при выполнении
Функция по неизвестным причинам выводит текст дважды C++
По неизвестным причинам пропускается выполнение одной функции C++

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

Или воспользуйтесь поиском по форуму:
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
Monte-Cristo
2786 / 1372 / 30
Регистрация: 07.03.2009
Сообщений: 4,446
01.12.2009, 01:28     Вылет по непонятным причинам! #2
действительно ) удивительно... почему мы вылетаем??? наверное потому, что массив создается на 0 элементов на момент создания массива - size равна 0!
p3red0z
0 / 0 / 0
Регистрация: 26.11.2009
Сообщений: 8
01.12.2009, 01:37  [ТС]     Вылет по непонятным причинам! #3
я ставлю long int size;
и ваще сразу вылетает...помоги чайнику )))
Monte-Cristo
2786 / 1372 / 30
Регистрация: 07.03.2009
Сообщений: 4,446
01.12.2009, 01:40     Вылет по непонятным причинам! #4
p3red0z, млин, чайник ))) тебе же сказали

Цитата Сообщение от Monte-Cristo Посмотреть сообщение
на момент создания массива - size равна 0!
причем тут long int size?

у тебя же:

C++
1
2
long int size=0;
long int *Mas = new long int[size];
то есть равносильно созданию массива из НУЛЯ элементов

C++
1
long int *Mas = new long int[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
24
25
26
27
28
29
30
#include <iostream.h>
#include <conio.h>
#include<time.h>
#include<stdlib.h>
 
int main()
{
 
clock_t time;
long int size=0;
 
cout << "Введите количество елементов массива:\n";
cin >> size;
 
// вот тут уже создаем - так как, кол-во элементов уже введено :)
long int *Mas = new long int[size];
cout << "\n\nМассив перед сортировкой:\n";
 
for(int i=0; i < size; i++)
{
Mas[i] = rand()%100;
cout << Mas[i] << " \t";
}
 
 
delete[] Mas;
 
getch();
return 0;
}
Metal_666_
15 / 15 / 2
Регистрация: 19.10.2009
Сообщений: 187
01.12.2009, 01:41     Вылет по непонятным причинам! #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
#include <iostream.h>
#include <conio.h>
#include<time.h>
#include<stdlib.h>
 
int main()
{
 
clock_t time;
long int size;
 
cout << "Введите количество елементов массива:\n";//косяк тут был,сначало вводим количество
cin >> size;                                                          //элементов,потом делаем массив
 
long int *Mas = new long int[size];
 
 
cout << "\n\nМассив перед сортировкой:\n";
 
for(int i=0; i < size; i++)
{
Mas[i] = rand()%100;
cout << Mas[i] << " \t";
}
 
 
delete[] Mas;
 
getch();
return 0;
}
p3red0z
0 / 0 / 0
Регистрация: 26.11.2009
Сообщений: 8
01.12.2009, 01:43  [ТС]     Вылет по непонятным причинам! #6
всё понятно! уже просто мозг замозолился ...не вижу елементарного.... огромное спасибо! )))
Yandex
Объявления
01.12.2009, 01:43     Вылет по непонятным причинам!
Ответ Создать тему
Опции темы

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