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

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

Войти
Регистрация
Восстановить пароль
 
barlog
2 / 2 / 0
Регистрация: 03.11.2009
Сообщений: 227
#1

Квадратный трехчлен - C++

10.10.2010, 14:38. Просмотров 663. Ответов 8
Метки нет (Все метки)

Ай, я не знаю(...бьюсь, бьюсь, а не выходит...больше не могу((Помогите пожалуйста!

Ввести коэфициенты квадратного уравнения a,b,c.Вывести a*x*x+b+x+c.При этом ,если а=1 ,выводится только х*х ,если а=-1 ,то выводить -х*х ,если а=0 ,то первый одночлен вообще не выводить.Аналогично для b.Не выводиться также нулевое значение с.
Желательно через switch.
Помогите пожалуйста!
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
10.10.2010, 14:38
Я подобрал для вас темы с готовыми решениями и ответами на вопрос Квадратный трехчлен (C++):

Квадратный корень - C++
Написал небольшую программку, которая ищет квадратный корень из числа, которое введёт пользователь. int a; cout << "Введите число:...

Квадратный корень - C++
Число x называется квадратным корнем числа a по модулю n (root (a, n)) тогда и только тогда когда x * x = a (mod n). Напишите программу,...

Квадратный корень - C++
вот очень странно! вот 2 кода. По логике не различаются НИЧЕМ! Почему 1 код не работает, а другой работает? этот пашет #include...

Квадратный корень из 5 - C++
Здравствуйте, подскажите, пожалуйста, алгоритм вычисления квадратного корня из 5 с точностью 10 миллионов знаков

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

Квадратный корень числа - C++
Найдите квадратный корень числа, введенного с клавиатуры! С++

8
silent_1991
Эксперт С++
5005 / 3063 / 149
Регистрация: 11.11.2009
Сообщений: 7,043
Завершенные тесты: 1
10.10.2010, 15:21 #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
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
#include <stdio.h>
 
int main()
{
    int a;
    int b;
    int c;
    int key1;
    int key2;
 
    printf("Enter a: ");
    scanf("%d", &a);
    printf("Enter b: ");
    scanf("%d", &b);
    printf("Enter b: ");
    scanf("%d", &c);
 
    key1 = 0;
    key2 = 0;
 
    switch (a)
    {
        case -1:
            printf("-x^2");
            break;
        case 0:
            key1 = 1;
            break;
        case 1:
            printf("x^2");
            break;
        default:
            printf("%dx^2", a);
            break;
    }
 
    switch (b)
    {
        case -1:
            printf("-x");
            break;
        case 0:
            key2 = 1;
            break;
        case 1:
            if (key1 == 0)
                printf("+x");
            else
                printf("x");
 
            break;
        default:
            if (b < 0)
                printf("%dx", b);
            else
            {
                if (key1 == 0)
                    printf("+%dx", b);
                else
                    printf("%dx", b);
            }
 
            break;
    }
 
    switch (c)
    {
        case 0:
            break;
        default:
            if (c < 0)
                printf("%d", c);
            else
            {
                if (key1 == 1 && key2 == 1)
                    printf("%d", c);
                else
                    printf("+%d", c);
            }
 
            break;
    }
 
    getch();
    return 0;
}
1
barlog
2 / 2 / 0
Регистрация: 03.11.2009
Сообщений: 227
10.10.2010, 17:43  [ТС] #3
а key2 и key1 это просто название переменных?...тоесть их можно и по другому назвать?
Спасибо.
0
silent_1991
Эксперт С++
5005 / 3063 / 149
Регистрация: 11.11.2009
Сообщений: 7,043
Завершенные тесты: 1
10.10.2010, 17:47 #4
Конечно. Как и a, b, c.
1
barlog
2 / 2 / 0
Регистрация: 03.11.2009
Сообщений: 227
10.10.2010, 19:41  [ТС] #5
...у меня такое чувство ,что я не понимаю, зачем нужны key2 и key1?...как они работают....не очень понятна 75 строка и 27.Обьясните пожалуйста.Хочется понять...
0
ForEveR
В астрале
Эксперт С++
7992 / 4751 / 321
Регистрация: 24.06.2010
Сообщений: 10,547
Завершенные тесты: 3
10.10.2010, 19:54 #6
barlog, key1, key2 соответственно определяют как выводить.
C++
1
2
3
        case 0://Если a=0
            key1 = 1;//присваиваем key1 1
            break;
C++
1
2
3
        case 0://Аналогично только для b
            key2 = 1;
            break;
C++
1
2
                if (key1 == 1 && key2 == 1)//Если обе переменные равны 1, т.е. a и b были равны 0
                    printf("%d", c);//Пишем просто c
1
silent_1991
Эксперт С++
5005 / 3063 / 149
Регистрация: 11.11.2009
Сообщений: 7,043
Завершенные тесты: 1
10.10.2010, 20:10 #7
Вообще a и b определяют, нужно ли выводить знак +. Т.е. если у нас нет первого слагаемого, то у второго + не нужен по правилам арифметики. Аналогично для третьего.
1
barlog
2 / 2 / 0
Регистрация: 03.11.2009
Сообщений: 227
10.10.2010, 20:13  [ТС] #8
silent_1991 , точно!!!!для +!!!Поняла!!!Спасибо огромное!!!
0
barlog
2 / 2 / 0
Регистрация: 03.11.2009
Сообщений: 227
17.10.2010, 22:52  [ТС] #9
Оооо!!!оказалось что программу надо усовершенствовать.типа чтобы можно было вводить много a,b,c и появлялось много уравнений до тех пор пока все a,b,c не равны нулю.
Я вот что думаю-
C++
1
2
3
4
while(1)
        {cin>>a>>b>>c;
        if(a==0 && b==0 && c==0) break;
        }
Но почему-то не работает....да и без цикла почему-то тоже...Помогите пожалуйста!

Добавлено через 1 час 44 минуты
Помогите ПОЖАЛУЙСТА!!!(((

Добавлено через 53 минуты
Вот что у меня получается....Но в таком случае он по-любому чего-то выходит из цикла...помогите подправить пожалуйста!!!
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
#include<conio.h>
#include<iostream.h>
#include<math.h>
#include <vcl.h>
#pragma hdrstop
 
 
 
#pragma argsused
int main()
{ int  a,b , c , f1 , f2 ;
  while(1)
 { cout<<"Enter a: " ;
  cin>>a ;
   cout<<"Enter b: " ;
  cin>>b ;
   cout<<"Enter c: " ;
  cin>>c ;
 { if(a==0 && b==0 && c==0);break;}
  f1=0 ;
  f2=0 ;
 
  switch(a)
  { case -1:cout<<"-x*x";break;
    case 0: f1=1;break;
    case 1:cout<<"x*x" ;break;
    default:cout<<a<<"x*x"; break;
  }
 
   switch(b)
 { case -1:cout<<"-x";break;
    case 0: f2=1;break;
    case 1:  { if (f1==0)
              cout<<"+x";
              else
              cout<<"x";break;}
   default: { if(b<0)
             cout<<b<<"x";
 
             else
             {
             if(f1==0)
             cout<<"+"<<b<<"x";
              else
             cout<<b<<"x";
             }
             break;  }
 
  }
 
     switch(c)
 { case 0:break;
   default:{ if(c<0)
            cout<<c;
 
            else
            { if (f1==1 && f2==1)
              cout<<c;
 
              else
              cout<<"+"<<c;
 
            }
              break;  }
}
}
 cout<<"Exit";
getch();
return 0;
}
Добавлено через 16 минут
И так чего-то тоже неправильно делает.....Ну отзовитесь хоть кто-нибудь!!!
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
#include<conio.h>
#include<iostream.h>
#include<math.h>
#include <vcl.h>
#pragma hdrstop
 
 
 
#pragma argsused
int main()
{ int  a,b , c , f1 , f2 ;
do
 {
 cout<<"Enter a: " ;
  cin>>a ;
   cout<<"Enter b: " ;
  cin>>b ;
   cout<<"Enter c: " ;
  cin>>c ;
 
  f1=0 ;
  f2=0 ;
 
  switch(a)
  { case -1:cout<<"-x*x";break;
    case 0: f1=1;break;
    case 1:cout<<"x*x" ;break;
    default:cout<<a<<"x*x"; break;
  }
 
   switch(b)
 { case -1:cout<<"-x";break;
    case 0: f2=1;break;
    case 1:  { if (f1==0)
              cout<<"+x";
              else
              cout<<"x";break;}
   default: { if(b<0)
             cout<<b<<"x";
 
             else
             {
             if(f1==0)
             cout<<"+"<<b<<"x";
              else
             cout<<b<<"x";
             }
             break;  }
 
  }
 
     switch(c)
 { case 0:break;
   default:{ if(c<0)
            cout<<c;
 
            else
            { if (f1==1 && f2==1)
              cout<<c;
 
              else
              cout<<"+"<<c;
 
            }
              break;  }
}
 
}
 
while(a!=0 && b!=0 && c!=0);
 cout<<"Exit";
getch();
return 0;
}
Добавлено через 27 минут
ХААААААААААААА-ХАААААА-ХАААААА!!!У МЕНЯ ПОЛУЧИЛОСЬ!!!!!!ВОТ ВАМ!!!!!!А вы даже помочь не захотели...ВСЕ РАБОТАЕТ ТЕПЕРЬ!))
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
#include<conio.h>
#include<iostream.h>
#include<math.h>
#include <vcl.h>
#pragma hdrstop
 
 
 
#pragma argsused
int main()
{ int  a,b , c , f1 , f2 ;
  while(1)
 {
  cout<<"Enter a: " ;
  cin>>a ;
   cout<<"Enter b: " ;
  cin>>b ;
   cout<<"Enter c: " ;
  cin>>c ;
 
  f1=0 ;
  f2=0 ;
 if(!(a==0 && b==0 && c==0))
 {
  switch(a)
  { case -1:cout<<"-x*x";break;
    case 0: f1=1;break;
    case 1:cout<<"x*x" ;break;
    default:cout<<a<<"x*x"; break;
  }
 
  switch(b)
 { case -1:cout<<"-x";break;
    case 0: f2=1;break;
    case 1:  { if (f1==0)
              cout<<"+x";
              else
              cout<<"x";break;}
   default: { if(b<0)
             cout<<b<<"x";
 
             else
             {
             if(f1==0)
             cout<<"+"<<b<<"x";
              else
             cout<<b<<"x";
             }
             break;  }
 
  }
 
    switch(c)
 { case 0:break;
   default:{ if(c<0)
            cout<<c<<endl;
 
            else
            { if (f1==1 && f2==1)
              cout<<c<<endl;
 
              else
              cout<<"+"<<c<<endl;
 
            }
              break;  }
 
}
}
 else
{cout<<"Exit"; break;}
 
}
getch();
return 0;
}
Добавлено через 37 секунд
жаль что самой себе спасибо сказать нельзя)
0
17.10.2010, 22:52
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
17.10.2010, 22:52
Привет! Вот еще темы с ответами:

Вычислить корень квадратный - C++
Помогите пожалуйста написать 2 программы:1 вычислить корень квадратный от (sin(x)+cos(x)); 2 Поменять местами значения переменных х и у с...

Уравнение на c++ (не квадратный корень) - C++
напишите пожалуйста код для решение уравнения y=ax+2y^2-2/3 чтобы в коде было это - scanf(&quot;%f&quot;...) и чтобы было такого типа ...

квадратный корень от интеграла - C++
Подскажите пожалуйста как написать эту формулу на С++ http://www.cyberforum.ru/images/attach/png.gif

Как сделать корень квадратный - C++
Вычислить расстояние между двумя точками с координатами x1, y1, х2, у2. Как сделать чтобы корень вычислялся? #include&lt;stdio.h&gt; ...


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

Или воспользуйтесь поиском по форуму:
9
Ответ Создать тему
Опции темы

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