0 / 0 / 0
Регистрация: 15.01.2014
Сообщений: 14
1

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

15.01.2014, 22:24. Показов 569. Ответов 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
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
15.01.2014, 22:24
Ответы с готовыми решениями:

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

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

Обработка последовательности символов
На скрине задача. abc готово, но осталось для меня проблемой добавить aba Буду рад помощи еще раз....

Обработка последовательности символов
Задание: В последовательности символов переставить заданную букву со следующей за ней. #include...

2
238 / 238 / 113
Регистрация: 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
0 / 0 / 0
Регистрация: 15.01.2014
Сообщений: 14
16.01.2014, 01:31  [ТС] 3
спасибо) тема закрыта)
0
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
16.01.2014, 01:31
Помогаю со студенческими работами здесь

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

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

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

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


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

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

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2022, CyberForum.ru