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

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

Восстановить пароль Регистрация
 
_User_
0 / 0 / 0
Регистрация: 11.08.2010
Сообщений: 50
31.05.2011, 22:58     Переместить арифметические знаки вконец #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++ Арифметические выражения на с++
C++ Заменить в файле все знаки "+" на знаки "-", а знаки "-" на знаки "+"
C++ арифметические вычисления.уравнение
Расставить арифметические знаки в выражении C++
Арифметические выражения в массиве C++
Арифметические действия в массиве C++

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

Или воспользуйтесь поиском по форуму:
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
sandye51
программист С++
 Аватар для sandye51
677 / 579 / 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     Переместить арифметические знаки вконец
Ответ Создать тему
Опции темы

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