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

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

Войти
Регистрация
Восстановить пароль
 
ДмитрийС
0 / 0 / 0
Регистрация: 07.01.2013
Сообщений: 5
#1

ошибка экзешника - C++

07.01.2013, 08:58. Просмотров 367. Ответов 9
Метки нет (Все метки)

Вообщем при некторых значениях n программа вылетает в чем беда не могу понять.

писал в dev'е

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
40
41
42
43
44
45
46
47
48
49
50
51
52
#include <stdio.h> //подключение библеотек
#include<stdlib.h>
#include <time.h>
#include <math.h>
 
int main () 
{
    int n;//объявление переменных
    printf("vvedite n=");//ввод n с клавиатуры
    scanf("%d", &n);
    
    int a[n];
    float S1=0,S2=0,S3=0,S4=0,S5=0;
    
    for (int i=0; i<n; i++)
    {
    a[i]=rand()%n;//автоматическое  заполнение массива
    printf("x=%d\n", a[i]);//вывод каждого эелемета массива на экран
    S1+=a[i];//суммирование элементов массива
    S2=S2*a[i];  //умножение элементов массива
    S3+=1/a[i];     //деление элементов массива                       
    S4+=a[i]*a[i]; //возведение в степень элемнтов массива
        if(a[i]==0){i++;}                       // сумма 5
 
    if((i%2==0)&&(a[i]>0))     // вычисление суммы полож. четных
    S5=S5+a[i];                  
    }
    
S1/=n;// Нахождение среднего арифметического
 
if(S2>=0)
S2=pow(S2,1/n);
else 
printf("S2<0");
S3=n/S3;
 
S4=sqrt(S4/n);
 
printf("S1=%f\n", S1);//Вывод среднего арифметического на экран
 
printf("S2=%f\n", S2);//среднее геометрическое
 
printf("S3=%f\n", S3);//среднее гармоническое
 
printf("S4=%f\n", S4);//среднее квадратичное
 
printf("S5=%f\n", S5);/*Сумму значений положительных и отрицательных элементов выборки,
имеющих четные номера*/
 
system("pause");
return (0);
}
сам экзешник прикладываю.
0
Вложения
Тип файла: rar 1.rar (4.6 Кб, 4 просмотров)
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
07.01.2013, 08:58
Здравствуйте! Я подобрал для вас темы с ответами на вопрос ошибка экзешника (C++):

Консольная программа для запуска экзешника с определенным параметром - C++
Друзья, я неочень разбираюсь в програмировании, хоть и пытаюсь учить это:)) Мне надо программа(батник протстой или консольное...

При запуске экзешника ошибка "Прекращена работа программы xxx.exe" - C (СИ)
Должен менять максимальный и минимальный элементы массива местами и выводить новый массив. Может, я где-то ошибку допустила? #include...

Создание экзешника - Софт
Всех приветствую. Сразу к делу. Программировать не умею,не представляю как. Но мне необходимо запустить 3D анимацию компаса через простой...

Узнать код экзешника - Delphi
Есть файлы теста... нужно, если это возможно, открыть этот экзешник и узнать откуда подгружаются вопросы для этого теста... Скажите...

помощь: редактирование экзешника - Assembler
добрый день всем ! Ищу программу для редактировать exe. Resource Tuner, Resourcce Hacker мне не помогли Смог убрать и поменять *.ico...

Проблемы с компиляцией экзешника - Delphi
Здравствуйте!У меня проблема есть проект на Delphi 10 при компиляции данного проекта в Delphi 10 XE пишет что экзешник не найден.Сам он...

Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Kastaneda
Форумчанин
Эксперт С++
4653 / 2862 / 228
Регистрация: 12.12.2009
Сообщений: 7,271
Записей в блоге: 2
Завершенные тесты: 1
07.01.2013, 10:09 #2
Вот так
Цитата Сообщение от ДмитрийС Посмотреть сообщение
C++
1
int a[n];
делать не правильно. DevC++ это компилирует, потому что там используется компилятор MinGW, у которого есть свои экстеншены, позволяющие это компилировать.
В данном случае память будет выделена на стеке и, возможно, проблема в этом - при больших значениях n массив съедает слишком много стека. Попробуй выделять память динамически, при помощи new.
0
ДмитрийС
0 / 0 / 0
Регистрация: 07.01.2013
Сообщений: 5
07.01.2013, 11:53  [ТС] #3
А можете написать, как его применить?
Я понятия не имею как, нас учили писать через int и например программа работает при n=8 при n=4 уже не работает
а при n=2 и 3 работает.
0
marina2
Рожденная для битвы
272 / 50 / 5
Регистрация: 08.11.2009
Сообщений: 1,020
07.01.2013, 12:11 #4
ДмитрийС, посмотри здесь
Создание динамического массива
0
Байт
Эксперт C
16062 / 10331 / 1540
Регистрация: 24.12.2010
Сообщений: 19,470
07.01.2013, 12:25 #5
Попробуй строчку 21 записать так
C
1
S3+=1.0/a[i];
Дело в том, что при твоей прежней записи если все a[i] > 1,
S3 = 0. Чем меньше n, тем больше вероятность такой оказии.
А почему это так - подумай о приведении типов в вычислении арифметических выражений...
0
Kastaneda
Форумчанин
Эксперт С++
4653 / 2862 / 228
Регистрация: 12.12.2009
Сообщений: 7,271
Записей в блоге: 2
Завершенные тесты: 1
07.01.2013, 12:34 #6
Кстати там еще может быть деление на 0. Т.к. srand() я ни где в коде не вижу, значит постоянно генерится одна и та же последовательность. Отсюда и такое странное повдение - при n = 2 или 3 работает, при 4 не работает, при других бОльших значениях работает. Похоже в этом и есть проблема.
0
Kastaneda
Форумчанин
Эксперт С++
4653 / 2862 / 228
Регистрация: 12.12.2009
Сообщений: 7,271
Записей в блоге: 2
Завершенные тесты: 1
07.01.2013, 12:42 #7
Так и есть
ошибка экзешника
1
ДмитрийС
0 / 0 / 0
Регистрация: 07.01.2013
Сообщений: 5
07.01.2013, 15:18  [ТС] #8
вообщем все сделал, но при компиляции выдает ошибку о srand'e указывая в библиотеке stdlib такую строку:
_CRTIMP void __cdecl srand (unsigned int);
0
ДмитрийС
0 / 0 / 0
Регистрация: 07.01.2013
Сообщений: 5
07.01.2013, 15:26  [ТС] #9
все сделал теперь работает а чтобы на наоль не делило написал условие теперь появился еше вопрос)

то что на скрине это мусор или что ?
0
Изображения
 
ДмитрийС
0 / 0 / 0
Регистрация: 07.01.2013
Сообщений: 5
07.01.2013, 15:37  [ТС] #10
все снова сделал но теперь S3 высчитвает неправильно постоянно ответ 1
0
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
07.01.2013, 15:37
Привет! Вот еще темы с ответами:

Прерывается выполнение экзешника - OpenGL
Все компилируется, но ехе-файл не выполняется. В консольном окне возвращаемое значение не 0. Работаю в CodeBlcks. Проблема в коде? #if...

Узнать код экзешника - C#
узнать код икзешника в си шарпе под графический интерфейс как можно через какую прогу вытащить готовый проект

Как поменять иконку экзешника в C++ - C#
Нашел как сделать это в шарпе - через свойства проекта, но в цпп в свойствах проекта тупо нет аналогичного пункта...

Вирусы из-за активации подозрительного экзешника - Удаление вирусов
Некорректная работа винды вследствие распространения вредоносных программ


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

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

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