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

Поиск симметричных слов (Подправить код) - C++

Восстановить пароль Регистрация
 
Osalivan
0 / 0 / 0
Регистрация: 03.11.2012
Сообщений: 3
16.06.2013, 20:06     Поиск симметричных слов (Подправить код) #1
Прошу помогите! Не могу понять почему не выводит сообщение

Задание

Дана последовательность, содержащая от 1 до 30 слов. Слова разделены одним или несколькими пробелами. За последним словом – точка. Напечатать:
Все симметричные слова!

Вот код :

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
#include "stdafx.h"
#include<iostream>
#include<conio.h>
#include<string.h>
#include<windows.h>
using namespace std;
 
int _tmain(int argc, _TCHAR* argv[])
{
    setlocale(LC_ALL,"Rus");            
    char text[]="Abkhazia lolol Australia, statt  Austria, torot  Azerbaijan, nnnnn Aland Islands, Albania Algeria.";//предложение
    char *razdelitel=" .,!?";           //разделители
    char *slovo=0; //хранит слово
    int strl;
    int kol_vosimm_slov=0;
    slovo=strtok(text,razdelitel);
    while(slovo)                        //пока есть другие слова
    {
     strl=strlen(slovo);
     int x=strl/2; //int отбрасывает дробную часть, следовательно 5/2 будет 5
     int q=0;//если какая-либо из букв не равна букве с другой стороны, увеличиваем на 1
     for (int i=0,j=strl-1;i<x;i++,j--){//strl -1 потому что slovo[strl] = '\0'
    if (slovo[i]!=slovo[j]) q++;
    }
 
     if (q==0) 
     cout<<"Симметричное слово"<<endl;
 
 
    }
 
 
 
    getch();
    return 0;
}
Добавлено через 9 минут
о все переделал, может кому интересно будет

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
#include "stdafx.h"
#include<iostream>
#include<conio.h>
#include<string.h>
#include<windows.h>
using namespace std;
 
int _tmain(int argc, _TCHAR* argv[])
{
    setlocale(LC_ALL,"Rus");            
    char text[]="Abkhazia lolol Australia, statt  Austria, torot  Azerbaijan, nnnnn Aland Islands, Albania Algeria.";//предложение
    char *razdelitel=" .,!?";           //разделители
    char *slovo=0; //хранит слово
    int strl;
    int kol_vosimm_slov=0;
    slovo=strtok(text,razdelitel);
    while(slovo)                        //пока есть другие слова
    {
     strl=strlen(slovo);
     int x=strl/2; //int отбрасывает дробную часть, следовательно 5/2 будет 5
     int q=0;//если какая-либо из букв не равна букве с другой стороны, увеличиваем на 1
     for (int i=0,j=strl-1;i<x;i++,j--){//strl -1 потому что slovo[strl] = '\0'
    if (slovo[i]!=slovo[j]) q++;
    }
 
     if (q==0){
         cout<<"slovo **"<<slovo<<"** simmetrichno"<<endl;
                kol_vosimm_slov++;       
     }
 
    
       slovo=strtok(NULL,razdelitel);      //получаем след. слово
 
    }
 
    cout<<"В предложении "<<kol_vosimm_slov<<" симметричных  слов(а)"<<endl;
 
 
    getch();
    return 0;
}
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
16.06.2013, 20:06     Поиск симметричных слов (Подправить код)
Посмотрите здесь:

c++ строки. подправить код C++
getch () C++ подправить код C++
Немного подправить код C++
C++ Помогите подправить код
C++ Дана фраза. Определить сколько в ней симметричных пятибуквенных слов
Подправить код C++
Подправить код C++
C++ пожалуйста, подправить код

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

Или воспользуйтесь поиском по форуму:
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
Ответ Создать тему
Опции темы

Текущее время: 05:23. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru