Подсчет символов, строк и слов
Программа считает количество введенных пользователем символов, строк и слов. Чтобы программа корректно закончила работу и правильно посчитала, после набора строк надо перейти на новую строку, после чего нажать Ctrl + D (по крайней мере в терминале Linux).
#include int main() < char ch, flag=-1; unsigned c=0; // символы unsigned w=0; // слова unsigned n=0; // строки while ((ch = getchar()) != EOF) < if (ch == '\n') n++; else c++; if (ch == ' ' || ch == '\n') flag = -1; else if (flag == -1) < flag = 1; w++; >> printf("Символы: %u\n", c); printf(" Слова: %u\n", w); printf(" Строки: %u\n", n); >
one two three four Символы: 16 Слова: 4 Строки: 3
X Скрыть Наверх
Решение задач на языке C
Как посчитать количество разных букв в массиве строк?
Нужно с помощью циклов посчитать количество разных букв в этом слове.
- Вопрос задан более года назад
- 269 просмотров
2 комментария
Простой 2 комментария
Сергей Горностаев @sergey-gornostaev Куратор тега C
И? Что вы пытались сделать? С какими проблемами столкнулись?
mayton2019 @mayton2019
Близится пятница. Давайте поднимем ставки. Считаем буквы вообще без циклов.
Решения вопроса 1
Разработчик на С++, экс-олимпиадник.
Можно считать, например самые левые вхождения каждого символа. Для этого пройдитесь по массиву циклом, а внутри вторым циклом проверьте, а есть ли такой же символ левее данной позиции. Если вы такого повторения в цикле не нашли, то надо прибавить 1 к ответу.
Второй вариант — отсортировать символы. Там уже проще подсчитать все символы — это 1 + сколько разных соседей в отсортированном массиве. Это быстрее, если использовать быструю сортировку.
Ну или самый быстрый способ — в массиве на 256 счетчиков подсчитайте, сколько раз каждый символ встречается. Потом подсчитайте, сколько там ненулевых элементов.
Ответ написан более года назад
Виталий Аргонов @Fairenien Автор вопроса
Можете пожалуйста написать код, где проходим циклом по массиву, а внутри вторым циклом проверяем?
Виталий Аргонов, нет. Попробуйте сами. Можете, для начала, написать цикл, который проходится по строке и выводит каждый символ?
Теперь измените его, что бы считать, только буквы ‘a’.
Теперь напишите второй цикл внутри, и считайте, сколько одинаковых символов левее каждого.
Ответы на вопрос 0
Ваш ответ на вопрос
Войдите, чтобы написать ответ

- Android
- +3 ещё
Какие есть доки по сборке APK/AAB с использованием Android NDK?
- 1 подписчик
- 30 дек. 2023
- 65 просмотров
Найти количество символов в слове
Есть массив на 80. В каждом элементе массива находится слово. Нужно подсчитать количество символов элементе массива.
Отслеживать
задан 25 дек 2019 в 18:07
85 5 5 бронзовых знаков
Нужно просто найти длину слова, или количество каких-то определенных символов? И массив на 80 чего?
– user361068
25 дек 2019 в 18:25
Мне просто нужно подсчитать количество символов с строке которая хранится в одном из элементов массива. Например: «hello» — 5 символов
25 дек 2019 в 18:30
strlen возвращает длину строки
– user361068
25 дек 2019 в 18:34
1 ответ 1
Сортировка: Сброс на вариант по умолчанию
#include . string massiv[80]; int element_id = 0; // номер элемента в массиве cout
Отслеживать
ответ дан 25 дек 2019 в 18:50
96 2 2 бронзовых знака
Именно это мне мне было и нужно. Спасибо
25 дек 2019 в 21:15
-
Важное на Мете
Похожие
Подписаться на ленту
Лента вопроса
Для подписки на ленту скопируйте и вставьте эту ссылку в вашу программу для чтения RSS.
Дизайн сайта / логотип © 2024 Stack Exchange Inc; пользовательские материалы лицензированы в соответствии с CC BY-SA . rev 2024.1.9.3159
Нажимая «Принять все файлы cookie» вы соглашаетесь, что Stack Exchange может хранить файлы cookie на вашем устройстве и раскрывать информацию в соответствии с нашей Политикой в отношении файлов cookie.
Как посчитать количество элементов в массиве?

Но лучше std::array использовать вообще. У него есть метод size.
Ответ написан более трёх лет назад
Нравится 2 3 комментария

Правда так же требуется вся информация о типе массива, но в отличии от моего варианта, не скомпилируется при отсутствии этой информации. Что большой плюс.
Правда промышленная разработка на C++17 это пока только мечты. Мне бы мои легаси проекты заволочь хотя бы на 11
Vitaly @vt4a2h Куратор тега C++
Василий Мельников, ну второй вариант требует только 11го стандарта, насколько мне известно. std::array (который я и рекомендую использовать в данном случае) тоже только 11го стандарта требует.
Касательно C++17, многие компании, в том числе и наша, его уже давно используют. Два года прошло с утверждения как никак. Да и все популярные компиляторы его поддерживают.