0 / 0 / 0
Регистрация: 23.12.2016
Сообщений: 29

Составить программу, которая подсчитывает количество символов в строке

21.02.2017, 14:11. Показов 4779. Ответов 9
Метки нет (Все метки)

Author24 — интернет-сервис помощи студентам
Написать программу, которая принимает с консоли (окна) набор символов (строку) и преобразует ее согласно варианту. Составить программу, которая подсчитывает количество символов ‘-‘, ‘+’, ‘=’, ‘*’, ‘/’ в заданном строкой примере.
0
cpp_developer
Эксперт
20123 / 5690 / 1417
Регистрация: 09.04.2010
Сообщений: 22,546
Блог
21.02.2017, 14:11
Ответы с готовыми решениями:

Составить программу, которая подсчитывает количество символов ‘-‘, ‘+’, ‘=’, ‘*’, ‘/’ в заданном строкой примере
Составить программу, которая подсчитывает количество символов ‘-‘, ‘+’, ‘=’, ‘*’, ‘/’ в заданном строкой примере. Помогите пожалуйста!...

Создать программу, которая подсчитывает количество слов в строке с нечетным количеством символов
Нужно создать программу на Си, которая подсчитывает количество слов в строке с нечетным количеством символов. Использовать только...

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

9
Форумчанин
Эксперт CЭксперт С++
 Аватар для MrGluck
8216 / 5047 / 1437
Регистрация: 29.11.2010
Сообщений: 13,453
21.02.2017, 17:49
C
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
#include <stdio.h>
#include <string.h>
#define SIZE 256
#define DELIM "-+=*/"
 
int main(void)
{
    char str[SIZE], *p;
    unsigned int counter = 0;
 
    fgets(str, SIZE, stdin);
    for (p = strtok(str, DELIM); p; p = strtok(NULL, DELIM))
        counter++;
 
    printf("Counter: %u\n", counter - 1);
    return 0;
}
Однако, данная программа не учитывает ситуации если какие-то токены находятся рядом ("abcd-="). Если данные ситуации нужно обрабатывать - проходитесь по строке и ищите соответствия через strchr.
1
9 / 9 / 6
Регистрация: 02.02.2010
Сообщений: 35
22.02.2017, 13:38
предложу решение по проще
C
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
#include <stdio.h>
#include <string.h>
#include <ctype.h>
 
int main(void)
{
    char  *s = "sjdfhajkshfjks+sdsd---sdsdas+++"; // строка в которой надо искать символы
    char *sym="+-/*="; // строка из символов, которые надо найти
 
    int count=0;// счетчик который считает кол-во символов из массива sym
    int lens = strlen (s); // длинна заданного массива
    int len_sym=strlen(sym); // длинна массива, который содержит знаки
    for (i=0; i<lens; i++){
        if (isalpha(s[i]) == false) // проверяем, является ли элемент заданного массива символом
        for (int j=0; j<len_sym; j++){
            if (s[i]==sym[j]) // проверяем, является ли найденный элемент знаком из массива sym
                count++;
        }
        
    }
    printf("%i \n", count);
 
}
1
738 / 543 / 416
Регистрация: 17.09.2015
Сообщений: 1,601
22.02.2017, 13:52
Nigg@,
вместо строк 11-20
C
1
2
3
4
5
char *ptr = s, *m;
for( ; *ptr; ptr++)
    for(m = sym; *m; m++)
        if(*ptr == *m)
            count++;
0
9 / 9 / 6
Регистрация: 02.02.2010
Сообщений: 35
22.02.2017, 14:06
да, можно. Но идея была в том, чтобы пропустить буквенные значения и проверять только символьные.
0
1786 / 1036 / 445
Регистрация: 12.05.2016
Сообщений: 2,550
22.02.2017, 15:05
Цитата Сообщение от LFC Посмотреть сообщение
вместо строк 11-20
Или strchr() в цикле прогнать
1
738 / 543 / 416
Регистрация: 17.09.2015
Сообщений: 1,601
22.02.2017, 15:26
Цитата Сообщение от Nigg@ Посмотреть сообщение
пропустить буквенные значения и проверять только символьные.
а с цифрами как быть? а со знаками препинания?
0
9 / 9 / 6
Регистрация: 02.02.2010
Сообщений: 35
22.02.2017, 18:03
всегда можно в условие добавить isdigit, ispunct, isspace.
но даже если просто исключить из рассмотрения все буквы, уже будет меньше работы.
0
 Аватар для CoderHuligan
1742 / 1007 / 257
Регистрация: 30.06.2015
Сообщений: 5,077
Записей в блоге: 56
22.02.2017, 18:09
Цитата Сообщение от Nigg@ Посмотреть сообщение
предложу решение по проще
Можно ещё проще
C
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
#include <stdio.h>
#include <string.h>
 #define SIMV "+-/*="
int main(void)
{
    char  s[] = "sjdfhajkshfjks+sdsd---sdsdas+++";
    char *x; x=s;  
    int count=0;
    while((x=strpbrk(x, SIMV))!=NULL)
    {
       ++x;
       count++;
    }
    printf("%i \n", count);
}
2
0 / 0 / 0
Регистрация: 23.02.2017
Сообщений: 1
23.02.2017, 16:23
у меня так :

C
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
#include <stdio.h>
#include <string.h>
 
unsigned char DELIM[] = "-+=*/";
 
int main() {
 int counters[256];
 memset(counters,0,sizeof(counters));
 int c;
 while ((c=getchar())!=EOF)
  counters[c]++;
 int sum=0;
 for (int i=0;DELIM[i]; i++)
  sum+=counters[DELIM[i]];
 printf("%d\n", sum);
}
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
raxper
Эксперт
30234 / 6612 / 1498
Регистрация: 28.12.2010
Сообщений: 21,154
Блог
23.02.2017, 16:23
Помогаю со студенческими работами здесь

Составить программу, которая подсчитывает количество символов во втором слове
там что-то через length, но вот как именно второго слова я хз, помогите

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

Описать функцию, которая подсчитывает максимальное количество символов, идущих подряд в строке
Добрый день! Дали задание, но не совсем ясно, а выполнить надо. Просьба написать: a)функцию, которая подсчитывает максимальное...

Составить программу, которая подсчитывает количество слов
Пожалуйста помогите! C клавиатуры вводится строка. Составить программу, которая подсчитывает количество слов, которые имеют нечетное...

Напишите программу, которая подсчитывает количество слов в строке
Напишите программу, которая подсчитывает количество слов в строке.*


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

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

Новые блоги и статьи
Интеграция Hangfire с RabbitMQ в проектах C#.NET
stackOverflow 18.04.2025
Разработка современных . NET-приложений часто требует выполнения задач "за кулисами". Это может быть отправка email-уведомлений, генерация отчётов, обработка загруженных файлов или синхронизация. . .
Построение эффективных запросов в микросервисной архитектуре: Стратегии и практики
ArchitectMsa 18.04.2025
Микросервисная архитектура принесла с собой много преимуществ — возможность независимого масштабирования сервисов, технологическую гибкость и четкое разграничение ответственности. Но как часто бывает. . .
Префабы в Unity: Использование, хранение, управление
GameUnited 18.04.2025
Префабы — один из краеугольных элементов разработки игр в Unity, представляющий собой шаблоны объектов, которые можно многократно использовать в различных сценах. Они позволяют создавать составные. . .
RabbitMQ как шина данных в интеграционных решениях на C# (с MassTransit)
stackOverflow 18.04.2025
Современный бизнес опирается на множество специализированных программных систем, каждая из которых заточена под решение конкретных задач. CRM управляет отношениями с клиентами, ERP контролирует. . .
Типы в TypeScript
run.dev 18.04.2025
TypeScript представляет собой мощное расширение JavaScript, которое добавляет статическую типизацию в этот динамический язык. В JavaScript, где переменная может свободно менять тип в процессе. . .
Погружение в Kafka: Концепции и примеры на C# с ASP.NET Core
stackOverflow 18.04.2025
Apache Kafka изменила подход к обработке данных в распределенных системах. Эта платформа потоковой передачи данных выходит далеко за рамки обычной шины сообщений, предлагая мощные возможности,. . .
Коммуникация в реальном времени с SignalR в C# на примере создания чата
UnmanagedCoder 17.04.2025
Современный веб стремительно эволюционирует от статичных страниц к динамичным приложениям, где пользователи ожидают мгновенной реакции на свои действия. Представим, что вы отправляете сообщение. . .
Реализация CQRS с MediatR на C# .NET
stackOverflow 17.04.2025
Современная разработка программного обеспечения постоянно ищет пути повышения эффективности организации кода. Архитектурные паттерны появляются, эволюционируют, и те, что проявляют свою. . .
Verilog и интеллектуальная собственность - "глазами" обученной LM модели.
Hrethgir 17.04.2025
В сети встречаются участники, заявляющие что код на Verilog ни о чём не говорит. Но вот патентная практика на самом деле показывает обратное ими утверждаемому. То-есть код на Verilog включают в. . .
Свап-файл дополнительно к разделу (если вдруг не хватает или не создан)
jigi33 17.04.2025
ПОДКЛЮЧЕНИЕ ДОПОЛНИТЕЛЬНОГО SWAP ПРОСТРАНСТВА, Т. О. , РАСШИРЕНИЕ ЕГО РАЗМЕРА В Linux можно использовать как раздел подкачки (swap), так и файл подкачки (swap-файл). Чтобы создать swap-файл вместо. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2025, CyberForum.ru