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

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

Восстановить пароль Регистрация
Другие темы раздела
C++ Указатели в функциях (составить программу для проверки, есть ли в массиве одинаковые элементы) http://www.cyberforum.ru/cpp-beginners/thread903663.html
Помогите пожалуйста:scratch: Составить программу для проверки, есть ли в массиве одинаковые элементы. Проверить на наличие одинаковых элементов таблицы А и В. Инициализацию, вывод элементов массива, их обработку организовать в отдельных функциях.
C++ Переписать все элементы з матрицы С в одномерный массив F, отсортировать его по возрастанию В мастрици С количество столбик в каждой строке случайным натуральным числом с интервала (a; b) но общее количество элементов является квадратом натурального числа переписать все элементы з матрицы С в одномерный массив F отсортировать его по возрастанию пост чего переписать его элементы в квадратну матрицу Q по порядку. http://www.cyberforum.ru/cpp-beginners/thread903654.html
Выделение памяти C++
Доброго всем вечера. В книжке нашел задание: определить класс, представляющий стек. Сделал так, что при заполнении всего стека, динамически выделяется новая память и все элементы стека туда копируются. Но почему то выдает ошибку (прикладываю скрин). Вот класс #include <iostream> #include <new> using std :: cout; using std :: bad_alloc;
C++ Определите в двумерном числовом массиве суммы положительных и отрицательных элементов
Определите в двумерном числовом массиве суммы положительных и отрицательных элементов.
C++ Как из двусвязного списка удалить заданный элемент http://www.cyberforum.ru/cpp-beginners/thread903647.html
как из двусвязного списка удалить заданный элемент? у нас есть список фамилий: Иванов,Петров,Сидоров,Кукушкин,Укупник,Куприн,Васильев, Сидоров,Гончаров и нам надо удалить всех по фамилии Сидоров
C++ Удаление выбранных тегов (html-страница) В текстовом файле хранится сохраненная html страница. нужно проверить её и удалить теги, выбранные пользователем имеется код программы ,который просто переводит ее в обычный текстовый вид, удаляя все теги что нужно дописать для удаления только выбранных? #include <iostream> #include <fstream> #include <string> using namespace std; подробнее

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

Задание

Дана последовательность, содержащая от 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;
}
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
 
Текущее время: 16:01. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru