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

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

Войти
Регистрация
Восстановить пароль
 
Дархан
21 / 21 / 1
Регистрация: 07.10.2012
Сообщений: 93
#1

Количество слов, начинающихся и заканчивающихся одной буквой - C++

10.12.2012, 13:54. Просмотров 649. Ответов 3
Метки нет (Все метки)

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
#include <conio.h>
#include <string.h>
#include <iostream.h>
#pragma argsused
int main()
{ char s[100];
  int i,k=0,n=0,a[100],j=0;
  cin.getline(s,sizeof(s)-1);
  for (i=0;i<strlen(s);i++)
  {
  if (s[i]!=' ')
  {
  if (s[0]==s[strlen(s)-1])
  n=1;
  }
  else
  {
  if (s[i]==' ')
  {
  a[j]=i;
  j++;
  k++;
  }
  else
  {
  a[j]=a[j];
  }
  for (j=1;j<k-1;j++)
  if (s[a[j-1]+1]==s[a[j]-1])
  n++;
  if (s[0]==s[a[0]-1])
  n++;
  if (s[a[k-1]+1]==s[strlen(s)-1])
  n++;
  }
  }
  cout<<"\n"<<n;
 getch();
}
По условию надо найти кол-во слов начинающихся и заканчивающихся одной буквой. Вот мой код. Для 1 и 2 слов работает, а дальше то правильно то неправильно. Помогите исправить(нужно решить без указателя)
0
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
10.12.2012, 13:54
Здравствуйте! Я подобрал для вас темы с ответами на вопрос Количество слов, начинающихся и заканчивающихся одной буквой (C++):

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

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

Посчитать количество слов, начинающихся согласной и заканчивающихся буквой а - C++
Здравствуйте, помогите пожалуйста решить задачу, сам уже 2ой день пытаюсь сделать: &quot;посчитать количество слов, начинающихся согласной и...

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

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

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

Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
DiffEreD
1430 / 767 / 95
Регистрация: 21.06.2011
Сообщений: 1,740
Записей в блоге: 2
10.12.2012, 15:32 #2
Могу предложить только STL решение:
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
#include <iostream>
#include <algorithm>
#include <iterator>
#include <sstream>
 
int main()
{
    setlocale (LC_ALL, "Russian");
    std::string str = "Hello world helh wow poi ioii";
    std::istringstream is(str);
    std::cout<<"Количество слов, начинающихся и заканчивающихся одной буквой: "
        <<std::count_if(std::istream_iterator<std::string>(is),
        std::istream_iterator<std::string>(),
        [](const std::string& s){return s.front() == s.back();}
        )<<std::endl;
    system("pause");
    return 0;
}
0
Пaтрик
415 / 390 / 38
Регистрация: 21.01.2012
Сообщений: 972
Завершенные тесты: 1
10.12.2012, 15:41 #3
Могу предложить решение на С:
C
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
 
int main(void)
{
    char str[BUFSIZ];
    size_t count = 0;
    char *p;
    fgets(str, BUFSIZ, stdin);
    for (p = strtok(str, " \n\t"); p; p = strtok(NULL, " \n\t"))
        if (*p == p[strlen(p) - 1])
        {
            puts(p);
            count++;
        }
    printf("Count: %u\n", count);
    return 0;
}
0
Дархан
21 / 21 / 1
Регистрация: 07.10.2012
Сообщений: 93
11.12.2012, 08:24  [ТС] #4
Цитата Сообщение от Пaтрик Посмотреть сообщение
Могу предложить решение на С:
C
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
 
int main(void)
{
    char str[BUFSIZ];
    size_t count = 0;
    char *p;
    fgets(str, BUFSIZ, stdin);
    for (p = strtok(str, " \n\t"); p; p = strtok(NULL, " \n\t"))
        if (*p == p[strlen(p) - 1])
        {
            puts(p);
            count++;
        }
    printf("Count: %u\n", count);
    return 0;
}
Спасибо, конечно, но я просил без указателя
0
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
11.12.2012, 08:24
Привет! Вот еще темы с ответами:

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

Вычислить количество слов в заданной строке, начинающихся и заканчивающихся 'W' - C++
Надо написать прогу: Дана строк S, вывести количество слов начинающихся и заканчивающихся 'W'

Определить количество слов в каждой строке , начинающихся на ‘А’ и заканчивающихся на “ и” - C++
Определить количество слов в каждой строке , начинающихся на ‘А’ и заканчивающихся на “ и” #include &lt;stdio.h&gt; #include &lt;conio.h&gt; ...

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


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

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

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