Форум программистов, компьютерный форум CyberForum.ru

С++ для начинающих

Войти
Регистрация
Восстановить пароль
 
Blake_102
6 / 7 / 0
Регистрация: 01.04.2010
Сообщений: 289
#1

Определить количество пробелов в строке длинной 20 символов - C++

07.10.2010, 23:35. Просмотров 425. Ответов 7
Метки нет (Все метки)

Всем hello!!! Помогите разработать программу для определения количества пробелов в строке длинной 20 символов??? Зарание благодарен!!!)))
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
07.10.2010, 23:35
Здравствуйте! Я подобрал для вас темы с ответами на вопрос Определить количество пробелов в строке длинной 20 символов (C++):

Подсчитать в строке количество пробелов и символов - C++
Задача: создать программу, которая позволяет ввести строку, и после считает в ней количество пробелов и символов. Вот код: #include...

В строке, состоящей и нулей и единиц, подсчитать количество символов в самой длинной группе - C++
Помогите, пожалуйста :help:

В заданной строке определить количество слов (в строке может содержаться несколько пробелов подряд). - C++
В заданной строке определить количество слов (в строке может содержаться несколько пробелов подряд).

В строке, состоящей из групп нулей и единиц, подсчитать количество символов в самой длинной группе. - C++
В строке, состоящей из групп нулей и единиц, подсчитать количество символов в самой длинной группе. Помогите решить эту задачу буду...

Функция, определяющая количество символов в строке без учета пробелов - C++
#include <stdio.h> #include <stdlib.h> #include <string.h> #include <conio.h> #include <iostream> #include <cstring> using...

Определить количество символов в наиболее длинной упорядоченной по убыванию последовательности - C++
Определить количество символов в наиболее длинной упорядоченной по убыванию последовательности символов. Вывести строку, удалив из нее...

Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
ForEveR
В астрале
Эксперт С++
7970 / 4732 / 321
Регистрация: 24.06.2010
Сообщений: 10,541
Завершенные тесты: 3
07.10.2010, 23:41 #2
C++
1
2
3
4
5
6
7
int cnt=0;
for(int i=0; i<strlen(str); ++i)
{
    if(str[i]==' ')
       cnt++;
}
std::cout<<cnt<<'\n';
Или.
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
#include <iostream>
 
int main()
{
    char*str="Hello world is mine";
    int cnt=0;
    while(*str)
    {
        if(*str++==' ')
            cnt++;
    }
    std::cout<<cnt<<'\n';
    return 0;
}
easybudda
Модератор
Эксперт CЭксперт С++
9530 / 5523 / 932
Регистрация: 25.07.2009
Сообщений: 10,608
07.10.2010, 23:47 #3
Цитата Сообщение от Lavroff Посмотреть сообщение
while(str)
C
1
while ( *str )
C++
1
2
3
4
5
6
7
#include <algorithm>
#include <string>
...
std::string str;
std::getline(std::cin, str);
std::cout << std::count(str.begin(), str.end(), ' ') << " spaces" << std::endl;
...
ForEveR
В астрале
Эксперт С++
7970 / 4732 / 321
Регистрация: 24.06.2010
Сообщений: 10,541
Завершенные тесты: 3
07.10.2010, 23:49 #4
easybudda, А я успел поменять xD
Хотел через count. Но че-то проглючило - решил по-простецки)
TheMachinist
242 / 174 / 15
Регистрация: 14.06.2010
Сообщений: 422
07.10.2010, 23:50 #5
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
#include<iostream>
#include<string>
using namespace std;
 
int main()
{
    char str[] = "a  s hh  g ff  bj k ";
    char * p;
    int count = 0;
    p = str;
    for(int i = 0;i < (int)(strlen(str)-1);++i)
    {
        ++p;
        if(*p == ' ') count++;
    }
    cout << count << endl;
    system("pause");
}
rangerx
1933 / 1542 / 141
Регистрация: 31.05.2009
Сообщений: 2,912
08.10.2010, 00:00 #6
Цитата Сообщение от Lavroff Посмотреть сообщение
char*str="Hello world is mine";
Неконстантный указатель на константную область памяти не есть хорошо )
easybudda
Модератор
Эксперт CЭксперт С++
9530 / 5523 / 932
Регистрация: 25.07.2009
Сообщений: 10,608
08.10.2010, 00:09 #7
Цитата Сообщение от Lavroff Посмотреть сообщение
Хотел через count. Но че-то проглючило
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
#include <iostream>
#include <algorithm>
#include <cstring>
 
int main(){
    const int SIZE = 21; // + '\0'
    char buf[SIZE];
    
    std::cout << "String: ";
    std::cin.get(buf, SIZE);
    std::cout << std::count(buf, buf + strlen(buf), ' ') << " spaces" << std::endl;
    
    return 0;
}
C
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
#include <stdio.h>
 
#define BUF_SIZE 21
 
int main(void){
    char buf[BUF_SIZE], * p;
    int cnt;
    
    printf("String: ");
    if ( ! fgets(buf, BUF_SIZE, stdin) )
        return 1;
    
    for ( cnt = 0, p = buf; *p; ++p )
        ( *p == ' ' && ++cnt );
    
    printf("%d spaces\n", cnt);
    
    return 0;
}
gooseim
Эксперт С++
508 / 412 / 37
Регистрация: 23.09.2010
Сообщений: 1,159
08.10.2010, 00:24 #8
Еще в стиле си:
C
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
#include <string.h>
#include <stdio.h>
#include <conio.h>
 
int main()
{
   int cnt=0;
   char str[20];
   const char* p=str;
   fgets(str, 20, stdin);
 
   while(p=strstr(p, " "))
       ++p, ++cnt;
 
   printf("%d", cnt);
   getch();
 
   return 0;
}
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
08.10.2010, 00:24
Привет! Вот еще темы с ответами:

Определить количество пробелов в строке - C++
Написать програму при помощи библиотеки String.h Дана строка S1.....Sn (n за ранее не известно) нужно: 1)определить количество пробелов...

Определить количество пробелов в заданной последовательности символов - C++
Определить количество пробелов в заданной последовательности символов. Желательно с блок схемой чтоб понять что да как.

Определить в строке количество пробелов до первого восклицательного знака - C++
Дана строка символов.определить количество пробелов до первого восклицательного знака.если восклицательного знака нет,то напечатать...

Определить количество пробелов среди символов, предшествующих первому восклицательному знаку - C++
даны символы s1, s2,....Известно что символ s1 отличен от восклицательного знака и что среди s2, s3,.. есть по крайней мере один...


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

Или воспользуйтесь поиском по форуму:
Yandex
Объявления
08.10.2010, 00:24
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru