Форум программистов, компьютерный форум, киберфорум
Наши страницы

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

Войти
Регистрация
Восстановить пароль
 
Ilya811
1 / 1 / 0
Регистрация: 24.10.2012
Сообщений: 19
#1

Определить, сколько в строке слов, содержащих четное число символов. - C++

24.10.2012, 17:00. Просмотров 1034. Ответов 9
Метки нет (Все метки)

Дана строка, состоящая из слов, разделенных пробелами. Определить, сколько в строке слов, содержащих четное число символов.
Со строками еще не работали, но задание уже задали, не могу додуматься как ее сделать, всю инфу в интернете перерыл, выручайте.
все нужно написать как можно проще и понятнее.
что бы я въехал, как с ней обращаться, что куда записывать
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
24.10.2012, 17:00
Здравствуйте! Я подобрал для вас темы с ответами на вопрос Определить, сколько в строке слов, содержащих четное число символов. (C++):

Определить, сколько в заданной строке слов, содержащих четное число символов - C++
Дана строка , состоящая из слов , разделенных пробелами , и в конце строки - точка .определить,сколько в строке слов ,содержащих четное...

Определить количество слов в строке, содержащих заданный символ - C++
С клавиатуры вводится строка, которая состоит из слов, разделенных одним или несколькими пробелами. Напишите функцию (строка является...

Определить число слов содержащих цифры. - C++
Во входном потоке определить число слов содержащих цифры. Под словом понимать любую последовательность из символов , за исключением ...

Строка: Определить наличие слов в заданном тексте, содержащих сочетание символов, задаваемое с клавиатуры. - C++
Определить наличие слов в заданном тексте, содержащих сочетание символов, задаваемое с клавиатуры.

Пользователь вводит с клавиатуры строку символов. Сообщить, сколько слов в строке - C++
Помогите пожалуйста. Надо написать программу: Пользователь вводит с клавиатуры строку символов. (не более 80 символов) Сообщить, сколько...

определить, сколько в файле имеется слов, состоящих из одного, двух, трех и т. д. символов - C++
Добрый день, помогите пожалуйста в программу добавить вот эти 2 пункта. 1)определить, сколько в файле имеется слов, состоящих из одного,...

9
denys_l
52 / 52 / 4
Регистрация: 26.09.2011
Сообщений: 186
24.10.2012, 17:08 #2
strtok();
strlen();
0
Ilya811
1 / 1 / 0
Регистрация: 24.10.2012
Сообщений: 19
24.10.2012, 17:09  [ТС] #3
Цитата Сообщение от denys_l Посмотреть сообщение
strtok();
strlen();
эээм) дружище, так не понятно)) попросил же по возможности подробно все описать, что бы понял. Я начинающий
0
panicwassano
592 / 560 / 20
Регистрация: 07.11.2010
Сообщений: 2,004
24.10.2012, 17:49 #4
Цитата Сообщение от Ilya811 Посмотреть сообщение
Я начинающий
никогда не поверю, что поиск ничего не нашел. В книжке подробно расписаны строки. Всю информацию преподаватель вам все равно не даст, так что друг берись за книжку
0
Ilya811
1 / 1 / 0
Регистрация: 24.10.2012
Сообщений: 19
24.10.2012, 17:52  [ТС] #5
Цитата Сообщение от panicwassano Посмотреть сообщение
никогда не поверю, что поиск ничего не нашел. В книжке подробно расписаны строки. Всю информацию преподаватель вам все равно не даст, так что друг берись за книжку
нет , дело в том что преподаватель еще вообще этого не давал и неизвестно когда вообще даст.
мне просто нужны наглядный пример кода, вот и все
0
rangerx
1937 / 1546 / 141
Регистрация: 31.05.2009
Сообщений: 2,913
24.10.2012, 19:07 #6
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
#include <iostream>
 
int main() {
    
    char s[256] = "";
    std::cin.getline(s, sizeof(s));
 
    const char delim = ' ';
    int i = 0, c = 0;
    
    while(s[i] != '\0') {
 
        if(s[i] == delim) {
            
            do ++i; while(s[i] == delim);
        }
        
        else {
 
            int n = 0;
            do ++i, ++n; while(s[i] != '\0' && s[i] != delim);
            if(n % 2 == 0) ++c;
        }
    }
 
    std::cout << c << std::endl;
}
1
Thinker
Эксперт С++
4229 / 2203 / 150
Регистрация: 26.08.2011
Сообщений: 3,802
Записей в блоге: 5
24.10.2012, 19:15 #7
C
1
2
3
4
5
6
7
8
9
10
11
12
13
#include<stdio.h>
#include<string.h>
 
int main()
{
   char s[1024], *w;
   int count = 0;
   fgets(s, 1024, stdin);
   for(w = strtok(s, " \n\t"); w; count += !(strlen(w) & 1), w = strtok(NULL, " \n\t"))
      ;
   printf("count = %d\n", count);
   return 0;
}
1
Ilya811
1 / 1 / 0
Регистрация: 24.10.2012
Сообщений: 19
24.10.2012, 20:25  [ТС] #8
Цитата Сообщение от rangerx Посмотреть сообщение
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
#include <iostream>
 
int main() {
    
    char s[256] = "";
    std::cin.getline(s, sizeof(s));
 
    const char delim = ' ';
    int i = 0, c = 0;
    
    while(s[i] != '\0') {
 
        if(s[i] == delim) {
            
            do ++i; while(s[i] == delim);
        }
        
        else {
 
            int n = 0;
            do ++i, ++n; while(s[i] != '\0' && s[i] != delim);
            if(n % 2 == 0) ++c;
        }
    }
 
    std::cout << c << std::endl;
}
проверил на работоспособность, что то с ней не так, постоянно показывает или 2 или 4 , хотя записываю другое количество нечетных слов.

Добавлено через 1 минуту
Цитата Сообщение от Thinker Посмотреть сообщение
C
1
2
3
4
5
6
7
8
9
10
11
12
13
#include<stdio.h>
#include<string.h>
 
int main()
{
   char s[1024], *w;
   int count = 0;
   fgets(s, 1024, stdin);
   for(w = strtok(s, " \n\t"); w; count += !(strlen(w) & 1), w = strtok(NULL, " \n\t"))
      ;
   printf("count = %d\n", count);
   return 0;
}
А вот ваша версия мне больше по душе, работает правильно , быстро , меньше писанины, проще разобраться, спасибо!
0
rangerx
1937 / 1546 / 141
Регистрация: 31.05.2009
Сообщений: 2,913
24.10.2012, 21:56 #9
Цитата Сообщение от Ilya811 Посмотреть сообщение
проверил на работоспособность, что то с ней не так, постоянно показывает или 2 или 4 , хотя записываю другое количество нечетных слов.
Пример входных данных хотелось бы увидеть...
0
Ilya811
1 / 1 / 0
Регистрация: 24.10.2012
Сообщений: 19
25.10.2012, 11:51  [ТС] #10
Цитата Сообщение от rangerx Посмотреть сообщение
Пример входных данных хотелось бы увидеть...
извиняюсь, все перепроверил, работает правильно!
но второй код, который меньше мне больше по душе)) написано проще, вот только с циклом не могу разобраться , что там к чему
0
25.10.2012, 11:51
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
25.10.2012, 11:51
Привет! Вот еще темы с ответами:

Определить, сколько в файле имеется слов, состоящих из одного, двух, трех символов - C++
Дан символьный файл f. Считая что кол-во символов в слове не превосходит двадцати: а) определить, сколько в файле f имеется слов,...

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

Определить, сколько в исходном тексте имеется слов, состоящих из одного, двух, трех и т.д символов. - C++
Привет Всем! Помогите пожалуйста разобрать задачку на C++: Дан текст на английском языке. Предложения в тексте начинаются с заглавной...

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


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

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

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