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

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

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

Переместить арифметические знаки вконец - C++

31.05.2011, 22:58. Просмотров 417. Ответов 1
Метки нет (Все метки)

Здравствуйте. Такая задача: при вводе к примеру строки 2+3-4 программа должна переместить арифметические знаки вконец, то есть должно получится 234+-. Вод код моей программы (все вроде работает, только она меняет местами знаки). Помогите это исправить.
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 <iostream>
#include <string.h>
using namespace std;
 
char arr[255];
int size=0;
 
int main()
{
 cout << "Input: ";
 gets(arr);
 size = strlen(arr);
 for(int i=0; i<size; i++)
    {
     if(arr[i]=='+' || arr[i]=='-' || arr[i]=='/' || arr[i]=='*')
        {
         arr[size]=arr[i];
         for(int y=i; y<size; y++)
            {
             arr[y]=arr[y+1];
            }
        }
    }
 for(int i=0; i<size; i++)
    {
     cout << arr[i];
    }
 system("PAUSE");
 return 0;
}
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
31.05.2011, 22:58     Переместить арифметические знаки вконец
Посмотрите здесь:

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

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

Заменить в файле все знаки "+" на знаки "-", а знаки "-" на знаки "+" - C++
Добрый день помогите перевести код на Паскале на язык C++. uses crt; const a='+'; b='-'; var f : Text; st: String; i: Byte;...

Арифметические - C++
1)Дано натуральное число n. Отбросить в нем все цифры, стоящие правее самой правой единицы либо оставить число без изменений, если единицы...

Арифметические выражения на с++ - C++
Помогите записать и решить выражение. Одни ошибки и голова пухнет.%-) Вам вроде бы помощь нужна? Так постарайтесь облегчить задачу...

Арифметические действия с датами - C++
Вообщем есть у меня программа которая точно высчитывает разницу дней между нынешней датой, и будущей. Например с 06/26/2016 ( сегодня )...

Арифметические действия в массиве - C++
Арифметические действия в массиве Задачи положено переписывать!

Арифметические действия с дробями - C++
Добрый вечер! Хочу попросить в помощи обратить внимание на ошибку решения следующего задания: Создайте калькулятор, выполняющий четыре...

арифметические вычисления.уравнение - C++
Подправьте пожалуйста код чтото я накосячил уравнение а*х*х+b=0 a b вводятся с клавиатуры #include &quot;stdafx.h&quot; #include...

Арифметические выражения в массиве - C++
Ну пожалуйста подскажите, нужен код на с++, а знаю только как на паскале, может это вам что-о подскажет Задан массив Х (2n), каждый...

Быстрые арифметические операции - C++
Здравствуйте. Я знаю, что в си++ есть понятие быстрых арифметических операций (не могу вспомнить термин). Т.е. не нужно писать i = i +1,...

Арифметические операции с элементами массива - C++
Объявить целочисленный массив L . Используя цикл for (i = ... .. ..) {...} ввести значения элементов массива с клавиатуры. Объявить массив...


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

Или воспользуйтесь поиском по форуму:
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
sandye51
программист С++
681 / 583 / 39
Регистрация: 19.12.2010
Сообщений: 2,016
31.05.2011, 23:30     Переместить арифметические знаки вконец #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
#include <iostream>
#include <string>
#include <algorithm>
#include <iterator>
#include <conio.h>
 
bool pred(char c)
{
    return c == '/' || c == '+' || c == '*' || c == '-'; 
}
 
int main()
{
    std::cout << "Enter the string" << std::endl;
    std::string s;
    std::cin >> s;
    std::string tmp;
    std::copy_if(s.begin(), s.end(), std::back_inserter(tmp), pred);
    s.erase(std::remove_if(s.begin(), s.end(), pred), s.end());
    std::copy(tmp.begin(), tmp.end(), std::back_inserter(s));
    std::cout << s;
    _getch();
    return EXIT_SUCCESS;
}
Yandex
Объявления
31.05.2011, 23:30     Переместить арифметические знаки вконец
Ответ Создать тему
Опции темы

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