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

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

Войти
Регистрация
Восстановить пароль
 
Рейтинг: Рейтинг темы: голосов - 12, средняя оценка - 4.75
Remedych
0 / 0 / 0
Регистрация: 28.12.2011
Сообщений: 24
#1

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

19.03.2013, 13:52. Просмотров 1825. Ответов 9
Метки нет (Все метки)

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

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

Найти количество слов, которые начинаются и заканчиваются одной и той же буквой - C++
Проблема(

Подсчитать количество слов списка, которые начинаются и заканчиваются одной и той же буквой - C++
Как написать программу с функциями, которая подсчитывает количество слов списка Р, которые: а)начинаются и заканчиваются одной и той же...

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

Найти те слова, которые начинаются и заканчиваются одной и той же буквой - C++
1_Символьная строка заканчивается восклицательным знаком (!). Слова в ней отделены друг от друга точкой с запятой (;). Найти те слова,...

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

9
fjay69
85 / 85 / 1
Регистрация: 26.10.2012
Сообщений: 248
19.03.2013, 16:11 #2
Третья задача (над ней что-то завис):
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>
using namespace std;
 
int main()
{
  char array[100];  
  cout<<"Vvedite stroku:";
  cin.getline(array,100);
  int count=0, wordlenght;
  for(int i=0;;i++)
  { 
    for(wordlenght=0;;wordlenght++)
    { 
      if (array[i+wordlenght]==' ' || array[i+wordlenght]=='\0')//проходим до конца слова или строки
      break;
    }
    if (array[i]==array[i+wordlenght-1])//сравниваем начало и конец слова
    {
      count++;       
    } 
    i+=wordlenght;    
    if (array[i]=='\0')//конец строки
    break;         
  }  
  cout<<count;
  return 0;
}
2
Remedych
0 / 0 / 0
Регистрация: 28.12.2011
Сообщений: 24
19.03.2013, 23:45  [ТС] #3
Цитата Сообщение от fjay69 Посмотреть сообщение
Третья задача (над ней что-то завис):
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>
using namespace std;
 
int main()
{
  char array[100];  
  cout<<"Vvedite stroku:";
  cin.getline(array,100);
  int count=0, wordlenght;
  for(int i=0;;i++)
  { 
    for(wordlenght=0;;wordlenght++)
    { 
      if (array[i+wordlenght]==' ' || array[i+wordlenght]=='\0')//проходим до конца слова или строки
      break;
    }
    if (array[i]==array[i+wordlenght-1])//сравниваем начало и конец слова
    {
      count++;       
    } 
    i+=wordlenght;    
    if (array[i]=='\0')//конец строки
    break;         
  }  
  cout<<count;
  return 0;
}
не работает эта задача, за другие спасибо
0
SummerRain
327 / 326 / 17
Регистрация: 16.12.2012
Сообщений: 544
19.03.2013, 23:59 #4
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
#include <iostream>
#include <string>
 
int getNumofWords(const std::string& s) {
    typedef std::string::size_type str_size;
    str_size i = 0;
    int count = 0;
    while (i != s.size()) {
        while (isspace(s[i]) && i != s.size())
            ++i;
        str_size j = i;
        while (!isspace(s[j]) && j != s.size())
            ++j;
        if (i != j) {
            if (s[i] == s[j - 1])
                ++count;
            i = j;
        }
    }
    return count;
}
int main()
{
    std::string str;
    std::getline(std::cin, str);    
    std::cout << "Number of words: " << getNumofWords(str);
    system("PAUSE>0");
    return 0;
}
0
Remedych
0 / 0 / 0
Регистрация: 28.12.2011
Сообщений: 24
20.03.2013, 11:42  [ТС] #5
SummerRain, может я что то не понимаю, но пишу одинаковые слова выдает ответ "ноль"
0
Kastaneda
Jesus loves me
Эксперт С++
4697 / 2901 / 238
Регистрация: 12.12.2009
Сообщений: 7,389
Записей в блоге: 2
Завершенные тесты: 1
20.03.2013, 11:49 #6
Цитата Сообщение от Remedych Посмотреть сообщение
Дана строка, состоящая из слов, разделенных пробелами(одним). Определить количество слов, которые начинаются и заканчиваются одной той же буквой.
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
#include <iostream>
 
int main ()
{
    std::string word;
    int sum = 0;
 
    while (std::cin >> word) {
        sum += word[0] == word[word.length() - 1];
    }
 
    std::cout << sum << std::endl;
 
    return 0;
}
Можно переделать, чтоб вводить сразу всю строку, но это уж сам. А так для завершения ввода нажать ctrl+D (Linux) или ctrl+Z (Windows).
0
SummerRain
327 / 326 / 17
Регистрация: 16.12.2012
Сообщений: 544
20.03.2013, 12:33 #7
aweawega ada asda dd fdg sgh
Number of words: 4
asdf asdf asa asa qwe
Number of words: 2
количество слов, которые начинаются и заканчиваются одной и той же буквой.
Или я что-то не так понял в условии?
0
Remedych
0 / 0 / 0
Регистрация: 28.12.2011
Сообщений: 24
20.03.2013, 12:50  [ТС] #8
SummerRain, напишите слово dada dada
0
Kastaneda
Jesus loves me
Эксперт С++
4697 / 2901 / 238
Регистрация: 12.12.2009
Сообщений: 7,389
Записей в блоге: 2
Завершенные тесты: 1
20.03.2013, 12:52 #9
Цитата Сообщение от Remedych Посмотреть сообщение
напишите слово dada dada
Remedych, и какой ответ ты ожидаешь от программы на эти данные?
0
SummerRain
327 / 326 / 17
Регистрация: 16.12.2012
Сообщений: 544
20.03.2013, 13:38 #10
Как я ожидал: выдаёт 0.
Слово dada начинается с d заканчивается на a. a не есть d. Всё правильно.
0
20.03.2013, 13:38
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
20.03.2013, 13:38
Привет! Вот еще темы с ответами:

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

Строки. Найти все слова, которые начинаются и заканчиваются одной и той же буквой. - C++
задан текст. найти все слова, которые начинаются и заканчиваются одной и той же буквой.

Найти слова, которые начинаются и заканчиваются одной и той же буквой (перевести из Паскаля в С++) - C++
uses crt; var s,sl,sn: string; a: array of string; i,k: integer; begin write('s='); ...

Дана строка. Найти в ней те слова, которые начинаются и заканчиваются одной и той же буквой - C++
#include &lt;stdio.h&gt; #include &lt;string.h&gt; int main() { char str = &quot;Сегодня состоялось мероприятие, было весело, особенно...


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

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

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