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

Не могу разобраться,как переделать программу! !! - C++

Восстановить пароль Регистрация
 
 
Рейтинг: Рейтинг темы: голосов - 11, средняя оценка - 4.91
Dimext
0 / 0 / 0
Регистрация: 25.10.2010
Сообщений: 17
25.10.2010, 15:47     Не могу разобраться,как переделать программу! !! #1
Ребят,помогите кто может)
у меня такая проблема... Я написал задачу,она работает и всё нормально,но мне нада её переделать так,чтобы она работала не с одним числом Х,а с несколькими. В общем,чтобы я вводил допустим 5 разных Х,а программа сразу выдавала готовый ответ с этими иксами..
Вот я и не знаю,как мне ее переделать. Может подскажите?

C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
#include<iostream.h>
#include<math.h>
#include<conio.h>
#include<stdio.h>
main () {
float x,S,C,R,E=0.001;
int n,p,i;
cout<<"vvedite x=";
cin>>x;
n=0;S=0;C=1;
if (x>1)
m1:
while (C>E){
C=1/((2*n+1)*(pow(x,(2*n+1))));
S=S+C;
cout<<"S="<<S<<"  "<<"C="<<C<<endl;
n=n+1;
goto m1;
}
cout<<"OTBET: "<<S;
getch();
}
Добавлено через 2 минуты
и еще маленький вопросик,как сделать так,чтобы число Х бралось по модулю? abx(x) не работает или я что-то не правильно делаю..
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
25.10.2010, 15:47     Не могу разобраться,как переделать программу! !!
Посмотрите здесь:

C++ Матрицы -не могу разобраться с условием и написать программу
C++ Как переделать программу
Не могу разобраться как работает данная программа C++
C++ как переделать программу?
как можно переделать программу? C++
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
Andrew_Lvov
Эксперт C++
 Аватар для Andrew_Lvov
259 / 189 / 5
Регистрация: 19.08.2010
Сообщений: 758
Записей в блоге: 1
25.10.2010, 15:55     Не могу разобраться,как переделать программу! !! #2
abs(x) или даже fabs(x)

Добавлено через 1 минуту
что это за goto m1 ?

Добавлено через 1 минуту
Для выполнения кода несколько раз используются циклы. for, while, do...while
Reee
 Аватар для Reee
21 / 21 / 1
Регистрация: 21.09.2010
Сообщений: 65
25.10.2010, 15:56     Не могу разобраться,как переделать программу! !! #3
Цитата Сообщение от Andrew_Lvov Посмотреть сообщение
что это за goto m1 ?
Это цикл)
Dimext
0 / 0 / 0
Регистрация: 25.10.2010
Сообщений: 17
25.10.2010, 15:57  [ТС]     Не могу разобраться,как переделать программу! !! #4
goto - немедленный переход.
в данном случае к m1, а m1 задан у меня перед while.

Добавлено через 55 секунд
Добавлено через 1 минуту

в том то и вопрос,как правильно это всё написать,все эти циклы..
Andrew_Lvov
Эксперт C++
 Аватар для Andrew_Lvov
259 / 189 / 5
Регистрация: 19.08.2010
Сообщений: 758
Записей в блоге: 1
25.10.2010, 15:58     Не могу разобраться,как переделать программу! !! #5
Dimext, какую роль он выполняет ?
Dimext
0 / 0 / 0
Регистрация: 25.10.2010
Сообщений: 17
25.10.2010, 15:59  [ТС]     Не могу разобраться,как переделать программу! !! #6
C++
1
2
3
4
5
6
7
m1:
while (C>E){
C=1/((2*n+1)*(pow(x,(2*n+1))));
S=S+C;
cout<<"S="<<S<<"  "<<"C="<<C<<endl;
n=n+1;
goto m1;
вот этот отрывок он выполняет,вычитывает S до тех пор,пока С не будет меньше,Чем E..
Reee
 Аватар для Reee
21 / 21 / 1
Регистрация: 21.09.2010
Сообщений: 65
25.10.2010, 15:59     Не могу разобраться,как переделать программу! !! #7
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
#include<iostream>
#include<math.h>
#include<conio.h>
#include<stdio.h>
#include<iomanip>
using namespace std;
 
int main () 
{
    setlocale(LC_ALL, "rus");
 
    for(;;)
    {
        float x,S,C,R,E=0.001;
        int n,p,i;
 
        cout<<"Введите х=";
        cin>>x;
        n=0;S=0;C=1;
        if (x>1)
        m1:
        while (C>E)
        {
            C=1/((2*n+1)*(pow(x,(2*n+1))));
            S=S+C;
            cout<<"S="<<S<<"  "<<"C="<<C<<endl;
            n=n+1;
            goto m1;
        }
        cout<<"Ответ: "<<S<<endl<<endl<<endl;
    }
}

Вот так хотел?
Andrew_Lvov
Эксперт C++
 Аватар для Andrew_Lvov
259 / 189 / 5
Регистрация: 19.08.2010
Сообщений: 758
Записей в блоге: 1
25.10.2010, 16:02     Не могу разобраться,как переделать программу! !! #8
Цитата Сообщение от Dimext Посмотреть сообщение
вот этот отрывок он выполняет,вычитывает S до тех пор,пока С не будет меньше,Чем E..
Ладно, не буду ходить вокруг да около.
Циклы для того и существуют, что бы повторять кусок кода пока выполняется условие - в данном случае C>E. Никаких goto здесь не нужно.
Dimext
0 / 0 / 0
Регистрация: 25.10.2010
Сообщений: 17
25.10.2010, 16:07  [ТС]     Не могу разобраться,как переделать программу! !! #9
Цитата Сообщение от Reee Посмотреть сообщение
Вот так хотел?
у меня что-то компилятор ругается на namespace,setlocale,LC_ALL
Видимо #include<iomanip.h> не читает или не знаю тогда..
medik07
9 / 9 / 0
Регистрация: 09.10.2009
Сообщений: 46
25.10.2010, 16:08     Не могу разобраться,как переделать программу! !! #10
простовато и не знаю точно, подходит ли ответы для твоей задачи, но вот!!!
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 "stdafx.h"
#include<iostream>
#include<math.h>
#include<conio.h>
#include<stdio.h>
using namespace std;
int main () 
{
float x[5],S=0,C=1,R,E=0.001;
int n=0,p;
for (int i=0; i<5; i++)
    {
    cin>>x[i];
    }
for (int i=0; i<5; i++)
if (x[i]>1)
{
    do
    {
    C=1/((2*n+1)*(pow(x[i],(2*n+1))));
    S=S+C;
    cout<<"S="<<S<<"  "<<"C="<<C<<endl;
    n=n+1;
    }
    while (C>E);
}
    cout<<"OTBET: "<<S<<endl;
system("Pause");
return 0;
}
Dimext
0 / 0 / 0
Регистрация: 25.10.2010
Сообщений: 17
25.10.2010, 16:09  [ТС]     Не могу разобраться,как переделать программу! !! #11
Цитата Сообщение от Andrew_Lvov Посмотреть сообщение
Ладно, не буду ходить вокруг да около.
Циклы для того и существуют, что бы повторять кусок кода пока выполняется условие - в данном случае C>E. Никаких goto здесь не нужно.
действительно,может и без goto обойтись.. а я что-то как учили,так и написал,не задумываясь)
Reee
 Аватар для Reee
21 / 21 / 1
Регистрация: 21.09.2010
Сообщений: 65
25.10.2010, 16:12     Не могу разобраться,как переделать программу! !! #12
Цитата Сообщение от Dimext Посмотреть сообщение
у меня что-то компилятор ругается на namespace,setlocale,LC_ALL
Видимо #include<iomanip.h> не читает или не знаю тогда..
Убери то на что ругается.
setlocale,LC_ALL -это русский язык в консоле(вместо русского получешь иероглифы
а вот насчёт namespace незнаю что ругается.


А что этой формулой высчитываешь?
Dimext
0 / 0 / 0
Регистрация: 25.10.2010
Сообщений: 17
25.10.2010, 16:15  [ТС]     Не могу разобраться,как переделать программу! !! #13
опять же,ругается на #include "stdafx.h",namespace и на system.. что за фигня такая
medik07
9 / 9 / 0
Регистрация: 09.10.2009
Сообщений: 46
25.10.2010, 16:18     Не могу разобраться,как переделать программу! !! #14
Цитата Сообщение от Dimext Посмотреть сообщение
опять же,ругается на #include "stdafx.h",namespace и на system.. что за фигня такая
Ответь!!! Ты на Visual С или на Borland C пишешь?
Dimext
0 / 0 / 0
Регистрация: 25.10.2010
Сообщений: 17
25.10.2010, 16:18  [ТС]     Не могу разобраться,как переделать программу! !! #15
Цитата Сообщение от Reee Посмотреть сообщение
А что этой формулой высчитываешь?
одну длинную формулу)
ArthX=(значек суммы,на Е похоже,сверху бесконечность,внизу n=0) 1/(2n+1)x^2n+1=1/x+1/3x^3+1/5x^5+...+|x|>1.

как-то так)
Reee
 Аватар для Reee
21 / 21 / 1
Регистрация: 21.09.2010
Сообщений: 65
25.10.2010, 16:19     Не могу разобраться,как переделать программу! !! #16
скорей второе)))
Dimext
0 / 0 / 0
Регистрация: 25.10.2010
Сообщений: 17
25.10.2010, 16:19  [ТС]     Не могу разобраться,как переделать программу! !! #17
Цитата Сообщение от medik07 Посмотреть сообщение
Ответь!!! Ты на Visual С или на Borland C пишешь?
на borlande 5.02 =)
medik07
9 / 9 / 0
Регистрация: 09.10.2009
Сообщений: 46
25.10.2010, 16:21     Не могу разобраться,как переделать программу! !! #18
Цитата Сообщение от Dimext Посмотреть сообщение
на borlande 5.02 =)
Ну вот!!! Так бы и сказал!!! А я то думаю на....я не работает namespace!!!
Dimext
0 / 0 / 0
Регистрация: 25.10.2010
Сообщений: 17
25.10.2010, 16:22  [ТС]     Не могу разобраться,как переделать программу! !! #19
Цитата Сообщение от medik07 Посмотреть сообщение
Ну вот!!! Так бы и сказал!!! А я то думаю на....я не работает namespace!!!
сори,забыл вначале указать)
а на ты на визуал С работаешь?
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
25.10.2010, 16:25     Не могу разобраться,как переделать программу! !!
Еще ссылки по теме:

Как создать 2-ое дерево со значениями 1-го? Не могу разобраться с указателями C++
Как работает эта функция? Не могу никак разобраться! C++
Не могу разобраться, как работает программа C++

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

Или воспользуйтесь поиском по форуму:
Reee
 Аватар для Reee
21 / 21 / 1
Регистрация: 21.09.2010
Сообщений: 65
25.10.2010, 16:25     Не могу разобраться,как переделать программу! !! #20
Он да и я тоже)

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<iostream.h>
#include<math.h>
#include<conio.h>
#include<stdio.h>
main () {
for(;;)
{
float x,S,C,R,E=0.001;
int n,p,i;
cout<<"vvedite x=";
cin>>x;
n=0;S=0;C=1;
if (x>1)
m1:
while (C>E){
C=1/((2*n+1)*(pow(x,(2*n+1))));
S=S+C;
cout<<"S="<<S<<"  "<<"C="<<C<<endl;
n=n+1;
goto m1;
}
cout<<"OTBET: "<<S;
}
}

Попрубуй вот так)
Почти полностью твой пример)))
Yandex
Объявления
25.10.2010, 16:25     Не могу разобраться,как переделать программу! !!
Ответ Создать тему
Опции темы

Текущее время: 07:16. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru