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

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

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

Вписать в строковый массив числа и математические знаки из введённой формулы - C++

07.03.2016, 18:45. Просмотров 254. Ответов 3

Хотелось бы, чтобы программа вписывала в строковый массив числа и математические знаки из введённой формулы в разные элементы, например ввод[150-234+12], массив['150';'-';'234';'+';'12']. Кто знает, в чём ошибка, прошу помочь.
(Возможны грубые ошибки при преобразовании char в *char, указание на это или формула решения не помешают).
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
#include <iostream>
using namespace std;
char str[100];
char text;
int num, i, z, p;//p- счётчик переходов
int main()
{
    setlocale (LC_ALL, "Russian");
    cout<<"Введите функцию: ";
    cout<<"F(x)= ";
    cin>>str;
    num=strlen(str);
    z=0;
    p=0;
    char *mass=new char[num];
    for(i=0; i<num; i++){
           if(isdigit(str[i])) text= strcat(text,str[i]);
           else{
               mass[p]=text;
               cin.get();
                   p++;
                   mass[p]=str[i];
                   p++;}
    };
    mass[p]=text;
    cin.get();
    for(i=0; i<num; i++)cout<<mass[i]<<" ";
}
Лучшие ответы (1)
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
07.03.2016, 18:45     Вписать в строковый массив числа и математические знаки из введённой формулы
Посмотрите здесь:

Вычисление значения математической формулы введённой через консколь - C++
Через консоль я заполняю массив char какой-то неизвестной заранее формулой, например 2+2. Так вот как мне посчитать значение этой формулы?...

Записать математические формулы - C++
Пожалуйста П.5.18.Правил Запрещено размещать задания и решения в виде картинок и других файлов с их текстом. ha=bsiny V=пR2H

Записать математические формулы - C++
Полный код в С++ если знаете паскаль то в паскале тож.. спс

Как математические формулы записать - C++
Первую формулу записал,а дальше не пойму. // zadanie_3.cpp: определяет точку входа для консольного приложения. // #include...

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

Определение числа положительных чисел во введённой с клавиатуры последовательности - C++
Написать программу, которая определяет число положительных чисел во введёной с клавиатуры последовательности (длина последовательности...

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

вывести на экран числа,вот по примеру ,там числа и знаки изменить надо - C++
Вывести на экран числа в виде слейдующей таблицы: 6 6 6 6 6 7 7 7 7 8 8 8 9 9 10 пример:

Вписать в массив char число - C++
Собственно как вписать в массив char число и потом как вывести это число с помощью массива?

Как вписать string в массив? - C++
Хочу вставить надпись string в рамочку из матрицы char. вбивает всю строку в одну ячейку массива. Я новичок, не понимаю указателей и...

Комплексные числа. Реализовать класс и математические операции - C++
Здравствуйте. Тема-комплексные числа. Надо: реализовать класс, следом надо реализовать математические операции, а именно: (+,-,*,Arg, ||);я...

Математические операции для дробного числа ( заданного структурой ) - C++
Структура: struct TFraction { long ing; // целая часть unsigned short frc; //дробная часть unsigned short count;...


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

Или воспользуйтесь поиском по форуму:
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
Igrich
4 / 4 / 7
Регистрация: 07.03.2016
Сообщений: 44
07.03.2016, 19:22     Вписать в строковый массив числа и математические знаки из введённой формулы #2
Сообщение было отмечено автором темы, экспертом или модератором как ответ
C++
1
char * strcat ( char * destination, const char * source );
Как видим у функции аргументы - это указатели на массивы char-ов,Вы же пытаетесь вызвать функцию с параметрами (char,char) и к тому же присвоить переменной temp указатель на char,в то время как она не является указателем.
k1n3c7
10 / 10 / 14
Регистрация: 06.03.2016
Сообщений: 53
07.03.2016, 19:33     Вписать в строковый массив числа и математические знаки из введённой формулы #3
Можно как то доставать первый символ в потоке, не забирая его из него, но я забыл. Так было бы еще на 1 строчку меньше.
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
#include <iostream>
#include <vector>
using namespace std;
 
int main()
{
    vector<int> nums;
    vector<char> punct;
 
    char c; int i;
    while (cin.get(c))
        if (isdigit(c)) {
            cin.unget();
            cin >> i;
            nums.push_back(i);
        } else {
            punct.push_back(c);
        }
    return 0;
}
Ника))
41 / 41 / 8
Регистрация: 08.12.2010
Сообщений: 339
07.03.2016, 19:56     Вписать в строковый массив числа и математические знаки из введённой формулы #4
qedster, Нa text выделено 1 байт, а ты пытаешься запихнуть туда целую строку
Yandex
Объявления
07.03.2016, 19:56     Вписать в строковый массив числа и математические знаки из введённой формулы
Ответ Создать тему
Опции темы

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