Форум программистов, компьютерный форум, киберфорум
С++ для начинающих
Войти
Регистрация
Восстановить пароль
Карта форума Темы раздела Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 5.00/5: Рейтинг темы: голосов - 5, средняя оценка - 5.00
0 / 0 / 0
Регистрация: 02.01.2016
Сообщений: 38
1

Консольное приложение выполняется не полностью

03.11.2016, 19:51. Показов 916. Ответов 19
Метки нет (Все метки)

Author24 — интернет-сервис помощи студентам
Программа компиллируется, но выполняется только до строки

C++
1
cout<<"выборочное среднее квадратичное: "<<S<<endl;
Сам код:

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
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
#include <iostream>
#include <locale.h>
#include <conio.h>
#include <math.h>
 
 
using namespace std;
 
int main()
{
    setlocale(0,"");
    float f,k,sum1,mid,mid2,sum2,sum3,sum4,S,Ss,tpN,df,tt,rf,T[10],N[10],M[10],L[10][20],o,p,c,vpn;
    int n,i,h,g,m,u,x;
    start:;
    char form[200];
    o=0;
    sum1=0;
    sum2=0;
    cout<<"введите размер выборки"<<endl;
    cin>>n;
    cout<<"введите выборку"<<endl;
    for(i=1;i<=n;i++)
    {
        cin>>f;
        N[i]=f;
        sum1=sum1+f;
    }
    cout<<"введите приборную погрешность"<<endl;
    cin>>tt;
    mid=sum1/n;
    cout<<"выборочное среднее значение: "<<mid<<endl;
    for(i=1;i<=n;i++)
    {
        sum2=sum2+pow((N[i]-mid),2);
    }
    S=sqrt(sum2/(n-1));
    cout<<"выборочное среднее квадратичное: "<<S<<endl;
   
 
    
    if (n == 3)
            {
                vpn = 1.4;
            }
 
    else    if (n == 4)
            {
                vpn = 1.7;
            }
 
    else  if (n == 5)
            {
                vpn = 1.9;
            }
 
    else   if (n == 10)
            {
                vpn = 2.3;
            }
 
 
 
    m=n;
    for(i=1;i<=n;i++)
    {
     if((fabs(N[i]-mid))/S >=vpn)
     {
         M[i]=0;
         m--;
         cout<<"N["<<i<<"] - промах"<<mid<<endl;
     }
     else
     {
         M[i]=N[i];
     }
 
      for(i=1;i<=m;i++)
    {
        cin>>k;
        M[i]=k;
        sum3=sum3+k;
    }
 
      mid2=sum3/m;
      cout<<"выборочное среднее значение с учетом промахов: "<<mid<<endl;
 
      for(i=1;i<=m;i++)
    {
        sum4=sum4+pow((M[i]-mid2),2);
    }
    S=sqrt(sum4/(m-1));
    cout<<"выборочное среднее квадратичное с учетом промахов: "<<S<<endl;
    Ss=S/sqrt((float)m);
 
    cout<<"выборочное среднее квадратичное отклонение среднего: "<<Ss<<endl;
    if(n==3)
    {
        tpN=4.3;
    }
    if(n==4)
    {
        tpN=3.2;
    }
    if(n==5)
    {
        tpN=2.8;
    }
    if(n==10)
    {
        tpN=2.3;
    }
    df=Ss*tpN;
    cout<<"доверительная граница: "<<df<<endl;
    rf=df+tt;
    cout<<"погрешность измерений: "<<rf<<endl;
    cout<<"результат измерений: "<<mid<<"+/-"<<rf<<endl;
    cout << "Повторить? 1/0" << endl;
cin >> x;
if ( x == 1)
{
    goto start;
}
 
     return 0;
}
Миниатюры
Консольное приложение выполняется не полностью  
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
03.11.2016, 19:51
Ответы с готовыми решениями:

Eclipse, консольное приложение в jar не выполняется
Создаю в Eclipse через export &gt; runnable jar, джар создается без ошибок, но когда делаю java -jar...

Как открыть консольное приложение в .NET через другое консольное приложение .NET
Есть один вопрос. Как открыть консольное приложение .NET через другое консольное приложение .NET,...

консольное приложение (при запуске приложение открывалось на весь экран)
Как сделать, чтобы при запуске приложение открывалось на весь экран?

If выполняется не полностью
namespace Test { class Program { static void Main() { ...

19
nd2
3437 / 2816 / 1249
Регистрация: 29.01.2016
Сообщений: 9,426
03.11.2016, 20:04 2
for(), в 64 строке, где заканчивается?
0
7792 / 6559 / 2984
Регистрация: 14.04.2014
Сообщений: 28,669
03.11.2016, 20:12 3
Во-первых, массивы индексируются с нуля.
Где завершающая скобка цикла из 64-й строки? Если следующие вложены в него, то индексы другие используй, кроме i.
0
0 / 0 / 0
Регистрация: 02.01.2016
Сообщений: 38
04.11.2016, 14:59  [ТС] 4
Во-первых, массивы индексируются с нуля.
Где завершающая скобка цикла из 64-й строки? Если следующие вложены в него, то индексы другие используй, кроме i.
Исправил, не помогло
0
7792 / 6559 / 2984
Регистрация: 14.04.2014
Сообщений: 28,669
04.11.2016, 21:54 5
Актуальный вариант показывай.
0
0 / 0 / 0
Регистрация: 02.01.2016
Сообщений: 38
05.11.2016, 17:12  [ТС] 6
Актуальный вариант показывай.
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
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
#include <iostream>
#include <locale.h>
#include <conio.h>
#include <math.h>
 
 
using namespace std;
 
int main()
{
    setlocale(0,"");
    float f,k,sum1,mid,mid2,sum2,sum3,sum4,S,Ss,tpN,df,tt,rf,T[10],N[10],M[10],L[10][20],o,p,c,vpn;
    int n,i,h,g,m,u,x;
    start:;
    char form[200];
    o=0;
    sum1=0;
    sum2=0;
    cout<<"введите размер выборки"<<endl;
    cin>>n;
    cout<<"введите выборку"<<endl;
    for(i=0;i<=n;i++)
    {
        cin>>f;
        N[i]=f;
        sum1=sum1+f;
    }
    cout<<"введите приборную погрешность"<<endl;
    cin>>tt;
    mid=sum1/n;
    cout<<"выборочное среднее значение: "<<mid<<endl;
    for(i=0;i<=n;i++)
    {
        sum2=sum2+pow((N[i]-mid),2);
    }
    S=sqrt(sum2/(n-1));
    cout<<"выборочное среднее квадратичное: "<<S<<endl;
   
 
    
    if (n == 3)
            {
                vpn = 1.4;
            }
 
    else    if (n == 4)
            {
                vpn = 1.7;
            }
 
    else  if (n == 5)
            {
                vpn = 1.9;
            }
 
    else   if (n == 10)
            {
                vpn = 2.3;
            }
 
 
 
    m=n;
    for(i=0;i<=n;i++)
    {
     if((fabs(N[i]-mid))/S >=vpn)
     {
         M[i]=0;
         m--;
         cout<<"N["<<i<<"] - промах"<<mid<<endl;
     }
     else
     {
         M[i]=N[i];
     }
        }
 
      for(i=0;i<=m;i++)
    {
        cin>>k;
        M[i]=k;
        sum3=sum3+k;
    }
 
      mid2=sum3/m;
      cout<<"выборочное среднее значение с учетом промахов: "<<mid<<endl;
 
      for(i=0;i<=m;i++)
    {
        sum4=sum4+pow((M[i]-mid2),2);
    }
    S=sqrt(sum4/(m-1));
    cout<<"выборочное среднее квадратичное с учетом промахов: "<<S<<endl;
    Ss=S/sqrt((float)m);
 
    cout<<"выборочное среднее квадратичное отклонение среднего: "<<Ss<<endl;
    if(n==3)
    {
        tpN=4.3;
    }
    if(n==4)
    {
        tpN=3.2;
    }
    if(n==5)
    {
        tpN=2.8;
    }
    if(n==10)
    {
        tpN=2.3;
    }
    df=Ss*tpN;
    cout<<"доверительная граница: "<<df<<endl;
    rf=df+tt;
    cout<<"погрешность измерений: "<<rf<<endl;
    cout<<"результат измерений: "<<mid<<"+/-"<<rf<<endl;
    cout << "Повторить? 1/0" << endl;
cin >> x;
if ( x == 1)
{
    goto start;
}
 
     return 0;
}
Теперь слетает на 22 строке
Миниатюры
Консольное приложение выполняется не полностью   Консольное приложение выполняется не полностью  
0
Эксперт С++
4985 / 3092 / 456
Регистрация: 10.11.2010
Сообщений: 11,169
Записей в блоге: 10
05.11.2016, 17:18 7
Цитата Сообщение от ZRoman31 Посмотреть сообщение
Теперь слетает на 22 строке
Что "слетает"? Я на ваших скриншотах не вижу что что-то "слетает". У меня ваша программа работает до конца.
0
Любитель чаепитий
3742 / 1798 / 566
Регистрация: 24.08.2014
Сообщений: 6,016
Записей в блоге: 1
05.11.2016, 17:19 8
C++
25
N[i]=f;
Если n ввести больше 9, то будет выход за пределы массива.
0
Эксперт С++
4985 / 3092 / 456
Регистрация: 10.11.2010
Сообщений: 11,169
Записей в блоге: 10
05.11.2016, 17:23 9
22-я строка должна быть такая: for ( i = 0; i < n; i++ )

Цитата Сообщение от GbaLog- Посмотреть сообщение
Если n ввести больше 9, то будет выход за пределы массива.
Он говорит что при 5 какие-то проблемы...
0
Любитель чаепитий
3742 / 1798 / 566
Регистрация: 24.08.2014
Сообщений: 6,016
Записей в блоге: 1
05.11.2016, 17:49 10
Цитата Сообщение от castaway Посмотреть сообщение
Он говорит что при 5 какие-то проблемы...
Да я это так, при беглом осмотре увидел.
0
0 / 0 / 0
Регистрация: 02.01.2016
Сообщений: 38
05.11.2016, 18:38  [ТС] 11
Что "слетает"? Я на ваших скриншотах не вижу что что-то "слетает". У меня ваша программа работает до конца
Ну видно, что выполняется, но не до конца.До 22 строчки.
Странно.Можете заскринить?
0
0 / 0 / 0
Регистрация: 02.01.2016
Сообщений: 38
05.11.2016, 18:56  [ТС] 12
Цитата Сообщение от castaway Посмотреть сообщение
22-я строка должна быть такая: for ( i = 0; i < n; i++ )
Исправил, стало лучше.Но работает все равно не до конца)
Миниатюры
Консольное приложение выполняется не полностью  
0
Эксперт С++
4985 / 3092 / 456
Регистрация: 10.11.2010
Сообщений: 11,169
Записей в блоге: 10
05.11.2016, 18:58 13
Цитата Сообщение от ZRoman31 Посмотреть сообщение
Но работает все равно не до конца)
Ваша программа работает ровно так, как вы её написали.
1
0 / 0 / 0
Регистрация: 02.01.2016
Сообщений: 38
06.11.2016, 14:55  [ТС] 14
Цитата Сообщение от castaway Посмотреть сообщение
Ваша программа работает ровно так, как вы её написали.
Ну если б там не было ошибок, я бы сюда и не писал.А вот найти их у меня не получается)
Почему ни один из cout' ов после 37 строки не выводится тогда?
0
Эксперт С++
4985 / 3092 / 456
Регистрация: 10.11.2010
Сообщений: 11,169
Записей в блоге: 10
06.11.2016, 15:28 15
Цитата Сообщение от ZRoman31 Посмотреть сообщение
А вот найти их у меня не получается)
Ни у кого не получится их найти, пока вы не выложите исправленный код.
0
0 / 0 / 0
Регистрация: 02.01.2016
Сообщений: 38
06.11.2016, 22:29  [ТС] 16
Цитата Сообщение от castaway Посмотреть сообщение
Ни у кого не получится их найти, пока вы не выложите исправленный код.
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
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
#include <iostream>
#include <locale.h>
#include <conio.h>
#include <math.h>
 
 
using namespace std;
 
int main()
{
    setlocale(0,"");
    float f,k,sum1,mid,mid2,sum2,sum3,sum4,S,Ss,tpN,df,tt,rf,T,N[10],M[10],L[10][20],o,p,c,vpn;
    int n,i,h,g,m,u,x;
    start:;
    char form[200];
    o=0;
    sum1=0;
    sum2=0;
    cout<<"введите размер выборки"<<endl;
    cin>>n;
    cout<<"введите выборку"<<endl;
    for(i=0;i<n;i++)
    {
        cin>>f;
        N[i]=f;
        sum1=sum1+f;
    }
    cout<<"введите приборную погрешность"<<endl;
    cin>>tt;
    mid=sum1/n;
    cout<<"выборочное среднее значение: "<<mid<<endl;
    for(i=0;i<n;i++)
    {
        sum2=sum2+pow((N[i]-mid),2);
    }
    S=sqrt(sum2/(n-1));
    cout<<"выборочное среднее квадратичное: "<<S<<endl;
   
 
    
    if (n == 3)
            {
                vpn = 1.4;
            }
 
    else    if (n == 4)
            {
                vpn = 1.7;
            }
 
    else  if (n == 5)
            {
                vpn = 1.9;
            }
 
    else   if (n == 10)
            {
                vpn = 2.3;
            }
 
 
 
    m=n;
    for(i=0;i<n;i++)
    {
     if((fabs(N[i]-mid))/S >=vpn)
     {
         M[i]=0;
         m--;
         cout<<"N["<<i<<"] - промах"<<mid<<endl;
     }
     else
     {
         M[i]=N[i];
     }
        }
 
      for(i=0;i<m;i++)
    {
        
        M[i]=k;
        sum3=sum3+k;
    }
 
      mid2=sum3/m;
      cout<<"выборочное среднее значение с учетом промахов: "<<mid<<endl;
 
      for(i=0;i<m;i++)
    {
        sum4=sum4+pow((M[i]-mid2),2);
    }
    T=sqrt(sum4/(m-1));
    cout<<"выборочное среднее квадратичное с учетом промахов: "<<T<<endl;
    Ss=T/sqrt((float)m);
 
    cout<<"выборочное среднее квадратичное отклонение среднего: "<<Ss<<endl;
    if(n==3)
    {
        tpN=4.3;
    }
    if(n==4)
    {
        tpN=3.2;
    }
    if(n==5)
    {
        tpN=2.8;
    }
    if(n==10)
    {
        tpN=2.3;
    }
    df=Ss*tpN;
    cout<<"доверительная граница: "<<df<<endl;
    rf=df+tt;
    cout<<"погрешность измерений: "<<rf<<endl;
    cout<<"результат измерений: "<<mid<<"+/-"<<rf<<endl;
    cout << "Повторить? 1/0" << endl;
cin >> x;
if ( x == 1)
{
    goto start;
}
 
     return 0;
}
0
Эксперт С++
4985 / 3092 / 456
Регистрация: 10.11.2010
Сообщений: 11,169
Записей в блоге: 10
07.11.2016, 20:34 17
У меня всё так же ничего никуда не вылетает.
введите размер выборки
2
введите выборку
10
20
введите приборную погрешность
1
выборочное среднее значение: 15
выборочное среднее квадратичное: 7.07107
N[0] - промах15
N[1] - промах15
выборочное среднее значение с учетом промахов: 15
выборочное среднее квадратичное с учетом промахов: -2.25995e-038
выборочное среднее квадратичное отклонение среднего: -inf
доверительная граница: -inf
погрешность измерений: -inf
результат измерений: 15+/--inf
Повторить? 1/0
0
0
0 / 0 / 0
Регистрация: 02.01.2016
Сообщений: 38
08.11.2016, 15:30  [ТС] 18
Цитата Сообщение от castaway Посмотреть сообщение
У меня всё так же ничего никуда не вылетает.
введите размер выборки
2
введите выборку
10
20
введите приборную погрешность
1
выборочное среднее значение: 15
выборочное среднее квадратичное: 7.07107
N[0] - промах15
N[1] - промах15
выборочное среднее значение с учетом промахов: 15
выборочное среднее квадратичное с учетом промахов: -2.25995e-038
выборочное среднее квадратичное отклонение среднего: -inf
доверительная граница: -inf
погрешность измерений: -inf
результат измерений: 15+/--inf
Повторить? 1/0
0
У меня не так абсолютно.Хорошо, тогда так надо ставить вопрос наверное.Почему так может происходить?
0
Эксперт С++
4985 / 3092 / 456
Регистрация: 10.11.2010
Сообщений: 11,169
Записей в блоге: 10
08.11.2016, 21:00 19
Цитата Сообщение от ZRoman31 Посмотреть сообщение
Хорошо, тогда так надо ставить вопрос наверное.Почему так может происходить?
Понятия не имею. Вы бы хоть сообщили какие данные вводите.
0
0 / 0 / 0
Регистрация: 02.01.2016
Сообщений: 38
09.11.2016, 17:42  [ТС] 20
Цитата Сообщение от castaway Посмотреть сообщение
Цитата Сообщение от ZRoman31 Посмотреть сообщение
Хорошо, тогда так надо ставить вопрос наверное.Почему так может происходить?
Понятия не имею. Вы бы хоть сообщили какие данные вводит
размер выборки - 5
выборка:
1.1
1.15
10
1.2
0.98,
т.е "промах" только один
0
09.11.2016, 17:42
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
09.11.2016, 17:42
Помогаю со студенческими работами здесь

Не могу перенести консольное приложение C++ на приложение WindowsForm
Не могу разобраться, как перенести данное приложение из консоли на форму #include &lt;math.h&gt;...

переделать консольное приложение табулирования в приложение с формой
Помогите пожалуйста переделать консольное приложение табулирования в приложение с формой,где...

Как переделать консольное приложение в приложение с GUI?
Есть приложение, работающее в консоли, захотелось сделать с графическим интерфейсом, уперся в...

Переделать консольное приложение в приложение Windows Forms
Дорогие друзья пожалуйста помогите в консольным приложением. У меня есть код, но он под консольное...


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

Или воспользуйтесь поиском по форуму:
20
Ответ Создать тему
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2024, CyberForum.ru