Форум программистов, компьютерный форум, киберфорум
C для начинающих
Войти
Регистрация
Восстановить пароль
Карта форума Темы раздела Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 5.00/5: Рейтинг темы: голосов - 5, средняя оценка - 5.00
0 / 0 / 0
Регистрация: 22.10.2013
Сообщений: 10
1

Подсчитать количество символов, стоящие перед какой то буквой

05.11.2013, 19:47. Показов 869. Ответов 8
Метки нет (Все метки)

Author24 — интернет-сервис помощи студентам
Ввести с клавиатуры группу символов, возьмем: abcdabfcd, нужно посчитать сколько символов стоит до буквы возьмем например D.Так как D два раза, надо чтоб считало 2 раза.должно выйти первая группа 3 символа, вторая группа 4 символа
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
05.11.2013, 19:47
Ответы с готовыми решениями:

Подсчитать количество слов с гласной буквой
Добрый день. Задача состоит в том, чтобы подсчитать количество слов в строке, разделяемой...

Подсчитать количество символов, следующих за первой буквой М и напечатать эти символы
Дан текст за которым следует точка. Подсчитать количество символов, следующих за первой буквой М и...

Подсчитать количество символов, следующих за первой буквой М и напечатать эти символы.
дан текст за которым следует точка. Подсчитать количество символов, следующих за первой буквой М и...

Подсчитать количество букв “С”, стоящих перед пробелом, и заменить каждую пару символов “ТР” на символ “А”
Создайте консольное приложение, которое вводит строку и модифицирует её согласно условиям вашего...

8
183 / 182 / 56
Регистрация: 10.06.2011
Сообщений: 871
05.11.2013, 19:59 2
Taffer, D вводим с клавиатуры?
1
0 / 0 / 0
Регистрация: 22.10.2013
Сообщений: 10
05.11.2013, 20:12  [ТС] 3
да с клавиатуры
0
183 / 182 / 56
Регистрация: 10.06.2011
Сообщений: 871
05.11.2013, 20:48 4
Taffer, как-то так... не компилировал
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
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
#include <stdio.h>
 
#define SIZE 20
 
void written(char []);
void squeeze(int [], int , char );
 
int main()
{
    char ch;
    char str1[SIZE];
    written(str1);
 
    scanf("%c", &ch);
    squeeze(str1, SIZE, ch);
}
 
void written(char str[]) //ввод массива
{
    int i = 0;
    char c;
 
    while ((c = getchar()) != '\n')
    {
        str[i] = c;
        i++;
    }
 
    str[i] = '\0';
}
 
void squeeze(int str[], int size, char c)
{
    int i, j, k = 0;
    int x, s;
    char a[size][k];
 
    for (j = 0; str[j] != '\0'; j++) //считаем сколько раз повторяется буква до которой считаем все символы
        if (str[j] == c)
            k++;
 
    for (k; k > 0; k--) //выполняем цикл столько раз, сколько нужным символов
    {
        for (i = 0; str[i] != '\0'; i++) //считаем
            a[i][k] = str[i];
 
        for (s = 0, x = 0; s < size; s++) //удаляем 1 символ и снова повторяем
            if (str[s] != c)
            {
                str[x] = str[s];
                x++;
            }
    }
}
Добавлено через 7 минут
в функции squeeze первый тип должен быть char
1
0 / 0 / 0
Регистрация: 22.10.2013
Сообщений: 10
05.11.2013, 20:52  [ТС] 5
Size-максимальная длина строки?
0
183 / 182 / 56
Регистрация: 10.06.2011
Сообщений: 871
05.11.2013, 20:54 6
Taffer, да
1
0 / 0 / 0
Регистрация: 22.10.2013
Сообщений: 10
05.11.2013, 21:05  [ТС] 7
поменял местами char i int Всё ок, прокомпилировалось, последний банальный вопрос как результать вывести и где мне поставить паузу чтоб экран черный не уходил
0
183 / 182 / 56
Регистрация: 10.06.2011
Сообщений: 871
05.11.2013, 21:32 8
Taffer, нашел у себя ошибку с выводом, ибо вывод происходит финальной строки, может что придумаю.
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
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
#include <stdio.h>
#include <conio.h>
 
#define SIZE 20
 
void written(char []);
void squeeze(char [], int , char );
 
int main()
{
    char ch;
    char str1[SIZE];
    written(str1);
 
    scanf("%c", &ch);
    squeeze(str1, SIZE, ch);
    _getch();
 
}
 
void written(char str[]) //ввод массива
{
    int i = 0;
    char c;
 
    while ((c = getchar()) != '\n')
    {
        str[i] = c;
        i++;
    }
 
    str[i] = '\0';
}
 
void squeeze(char str[], int size, char c)
{
    int i, j, k = 0;
    int x, s, z = 0;
    char a[size][k];
 
    for (j = 0; str[j] != '\0'; j++) //считаем сколько раз повторяется буква до которой считаем все символы
        if (str[j] == c)
            k++;
 
    for (k; k > 0; k--) //выполняем цикл столько раз, сколько нужным символов
    {
        for (i = 0; str[i] != '\0'; i++) //считаем
        {
            a[i][k] = str[i];
            printf("%c", a[i][k]);
        }
 
        for (s = 0, x = 0; s < size; s++) //удаляем 1 символ и снова повторяем
            if (str[s] != c)
            {
                str[x] = str[s];
                x++;
            }
        printf("\n");
    }
}
0
0 / 0 / 0
Регистрация: 22.10.2013
Сообщений: 10
05.11.2013, 21:59  [ТС] 9
Желательно чтоб вывод выдавалься не масивом А именно:
printf("Pervaja gruppa 3 simvola")
printf("Vtoraja grupa 4 simvola")
чтоб сам считал сколько там букв до "D"-(допустим), а в ответе выводил
1) 3
2) 4 чтоб тупо в цифрах
0
05.11.2013, 21:59
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
05.11.2013, 21:59
Помогаю со студенческими работами здесь

В вводимой строке вывести на экран слова, стоящие перед точкой, состоящие из 3х символов.
В вводимой строке вывести на экран слова, стоящие перед точкой, состоящие из 3х символов.

Дана строка символов. Подсчитать, сколько в ней слов, заканчивающихся буквой «я»
Дана строка символов. Подсчитать, сколько в ней слов, заканчивающихся буквой «я» Как решить в...

Подсчитать количество слов, заканчивающихся буквой И
Дан текст произвольной длины, оканчивающиеся точкой. Текст состоит из слов, разделенных...

Найти количество букв в строке, которые по алфавиту идут перед последней буквой данной строки
найти количество букв в строке которые по алфавиту идут перед последней буквой данной строки


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

Или воспользуйтесь поиском по форуму:
9
Ответ Создать тему
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2024, CyberForum.ru