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

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

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

обработка последовательности символов (C++ Builder 6) - C++

15.01.2014, 22:24. Просмотров 341. Ответов 2
Метки нет (Все метки)

Всем привет, помогите довести до ума программу. Вроде все есть, а считает не то что нужно.

Вобщем задание:
Определять в тексте количество знаков арифметических операций (+, -, * и /),
следующих за цифрой.

Код, который смог написать я:

C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
#include <stdio.h>
#include <conio.h>
void main()
{
        char c;
        char ch;
        int k=0, f=0;
        printf("\n Vvedite posledovatelnots, okan4ivaushuusya tochkoi: \n");
while (c != '.')
        {
        scanf("%c%c",&c,&ch);
        if((c>='0') && (c<='9')) k++;
        if (((ch=='+') || (ch=='-') || (ch=='*') || (ch=='/')) && k!=0) f++,k--;
        }
        printf("\n Koli4estvo znakov = %d ", f);
 
getch();
}
Не могу в целом понять массивы :-(
Буду признателен за помощь, спасибо) Есть еще несколько работ, начну делать - отпишусь)
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
15.01.2014, 22:24
Я подобрал для вас темы с готовыми решениями и ответами на вопрос обработка последовательности символов (C++ Builder 6) (C++):

Обработка последовательности символов - C++
На скрине задача. abc готово, но осталось для меня проблемой добавить aba Буду рад помощи еще раз. #include &lt;iostream&gt; #include...

обработка последовательности символов - C++
1.Даны натуральные числа n и m , символы s1,....,sn (m&lt;n).Получить последовательность символов: sn,s(n-1),....,s(m+1),s1,.....,sm. ...

Обработка последовательности символов - C++
Задание: В последовательности символов переставить заданную букву со следующей за ней. #include &lt;stdio.h&gt; // подключение библиотеки...

Обработка последовательности символов - C++
Попытался, но не получилось Может кто подскажет, в чем проблема. #include &lt;stdio.h&gt; #include &lt;conio.h&gt; #include...

Обработка последовательности символов - C++
Здравствуйте, помогите пожалуйста разобраться. Условие: Даны символы S1,S2,… Известно, что символ S1 отличен от ! и что среди S2,S3…...

определить, сколько символов ‘e’ предшествует первому вхождению символа ‘u’ ( либо сколько всего символов ‘e’ в этой последовательности) - C++
определить, сколько символов ‘e’ предшествует первому вхождению символа ‘u’ ( либо сколько всего символов ‘e’ в этой последовательности,...

2
newb_programmer
237 / 237 / 19
Регистрация: 03.09.2011
Сообщений: 558
15.01.2014, 23:32 #2
catsergo, я бы вот как то так доработал.
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
#include <iostream>
#include <stdio.h>
#include <conio.h>
void main()
{
    
    char* c=new char[_MAX_PATH];
    int f=0,l;
 
    printf("\n Vvedite posledovatelnots, okan4ivaushuusya tochkoi: \n");
    std::cin.getline(c,_MAX_PATH,'.');
    //запоминаем длину строки
    l=strlen(c);
    //запускаем цикл прохода от начала до конца строки
    for (int i=0;i<l;i++)
        //если i-й элемент - число
        if((*(c+i)>='0') && (*(c+i)<='9'))
            //и следующий - наш символ
            if (((*(c+i+1)=='+') || (*(c+i+1)=='-') || (*(c+i+1)=='*') || (*(c+i+1)=='/'))) 
                //увеличиваем счетчик
                f++;
 
    printf("\n Koli4estvo znakov = %d ", f);
 
    delete [] c;
    getch();
}
основная ошибка
C++
1
2
        char c;
        char ch;
вы обьявили 2 переменные типа чар! а вам нужен массив!!!

Добавлено через 3 минуты
я чуть чуть не досмотрел, вам массив впринципе и не нужен но тогда вам надо было 2 переменные инициализировать до начала цикла

Добавлено через 4 минуты
вот по вашему методу, исправил, но так не удобно=))
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
#include <iostream>
#include <stdio.h>
#include <conio.h>
void main()
{
        char c;
        char ch;
        int k=0, f=0;
        printf("\n Vvedite posledovatelnots, okan4ivaushuusya tochkoi: \n");
 
       do {
        //scanf("%c%c",&c,&ch);
        std::cin>>c>>ch;
        if((c>='0') && (c<='9')) 
            if (((ch=='+') || (ch=='-') || (ch=='*') || (ch=='/'))) 
                f++;
        }
       while (ch != '.');
        printf("\n Koli4estvo znakov = %d ", f);
 
getch();
}
Добавлено через 22 секунды
Вывод
Кликните здесь для просмотра всего текста

Vvedite posledovatelnots, okan4ivaushuusya tochkoi:
5 +
5 6
5 -
5 .

Koli4estvo znakov = 2
1
catsergo
0 / 0 / 0
Регистрация: 15.01.2014
Сообщений: 14
16.01.2014, 01:31  [ТС] #3
спасибо) тема закрыта)
0
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
16.01.2014, 01:31
Привет! Вот еще темы с ответами:

обработка последовательности - C++
Доброе время суток) Начинаю изучать С++, но лучше всего конечно же понимаю на примерах. Прошу помочь с такими задачами : 1) Дана...

Обработка последовательности - C++
Для заданной последовательности слагаемых ряда и вводимых значений x, N и Е необходимо выполнить следующие действия: -найти первый...

Обработка элементов последовательности - C++
Дана последовательность целых чисел, в диапазоне от –32000 до 32000, индикатор окончания – число 99999. Предложите набор из 2 тестовых...

Обработка числовой последовательности - C++
Только начали изучать С++ сразу влипили задачу на обработку числовой последовательности), давали понять что легкая но я как то с этим не...


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

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

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