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

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

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

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

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

программа по непонятным мне причинам работает неверно - C++
#include &lt;cstdio&gt; #include &lt;iostream&gt; #include &lt;clocale&gt; using namespace std; int main() { setlocale(LC_ALL,...

Программа с непонятным выводом - C++
#include &lt;iostream&gt; using namespace std; int main() { int s,b,a; cout &lt;&lt; &quot;Vvedite summu: &quot;; cin &gt;&gt; s; a = s /...

Функция по неизвестным причинам выводит текст дважды - C++
Привет, у меня функция после того, как пользователь ввел команду и уточнил номер, скажем, уровней, текст &quot;Enter a command or 'exit' to quit...

По неизвестным причинам пропускается выполнение одной функции - C++
Привет всем ! У меня странная проблема, пропускается выполнение одной функции, а компилятор не выдает ошибок, почему так выходит ? ...

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

Вылет после компиляции - C++
Реализация алгоритма Дейкстры. После запуска компиляции - вылет из CodeBlocks #include &quot;stdafx.h&quot; #include &lt;iostream&gt; using...

Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Monte-Cristo
2789 / 1375 / 30
Регистрация: 07.03.2009
Сообщений: 4,446
01.12.2009, 01:28 #2
действительно ) удивительно... почему мы вылетаем??? наверное потому, что массив создается на 0 элементов на момент создания массива - size равна 0!
0
p3red0z
0 / 0 / 0
Регистрация: 26.11.2009
Сообщений: 8
01.12.2009, 01:37  [ТС] #3
я ставлю long int size;
и ваще сразу вылетает...помоги чайнику )))
0
Monte-Cristo
2789 / 1375 / 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;
}
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;
}
0
p3red0z
0 / 0 / 0
Регистрация: 26.11.2009
Сообщений: 8
01.12.2009, 01:43  [ТС] #6
всё понятно! уже просто мозг замозолился ...не вижу елементарного.... огромное спасибо! )))
0
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
01.12.2009, 01:43
Привет! Вот еще темы с ответами:

Вылет во время компилирования - C++
у меня проблема код компилится и хорошо все работает в Dev C++ 4.9.9.2, но не компилется в visual c++ 6.0, просто вылетает в определенный...

Неопознанный вылет калькулятора - C++
функция перевода стала криво работать после переписывания кода на классы. при запуске просто зависает. есть какие-то идеи? #pragma...

Вылет программы на деструкторе - C++
Здравствуйте, подскажите пожалуйста что не так? Программа не корректно завершается #pragma once #pragma warning(disable:4996) ...

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


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

Или воспользуйтесь поиском по форуму:
Yandex
Объявления
01.12.2009, 01:43
Ответ Создать тему
Опции темы

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