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

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

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

Программа, вычисляющая значение выражения.(Работа со строками) - C++

19.05.2010, 19:19. Просмотров 738. Ответов 4
Метки нет (Все метки)

Написать программу, которая вычисляет значение выражения N2O1N2O1...O1N2, где N2 - целое одноразрядное, O1 - один из двух знаков простейших арифметических действий: сложения(+) или вычитания(-).

Рекомендуемый вид экрана во время работы программы:
9-5+4+2-6
Значение выражения: 4
0
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
19.05.2010, 19:19
Здравствуйте! Я подобрал для вас темы с ответами на вопрос Программа, вычисляющая значение выражения.(Работа со строками) (C++):

Функция вычисляющая значение выражения - C++
помогите пожалуйста написать данное задание Заданные действительные числа s , t , a . Получить p(1)-p ( t )+p2(st)+p3(1), где p ( x ) =...

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

Функция вычисляющая значение выражения - C++
Помогите пожалуйста Заданные действительные числа s , t , a . Получить p (1) -p ( t ) + p2 ( st ) + p3 (1), где p ( x ) = ( a -12)...

Функция вычисляющая значение условного выражения - C++
Y= x^2, если x<0 y=sqrt(x), если y>=0

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

Функция вычисляющая значение арифметического выражения переданного в качестве аргумента - C++
Определите функцию, которая в качестве параметра получает строку арифметического выражения. Строка содержит числа в диапазоне от 0 до 9....

Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
dyosick
61 / 61 / 6
Регистрация: 25.08.2008
Сообщений: 178
19.05.2010, 20:55 #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
#include <iostream>
#include <cstring>
 
using namespace std;
 
int main()
{
   char st[100];
   int i=0;
   int sum;
   
   cout<<"Enter a string : ";
   cin>>st;
   sum=static_cast<int>(st[i++])-48;
   
   while(st[i]!=NULL)
   {
      int temp=static_cast<int>(st[i+1])-48;
      
      if(st[i]=='+')
         sum+=temp;
      else
         sum-=temp;
      
      i+=2;                       
   }
 
   cout<<"\n\nSum = "<<sum<<endl;
   system("pause");    
   return 0;
}
1
zorn16
0 / 0 / 0
Регистрация: 30.12.2009
Сообщений: 36
19.05.2010, 21:35  [ТС] #3
dyosick, ваше решение понятно. А что если так: (?)

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
#include <stdio.h>
#include <conio.h>
#include "stdlib.h"
void main ()
{
char st[40]; 
char buf[10]; 
char op; 
int rez; 
int n; 
int i,j;
printf("Vvedite arifmeticheskoe virazhenie,\n");
printf("naprimer, 45+5-3-125+2 i nazhmite <Enter>");
printf("->");
scanf("%s", &st);
rez = 0; 
op = ' ';
i = j = 0;
while( st[i] )
{
 
j = 0;
while (st[i] >= '0' && st[i] <= '9')
buf[j++] = st[i++];
buf[j] = '\0';
n = atoi(buf); /
switch ( op )
{
case '+': rez += n; break;
case '-': rez -= n; break;
case ' ': rez = n; break; 
}
ор = st[i++];
}
printf("nZnachenie vvedennogo virazhenia: %d", rez);
printf("\press <Enter>");
getch();
}
код вроде бы правильный, но при компиляции проблемы...
0
accept
4822 / 3243 / 165
Регистрация: 10.12.2008
Сообщений: 10,682
20.05.2010, 05:04 #4
Цитата Сообщение от zorn16
при компиляции проблемы
C
1
scanf("%s", st);
C
1
n = atoi(buf);
1
edd
36 / 36 / 0
Регистрация: 13.05.2010
Сообщений: 81
20.05.2010, 15:43 #5
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
#include <iostream>
using namespace std;
 
int main ()
{   int x ,z, y=0; 
    char *l;
    char ch[256];
    cin>>ch;
    for(int i=0 ; ch[i]; i++){
    switch (ch[i]){
        case '-' : l="minus";continue;
        case '+' : l="plus";continue;
        case '0':   
        case '1':
        case '2':
        case '3':
            cin.putback(ch[i]);
            cin>>x;
            if (l=="minus") {y-=x; z=y; continue;}
            if (l=="plus") {y+=x; z=y; continue;}
            y=x;}}
    cout<<z<<endl;
    return 0;}
1
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
20.05.2010, 15:43
Привет! Вот еще темы с ответами:

Функция вычисляющая значение выражения, записанного в постфиксной форме в текстовом файле - C++
Описать функцию value (postfix), которая вычисляет как целое число значение выражения (без переменных), записанного в постфиксной форме в...

Программа вычисляющая значение функции. не могу найти ошибку - C++
привет!)) помогите пожалуйста найти ошибку в программе. #include &lt;conio.h&gt; #include &lt;iostream.h&gt; #include &lt;math.h&gt; #include...

Программа вычисляющая функцию - C++
Написать на языке СИ++ программу, вычисляющую функцию, представленную в виде ряда с заданной точностью e=0,001. Значение переменной x ...

Правильно ли с математической точки зрения программа на С++ вычислит значение выражения 5 / 2 * 1.3? - C++
Народ помогите пожалуйста с заданиями,буду очень благодарен. Сам не силен в программировании,но это задали на завтра...( Правильно ли с...


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

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

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