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

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

08.02.2010, 07:31. Показов 8863. Ответов 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
Ответ Создать тему
Новые блоги и статьи
http://iceja.net/ математические сервисы
iceja 20.01.2026
Обновила свой сайт http:/ / iceja. net/ , приделала Fast Fourier Transform экстраполяцию сигналов. Однако предсказывает далеко не каждый сигнал (см ограничения http:/ / iceja. net/ fourier/ docs ). Также. . .
http://iceja.net/ сервер решения полиномов
iceja 18.01.2026
Выкатила http:/ / iceja. net/ сервер решения полиномов (находит действительные корни полиномов методом Штурма). На сайте документация по API, но скажу прямо VPS слабенький и 200 000 полиномов. . .
Расчёт переходных процессов в цепи постоянного тока
igorrr37 16.01.2026
/ * Дана цепь постоянного тока с R, L, C, k(ключ), U, E, J. Программа составляет систему уравнений по 1 и 2 законам Кирхгофа, решает её и находит переходные токи и напряжения на элементах схемы. . . .
Восстановить юзерскрипты Greasemonkey из бэкапа браузера
damix 15.01.2026
Если восстановить из бэкапа профиль Firefox после переустановки винды, то список юзерскриптов в Greasemonkey будет пустым. Но восстановить их можно так. Для этого понадобится консольная утилита. . .
Сукцессия микоризы: основная теория в виде двух уравнений.
anaschu 11.01.2026
https:/ / rutube. ru/ video/ 7a537f578d808e67a3c6fd818a44a5c4/
WordPad для Windows 11
Jel 10.01.2026
WordPad для Windows 11 — это приложение, которое восстанавливает классический текстовый редактор WordPad в операционной системе Windows 11. После того как Microsoft исключила WordPad из. . .
Classic Notepad for Windows 11
Jel 10.01.2026
Old Classic Notepad for Windows 11 Приложение для Windows 11, позволяющее пользователям вернуть классическую версию текстового редактора «Блокнот» из Windows 10. Программа предоставляет более. . .
Почему дизайн решает?
Neotwalker 09.01.2026
В современном мире, где конкуренция за внимание потребителя достигла пика, дизайн становится мощным инструментом для успеха бренда. Это не просто красивый внешний вид продукта или сайта — это. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru