Ввести строку символов, если ее длина кратна 5, посчитать количество скобок всех видов - C (СИ)
Формулировка задачи:
Ввести строку символов, если ее длина кратна 5, посчитать количество скобок всех видов, выделив их в отдельную строку
Листинг программы
- #include <stdio.h>
- #include <conio.h>
- #include <locale.h>
- #include <malloc.h>
- #include <string.h>
- void substringToSpace(char*, char*);
- int firstSpace(char*);
- void main()
- {
- setlocale(LC_CTYPE,"Russian");
- char str[100]; //выделение памяти под строку
- char brackets[]="[{()}]";
- puts("Введите строку максимум из 100 символов:");
- gets_s(str);
- int n = strlen(str);
- if(n %5==0)
- {
- char k = *brackets;
- (str);
- if(k == -1)
- {
- puts("Скобок в строке не найдено");
- }
- else
- {
- char* str2 = new char[k+1];
- substringToSpace(str, str2);
- printf("Исходная строка:%s\n", str);
- printf("Преобразованная строка (скобки):%s\n", str2);
- delete str2;
- }
- }
- else
- puts("Строка не кратна 5.");
- }
- void substringToSpace(char* str, char* str2)
- {
- int k = firstSpace(str);
- for(int i=0; i<k; i++)
- str2[i] = str[i];
- str2[k] = '\0';
- }
- int firstSpace(char* str)
- {
- char str2[]="[{()}]";
- char k;
- int n = strlen(str);
- for(int i=0; i < n; i++)
- if ((*(str + i)) == '(' || (*(str + i)) == ')' || (*(str + i)) == '[' || (*(str + i)) == ']' || (*(str + i)) == '{' || (*(str + i)) == '}')
- str2[k] = *(str + i);
- return k;
- }
Решение задачи: «Ввести строку символов, если ее длина кратна 5, посчитать количество скобок всех видов»
textual
Листинг программы
- #include <stdio.h>
- #include <stdlib.h>
- #define N 100
- int main()
- {
- char samples[] = "[]{}()<>";
- char str[N], braces[N];
- int i, j, k = 0;
- for(i = 0; ((str[i] = getchar()) != '\n') && i < N; i++){
- for(j = 0; samples[j]; j++){
- if(str[i] == samples[j]){
- braces[k++] = str[i];
- break;
- }
- }
- }
- braces[k] = '\0';
- if(k == 0)
- puts("Braces not found");
- else{
- if(i % 5 == 0){
- printf("Quantity of braces = %d\n", k);
- puts(braces);
- }
- else
- puts("Line length is not divide of 5");
- }
- return 0;
- }
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д