Форум программистов, компьютерный форум, киберфорум
C для начинающих
Войти
Регистрация
Восстановить пароль
Другие темы раздела
C (СИ) Не получается подсчитать количество слов https://www.cyberforum.ru/ c-beginners/ thread2408833.html
Не получается подсчитать количество слов в каждой строке+ к этому слов в каждой строке должно быть как минимум 2 и не больше 20 Когда запускаешь программу, то дальше ввода слов не уходит. Вот код...
C (СИ) Прочитать биты файла
Есть файл который нужно считать его биты в буфер. Ну и вот вся задача.
C (СИ) надо перевести проги с паскаля на си .слишком мало времени https://www.cyberforum.ru/ c-beginners/ thread2408803.html
#include <math.h> #include <conio.h> #include <iostream> #include <windows.h> using namespace std; int main() { SetConsoleCP (1251);
C (СИ) надо перевести проги с паскаля на си .слишком мало времени https://www.cyberforum.ru/ c-beginners/ thread2408793.html
#include <math.h> #include <conio.h> #include <iostream> #include <windows.h> using namespace std; int main() { SetConsoleCP (1251);
Структуры C (СИ)
Разбираю структуры, написал кое-какой код, вроде работает, но по нему же есть пара вопросов. 1. Как сделать так, что бы память выделялась не на 20 символов, а на введенное кол-во символов в...
C (СИ) Разная обработка значений Когда я в функции scanf_s в управляющей строке указываю "%d" и ввожу значение с плавающей точкой (к примеру, 123.34), которое записываю в переменную типа float, то выводится (с помощью printf)... https://www.cyberforum.ru/ c-beginners/ thread2408752.html
C (СИ) Напишите функцию, меняющую заглавные на строчные и наоборот https://www.cyberforum.ru/ c-beginners/ thread2408735.html
Знаю, что тема много раз обсуждалась, однако все довольствовались полученными ответами и никто не спросил почему так: из строчных в заглавные так работает: if ('a' <= *ch && *ch <= 'z') ...
C (СИ) Вернуть массив указателей на структуры из функции
Здравствуйте. Столкнулся с проблемой, но в интернете подходящего мне решения не нашел. Пишу программу нахождения точек пересечения отрезка и треугольника. Функция должна возвращать одну точку, две...
C (СИ) Операция деления по модулю % Друзья, требуется коллективный разум. Дано: #include <stdio.h> int main(void) { int oper, operu, n; printf("Эта программа вычисляет результаты деления по модулю\n"); printf("Введите... https://www.cyberforum.ru/ c-beginners/ thread2408598.html C (СИ) Функция удаления элементов из списка Функция начиная с конца списка удаляет элементы больше заданного(s_a). Все работает, но когда доходит до удаления первого элемента в списке программа крашиться. Подскажите пожалуйста в чем проблема.... https://www.cyberforum.ru/ c-beginners/ thread2408594.html
Есть часть кода на проверку ввода. Проверяется введено ли число или буква C (СИ)
Есть часть кода на проверку ввода. Проверяется введено ли число или буква. Кто может подробно разъяснить принцип его работы? printf("Enter positive number lower than 23\n"); int...
C (СИ) Вычисление суммы ряда Здравствуйте, надо задать диапазон значений \frac{\pi}{5}\leq x \leq \frac{9*\pi }{5} #include <math.h> #include <cstdlib> #define pi 3.14 int main() { double x, e, sum = 0, item; ... https://www.cyberforum.ru/ c-beginners/ thread2408454.html
1 / 1 / 0
Регистрация: 22.02.2019
Сообщений: 34
0

Обработка последовательности символов - C (СИ) - Ответ 13353790

24.02.2019, 19:43. Показов 1118. Ответов 1
Метки (Все метки)

Добрый день. Нужна ваша помощь в написании функции для форматирования строки.

Строка вводится в следующем формате: Количество_символов_в_словеСлово, Количество_символов_в_словеСлово, Количество_символов_в_словеСлово.
То есть, в начале пишется количество символов в слове, затем последовательность символов в самом слове. Слова разделяются запятой, строка заканчивается точкой.
Пример: 1a,2qw,3xyz,5ttttt.

Задание: Определить количество слов из М букв, начинающихся с заданной буквы C.


Вот что я уже написал:
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
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
#include <stdio.h> 
#include <string.h> 
#include <conio.h> 
#include <ctype.h> 
#include <locale.h> 
 
int function1(unsigned char *string, unsigned char *word, unsigned char *l_array)
{
    int i = 0,
        l_word = 0, //длина слова
        num_word = 0; // номер слова
 
 
    while (string[i] != '.') // цикл до конца строки
    {
        while ( (string[i] != ',') || (string[i] != '.') ) // цикл до конца слова
        {
            if (string[i] != ',')
            {
                l_word++; //считает длину слова
            }
 
            if (string[i + 1] == ',' || string[i + 1] == '.') // условия конца слова
            {
                l_array[num_word] = l_word; //заносим длину слова с цифрой
                i++;
                printf("\nДлина слова: %d", l_array[num_word]);
                num_word++;
                l_word = 0;
            }
            else
                i++;
 
            if ( string[i] == '.')
            {
                break;
            }
        }
    }
    int qty_word = num_word; //количество слов
    printf("\nКоличество слов: %d", qty_word);
    return qty_word;
}
 
void function2(unsigned char *string, unsigned char C, unsigned char *l_array, int qty_word)
{
 
    int M = 0, // счётчик слов
        i = 0;
    while (string[i] != '.')
 
        for (int num_word = 0; num_word < qty_word; num_word++)
        {
            if ( C == /* ? */  )
            {
                /* ? */
                M++;
            }
        }
 
        
    
}
 
int main()
{
    setlocale(LC_ALL, "rus");
 
 
 
    unsigned char   *string,
                    *l_array,
                    C;
 
    string  = (unsigned char*)malloc(100 * sizeof(unsigned char)); // массив для строки
    l_array = (unsigned char*)malloc(10  * sizeof(unsigned char)); // массив длин слов
 
    printf("Введите строку: ");
    gets(string);
    int qty_word = function1(string, l_array);
    
    printf("Введите C: ");
    scanf_s("%c", &C);
    function2(string, C, l_array, qty_word);
 
 
 
    system("pause");
}
Не могу придумать условие для fuction2, чтобы сравнивать C с первым символом в слове (после цифры).
Надеюсь на вашу помощь. Прошу обратить внимание на то, что используется язык Си. Отсюда gets и т.д. Извиняюсь, что тему создал не совсем там где надо, но разница не существенная.

Вернуться к обсуждению:
Обработка последовательности символов C (СИ)
__________________
Помощь в написании контрольных, курсовых и дипломных работ, диссертаций здесь
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
24.02.2019, 19:43
Готовые ответы и решения:

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

Дана последовательность символов x1, x2, ., xn. Выясните, есть ли среди символов этой последовательности пара символов
Дана последовательность символов x1, x2, ..., xn. Выясните, есть ли среди символов этой...

Дана последовательность символов x1, x2, ., xn. Выясните, есть ли среди символов этой последовательности пара символов
Дана последовательность символов x1, x2, ..., xn. Выясните, есть ли среди символов этой...

Дана строка символов, вывести последовательности символов, заключенные в скобки
(Помогите,пожалуйста) Дана строка символов. Признак конца-символ '\n'(перевод строки). Необходимо...

1
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
24.02.2019, 19:43
Помогаю со студенческими работами здесь

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

Обработка последовательности символов
Дана последовательность символов m . Пробел является разделением информации. В последнем слове все...

Обработка последовательности символов
Задан текст, разбитый на сова.Способ описания текста(массив символов(строка),массив...

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

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