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

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

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

Программа не выполняется как надо. - C++

10.01.2011, 16:50. Просмотров 1017. Ответов 20
Метки нет (Все метки)

Вот две программы, по идее они должны выполнятся одинаково, но первая выполняется правильно, а вторая нет.
№1
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
#include <stdio.h>
#include <iostream>
#include <conio.h>
int main(int argc, char *argv[])
{
    int acc=0;
    do
    {
        for (;;)
        {
            int value;
            std::cin>>value;
            if (value<0)
            {
                       break;
                       }
                       acc=acc+value;
                       }
                       }while(!(acc>=100));
                       std::cout<<acc;
                                                    
    getch();
    return 0;
}
№2
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 <stdio.h>
#include <iostream>
#include <conio.h>
int VVV(void)
{
int acc=0;
for (;;)
{
int value;
std::cin>>value;
if (value<0)
{break;
}
acc=acc+value;
}
return acc;
}
int main(int argc, char *argv[])
{
    int nN;
do    
{
nN=VVV();
}while (!(nN>=100));
std::cout<<nN;                              
    getch();
    return 0;
}
Объясните плз , что не так во втором коде?
P.S.
Целью программ(по крайней мере первой) было суммирование положительных чисел пока сумма не будет равна стам .(процесс суммирования можно прекратить введением отрицательного числа, но если вы ввели отрицательное число , а сумма ещё не равна стам , то суммирование можно продолжить)

Добавлено через 33 минуты
как объявить переменную acc так чтобы она относилась к обеим функциям?во втором коде
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
10.01.2011, 16:50
Здравствуйте! Я подобрал для вас темы с ответами на вопрос Программа не выполняется как надо. (C++):

Есть программа (замена строк), надо как-то доработать. - C++
Программа компилируется, однако при зауске, выдает ошибку: &quot;Segmentation fault&quot; Программа меняет две строки Name1 и Name2. Нужно,...

дана программа на рекурсивную функцию надо разработать как рисунке - C++
выкладываю рисунок и программу с заданием.надо также нарисовать чертеж ..:)думаю вы меня поняли))) разработать рекурсивную функцию...

Надо чтобы, как только встречаются данные о женщине, программа преуменьшала ее возраст - C++
Имеется структура с полями фио, пол и возраст, место работы. Мне надо что бы как только встречаются данные о женщине программа преуменьшала...

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

Компилируется, но не выполняется программа - C++
Есть код, содержащий функцию сортировки выбором Все компилируется , однако при запуске выдает просто черную консоль, и ничего не...

Программа не работает как надо. Задача: Вывести сумму всех элементов массива, кратных данному числу К (вводится с клавиатуры) - C++
Вот мой код. Суммарное число выводит слишком большее, а после завершения программы ошибку:&quot;Run-Time Check Failure #2 - Stack around the...

20
vx5
187 / 171 / 4
Регистрация: 04.09.2010
Сообщений: 656
10.01.2011, 22:14 #16
Цитата Сообщение от metallhead Посмотреть сообщение
goto a1;
за такое сразу двойку ставить надо
0
metallhead
0 / 0 / 0
Регистрация: 10.01.2011
Сообщений: 4
10.01.2011, 22:29 #17
Цитата Сообщение от vx5 Посмотреть сообщение
за такое сразу двойку ставить надо
лучше подскажи, как исправить
0
valeriikozlov
Эксперт С++
4670 / 2496 / 321
Регистрация: 18.08.2009
Сообщений: 4,550
10.01.2011, 22:32 #18
metallhead, См комментарии:
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
#include <iostream.h>
#include <math.h>
#include <conio.h>
#include <iomanip.h>
 
 
void main ()
{
        float xn, a, dx, x, y, z, S=0, P=1;
        short K=0;
 
        clrscr();
 
        cout <<"Введите данные"<<endl;
        cout <<"a=";
        cin >>a;
        cout <<"xn=";
        cin >>xn;
        cout <<"dx=";
        cin >>dx;
 
        while (x/(2*x*x+1)>=0)// на момент начала этого цикла значение x вообще не определено, поэтому цикл сразу пропускается
        {
                cout <<"x="<<x;
                if (x<=1)
                if (x==1)
                {
                        cout <<"y=нет решений    z=нет решений"<<endl;
                        goto a1;
                }
                else y=0.5*a*x/(1-x)+pow(sin(x*a),2);
                else y=4*a+exp(-x)+2*pow(cos(x*x),3);
                if (y<0) P*=y;
                z=2.3*y+sqrt(x/(2*x*x+1));
                if (z>0)
                {
                        K++;
                        S+=z;
                }
                cout <<"x="<<x<<" "<<"y="<<y<<" "<<"z="<<z<<endl;
                a1: x+=dx;
        }
        cout <<"K="<<K<<" "<<"S="<<S<<" "<<"P="<<P;// и выводятся значения заданные изначально
 
        getch();
}
1
metallhead
0 / 0 / 0
Регистрация: 10.01.2011
Сообщений: 4
10.01.2011, 22:48 #19
valeriikozlov, спасибо огромное!!)))
0
Chesslov
2 / 2 / 0
Регистрация: 24.11.2010
Сообщений: 29
11.01.2011, 19:47 #20
Цитата Сообщение от ForEveR Посмотреть сообщение
sunlight17, просто не стоит. Всегда (или почти всегда) можно обойтись без их использования.
1) К ним очень легкий доступ, отовсюду практически (в пределах одного файла, если нет инклада этого файла в другие) - следовательно легко записать туда что-то не то.
2) Если и писать глобальные переменные - то имя должно быть уникально, так, чтобы не перепутали с глобальной.

C++
1
2
3
4
5
6
7
8
9
10
11
12
#include <iostream>
 
int i;
 
int main()
{
    std::cout<<i<<'\n';
    int i=10;//Глобальная переменная перекрыта
    std::cout<<i<<'\n';
    std::cout<<::i<<'\n';//Печатаем глобальную переменную
    return 0;
}
Согласен на все 1000!
0
metallhead
0 / 0 / 0
Регистрация: 10.01.2011
Сообщений: 4
13.01.2011, 20:53 #21
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
#include <iostream.h>
#include <math.h>
#include <conio.h>
#include <iomanip.h>
#define n 10
 
void main ()
{
 
     short i, imax;
     float x[n], z[n], y[n], d[n], dmax;
 
     clrscr();
 
     cout<<"Введите массив"<<endl;
     for (i=0; i<n; i++)
     cin>>x[i];
     cout<<setw(20)<<" "<<"x          y           z "<<endl<<endl;\\как вывести массивы x, y, z?
     for (i=0; i<n; i++)
     {
         y[i]=x[i]*x[i]-2*x[i]-3;
         if (y[i]<1) z[i]=1+sqrt(fabs(x[i]));
         else z[i]=x[i]*x[i]+M_PI/2*sin((M_PI/2)*x[i]);
         cout<<setw(10)<<" "<<setw(11)<<setprecision(2)<<x[i]<<setw(10)<<" "<<y[i]<<setw(10)<<" "<<z[i]<<endl;
         dmax=sqrt(pow(y[1]-y[0],2)+pow(z[1]-z[0],2));
         for (i=2; i<n; i++)
         {
         d[i]=sqrt(pow(y[i]-y[0],2)+pow(z[i]-z[0],2));
         if (d[i]>dmax)
         {
            imax=i;
            dmax=d[i];
         }
         }
         cout<<setw(25)<<"dmax="<<dmax;
         cout<<setw(25)<<"imax="<<imax;
     }
 
     getch();
}
мой вопрос состоит в комментарии
0
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
13.01.2011, 20:53
Привет! Вот еще темы с ответами:

Поиск в ширину - Неправильно выполняется программа - C++
ПОМОГИТЕ! ПОЧЕМУ НЕПРАВИЛЬНО ВЫПОЛНЯЕТСЯ ПРОГРАММА? #include&lt;iostream&gt; #include&lt;stdio.h&gt; #include&lt;queue&gt; using namespace...

Двумерный массив чисел, не выполняется программа - C++
Всем привет. уменя тут проблема с выполнением программы. задание такое: нужно вывести таблицу пифагора (по строкам и стоблцам), расчеты...

Программа со сверхбольшими числами не выполняется до конца - C++
Сам код #include &quot;verylong.h&quot; void verylong::putvl()const { char temp ; strcpy(temp,vlstr); cout&lt;&lt;strrev(temp); ...

Закрывается, а не выполняется программа после нажатия enter - C++
Доброй ночки всем. Помогите новичку: после нажатия enter после ввода переменных программа не выполняется, а попросту закрывается. ...


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

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

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