С Новым годом! Форум программистов, компьютерный форум, киберфорум
С++ для начинающих
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.64/47: Рейтинг темы: голосов - 47, средняя оценка - 4.64
0 / 0 / 1
Регистрация: 07.11.2009
Сообщений: 67

Подсчитать количество слов, начинающихся с буквы “a”

08.02.2010, 07:31. Показов 8850. Ответов 11
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Подсчитать количество слов, начинающихся с буквы “a”.?? помогите с решением..
0
Programming
Эксперт
39485 / 9562 / 3019
Регистрация: 12.04.2006
Сообщений: 41,671
Блог
08.02.2010, 07:31
Ответы с готовыми решениями:

Подсчитать количество слов, начинающихся с буквы 'а'
Дано предложение-строка. Подсчитать количество слов, начинающихся с буквы 'а'.

Подсчитать количество слов в строке начинающихся с буквы 'а'
Всем привет!Я в программировании ноль,поэтому очень прошу помочь с программой:Ввести с экрана строку.Подсчитать,сколько слов в строке...

Строка: Подсчитать в строке количество слов, начинающихся с заданной буквы
Ввести набор слов, разделенных одним пробелом. Подсчитать в нем количество слов, начинающихся с заданной буквы (ввести с клавиатуры)

11
 Аватар для taras atavin
4226 / 1796 / 211
Регистрация: 24.11.2009
Сообщений: 27,562
08.02.2010, 08:59
А в чём проблема? Ищи " а", "\nа" и "\tа" и при каждом нахождении инкременть счетчик найденных.
0
 Аватар для yanyk1n
4342 / 1474 / 680
Регистрация: 12.03.2009
Сообщений: 5,310
01.04.2010, 15:02
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
#include <iostream> //стандартная библиотека ввода-вывода
#include <cstring> //стандартная библиотека строк
using namespace std;
int main()
{
    char st[] = "Alpha beta gamma defhf agiof go;gi agiofa goigio gl8tqjxi zgoaa  aka";
    char * p = strtok(st," ");
    while (p)
    {
        if (p[0]=='A'||p[0]=='a') cout << p << endl;
        p = strtok(NULL," ");
    }
    return 0;
}
P.S. Компилируется при помощи G++
0
0 / 0 / 1
Регистрация: 07.11.2009
Сообщений: 67
01.04.2010, 15:04  [ТС]
а более подробно можно написать? начиная с первой библиотеки, и последней!!
0
9 / 9 / 4
Регистрация: 22.10.2009
Сообщений: 24
16.04.2010, 09:13
Вот прога, выделяющая и выводящая на экран все слова произвольной строки, тебе по ходу остаётся только поставить условие про "а" и ввести счётчик для количества слов.

C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
char st[100], sl[100]; 
int k=0, i; 
 gets(st); 
 strcat(st," "); 
  int n=strlen(st); 
        if (n<2) return 1; 
   sl[0]='\0'; 
   for (i=0; i<n; i++) 
     if (st[i] != ' ')  
     { 
       sl[k]=st[i]; 
         sl[k+1]='\0'; 
         k++; 
     } 
     else 
     { 
     if (strlen(sl)>0) puts(sl); 
           sl[0]='\0';  
       k=0; 
     }
0
302 / 160 / 62
Регистрация: 27.02.2010
Сообщений: 317
16.04.2010, 09:36
Можно так сделать:
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
#include <iostream>
#include <stdlib.h>
#include <stdio.h>
using namespace std;
 
const int SIZE =80;
 
int form (char*, char*);
char *probel2 (char *in);
char *probel1 (char *in);
 
void main()
{
    char buf[SIZE], outbuf[SIZE]={' '};
 
    while(cout<<"Vvedite stroky: ",
    cin.getline(buf, SIZE))
    {   
        int z= form (buf, outbuf);
 
        cout<<"Kolichastvo slov: "<<z;
        cout<<endl<<endl;
    }
}
int form (char *a,char *out)
{   
    char *first=a; 
    int k=0;
 
    while (*(first=probel1(a)))
    {
        a=probel2(first);
        
        if (*first=='a')
            k+=1;   
    }
    return k;
}
char *probel1(char *in)
{ 
    while (*in&&((*in==' ')||(*in=='\t')))
        in++;
    return in;
}
char *probel2 (char *in)
{
    while (*in&&*in!=' '&&*in!='\t')
        in++;
return in;
}
1
0 / 0 / 1
Регистрация: 07.11.2009
Сообщений: 67
23.04.2010, 18:27  [ТС]
Подсчитать количество слов, начинающихся с буквы “a”.
C++
1
2
3
4
5
6
7
8
9
10
11
12
#include <iostream.h>
#include <string.h>
#include <stdio.h>
int main()
{
char st[100], tmp[100];
int n = 0;
char *ch = NULL;
 
tmp[0] = '\0';
puts("Vvedite stroku: ");
gets(st);
вот а дальше незнаю помогите плиз!!
0
10 / 10 / 1
Регистрация: 16.06.2009
Сообщений: 194
23.04.2010, 20:25
ну а дальше организовывай цикл проходи до пробела(ispace(str) помоему) после чего до первого встречного символа(isalpha(str) тож не точно) а там просто ставь условия если этот символ равен "a" то count++

Добавлено через 2 минуты
тем более что у тя массив там вообще без этих функций просто по циклу просмотри каждый элемент и как только прбел встретился смотри букву первую встречную..но если чесно лучше там сделать динамический массив а потом двигаться по нему st++;
0
0 / 0 / 1
Регистрация: 07.11.2009
Сообщений: 67
23.04.2010, 20:37  [ТС]
напиши приблизительбно как!!
0
Модератор
Эксперт PythonЭксперт JavaЭксперт CЭксперт С++
 Аватар для easybudda
12843 / 7592 / 1766
Регистрация: 25.07.2009
Сообщений: 13,973
23.04.2010, 20:39
C
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
 
int main(void){
    char buf[BUFSIZ], *p;
    size_t cnt;
 
    printf("String: ");
    if ( !fgets(buf, BUFSIZ, stdin) || *buf == '\n' )
        exit(1);
    for ( cnt = 0, p = strtok(buf, " \t\n"); p; p = strtok(NULL, " \t\n") )
        if ( *p == 'a' )
            ++cnt;
    printf("%d word(s) starts by 'a'.\n", cnt);
 
    exit(0);
}
0
10 / 10 / 1
Регистрация: 16.06.2009
Сообщений: 194
23.04.2010, 20:45
ну сделай сначало так
C++
1
char *st=new char;
потом те надо после ввода по всей строке пройтись через цикл..
C++
1
2
3
4
5
6
7
while(st!='\0')
{
 while(!isalpha(st)) st++;
 if (st=='a') count++;
while(!isspace(st)) st++;
 
}
вот что то в этом роде.на счет функций изальфа и изспейс точно не помню как они пишуться находятся они в string.h

Добавлено через 2 минуты
ну и кстати надо смотреть когда он заканчиваться будет может возникнуть такая ситуюция что он порйдет '\0' и зациклиться
0
1261 / 799 / 108
Регистрация: 16.09.2009
Сообщений: 2,010
08.05.2010, 16:42
C
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
#include <stdio.h>
#include <conio.h>
#include <string.h>
#include <stdlib.h>
#define S_BUF 255
 
int main(){
char str[S_BUF];
printf("input text: "); gets(str);
unsigned int len = strlen(str);   
unsigned int i;
int count = 0;
if(str[0]=='a')count++;
for(i = 0 ; i < len; i++ )if(str[i]==' '&&str[i+1]=='a')count++;
printf("count words on (a) %d", count );
getch();
return 0;
}
1
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
inter-admin
Эксперт
29715 / 6470 / 2152
Регистрация: 06.03.2009
Сообщений: 28,500
Блог
08.05.2010, 16:42
Помогаю со студенческими работами здесь

Подсчитать количество слов, начинающихся с той же буквы, что и следующее слово
Ребята, не могу придумать как это сделать, помогите пожалуйста: Подсчитать количество слов начинающихся с той же буквы, что и следующее...

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

Найти количество слов, начинающихся с буквы б
Даны натуральное число n, символы s1,...,sn. Группы символов, разделенные пробелами(одним или несколькими) и не содержащие пробелов внутри...

Найти количество слов, начинающихся с буквы b
#include &lt;iostream&gt; #include &lt;string&gt; using namespace std; int main() { string s,st; cout &lt;&lt; &quot;Vvedite stroku: &quot;; ...

Найти количество слов, начинающихся с буквы b
Дана строка, содержащая английский текст. Найти количество слов, начинающихся с буквы b. Плиз помогите решить


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

Или воспользуйтесь поиском по форуму:
12
Ответ Создать тему
Новые блоги и статьи
Модель микоризы: классовый агентный подход 3
anaschu 06.01.2026
aa0a7f55b50dd51c5ec569d2d10c54f6/ O1rJuneU_ls https:/ / vkvideo. ru/ video-115721503_456239114
Owen Logic: О недопустимости использования связки «аналоговый ПИД» + RegKZR
ФедосеевПавел 06.01.2026
Owen Logic: О недопустимости использования связки «аналоговый ПИД» + RegKZR ВВЕДЕНИЕ Введу сокращения: аналоговый ПИД — ПИД регулятор с управляющим выходом в виде числа в диапазоне от 0% до. . .
Модель микоризы: классовый агентный подход 2
anaschu 06.01.2026
репозиторий https:/ / github. com/ shumilovas/ fungi ветка по-частям. коммит Create переделка под биомассу. txt вход sc, но sm считается внутри мицелия. кстати, обьем тоже должен там считаться. . . .
Расчёт токов в цепи постоянного тока
igorrr37 05.01.2026
/ * Дана цепь постоянного тока с сопротивлениями и напряжениями. Надо найти токи в ветвях. Программа составляет систему уравнений по 1 и 2 законам Кирхгофа и решает её. Последовательность действий:. . .
Новый CodeBlocs. Версия 25.03
palva 04.01.2026
Оказывается, недавно вышла новая версия CodeBlocks за номером 25. 03. Когда-то давно я возился с только что вышедшей тогда версией 20. 03. С тех пор я давно снёс всё с компьютера и забыл. Теперь. . .
Модель микоризы: классовый агентный подход
anaschu 02.01.2026
Раньше это было два гриба и бактерия. Теперь три гриба, растение. И на уровне агентов добавится между грибами или бактериями взаимодействий. До того я пробовал подход через многомерные массивы,. . .
Советы по крайней бережливости. Внимание, это ОЧЕНЬ длинный пост.
Programma_Boinc 28.12.2025
Советы по крайней бережливости. Внимание, это ОЧЕНЬ длинный пост. Налог на собак: https:/ / **********/ gallery/ V06K53e Финансовый отчет в Excel: https:/ / **********/ gallery/ bKBkQFf Пост отсюда. . .
Кто-нибудь знает, где можно бесплатно получить настольный компьютер или ноутбук? США.
Programma_Boinc 26.12.2025
Нашел на реддите интересную статью под названием Anyone know where to get a free Desktop or Laptop? Ниже её машинный перевод. После долгих разбирательств я наконец-то вернула себе. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru