0 / 0 / 0
Регистрация: 13.10.2013
Сообщений: 25
1

Напечатать те слова последовательности, которые отличны от первого слова и удовлетворяют следующему свойству

09.01.2015, 18:54. Показов 3115. Ответов 6
Метки нет (Все метки)

Author24 — интернет-сервис помощи студентам
Дана последовательность слов. Напечатать те слова последовательности, которые отличны от первого слова и удовлетворяют следующему свойству: в слове нет повторяющихся букв; слово симметрично. Делал сортировку, но как то не получилосьПомогите!
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
#include <cstdlib>
#include <iostream>
#include <cstring>
#include <stdio.h>
#define N 3
using namespace std;
 
int main(int argc, char *argv[])
{
    int i,j,k;
    bool f=true;
    char slova[N][10];
    cout<<"Slova :"<<endl;
    for (i=0;i<N;i++)
    cin.getline(slova[i],10);
    for (i=0;i<N;i++)
    {
        
        { 
    if (strcmp(slova[0],slova[i])!=0)
       {           
       if (strlen(slova[i])%2==1)
       {
          for (j=0;j>(strlen(slova[i])-1)/2;j++)                        
          if  (slova[i][j]!=slova[i][strlen(slova[i])-j])      f=false;
        }
        cout<<"Simmetri4noe "<<slova[i]<<endl;
        }
     }                           
}
        
    system("PAUSE");
    return EXIT_SUCCESS;
}
0
Лучшие ответы (1)
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
09.01.2015, 18:54
Ответы с готовыми решениями:

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

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

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

Строка: напечатать слова, которые удовлетворяют следующему свойству: в слове нет повторяющихся букв
Доброго времени суток. помогите написать программу в С++. Дан текст. Напечатать те слова, которые...

6
102 / 44 / 18
Регистрация: 08.01.2015
Сообщений: 97
09.01.2015, 20:23 2
Лучший ответ Сообщение было отмечено JekaIodelb как решение

Решение

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
42
43
44
45
46
47
48
49
50
51
#include <iostream>
#include <cstring>
 
bool symmetric(const char* str)
    {
       size_t len = strlen(str) - 1;
    for (const char *ch  = str; *ch != '\0'; ch++)
        {
           if( *ch != str[str + len - ch])
               return false;
        }
     return true;
    }
 
bool not_repeat(const char* str)
    {
    for (const char *ch  = str; *ch != '\0'; ch++)
        {
           for (const char *ch_in  = str; *ch_in != '\0'; ch_in++)
        {
             if( ch != ch_in && *ch == *ch_in)
              return false;
         }
        }
     return true;
    }
 
int main(int argc, char *argv[])
{
    
    char sentence[256];
    char  first_word[100];
    char * word = nullptr;
    std::cout <<"Vvedite predlojenie :"<<std::endl; 
    std::cin.getline(sentence,256);
    word = strtok(sentence, " ,.!?");
    strcpy( first_word, word);
    while( word != nullptr)
        {
        if (  strcmp(first_word, word ))
            {
            if( symmetric(word))
               std::cout <<  "Slovo " << word << " simetrichno.\n";
            if( not_repeat(word))
              std::cout <<  "Symvoli v slove " << word << " ne povtoryautsa.\n";
            }
          word = strtok( nullptr, " ,.!?");
        }
    system("PAUSE");
    return EXIT_SUCCESS;
}
0
0 / 0 / 0
Регистрация: 13.10.2013
Сообщений: 25
10.01.2015, 09:07  [ТС] 3
Спасибо за задачуНо у меня вылетает ошибка на nullptr.
C++
1
nullptr undeclared (first use this function)
0
102 / 44 / 18
Регистрация: 08.01.2015
Сообщений: 97
10.01.2015, 09:41 4
nullptr на NULL можно заменить. В данном случае это не важно.

Добавлено через 13 секунд
Да еще. Там же не нужно всю строку проходить, в функции symmetric.
Можно до середины.
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
bool symmetric(const char* str)
    {
       size_t len = strlen(str) - 1;
       size_t dlen = len / 2;
       
       if( dlen % 2 != 0)
           return false;
 
    for (const char *ch  = str; *ch != str[dlen]; ch++)
        {
           if( *ch != str[str + len  - ch])
               return false;
        }
     return true;
    }
0
0 / 0 / 0
Регистрация: 13.10.2013
Сообщений: 25
10.01.2015, 10:10  [ТС] 5
Phoenix_Max, Все работает, вы не подскажите какие данные можно вводить, чтобы ее проверить? Например как проверить на симметрию. Спасибо большое!
0
102 / 44 / 18
Регистрация: 08.01.2015
Сообщений: 97
10.01.2015, 10:33 6
Уже сам запутался, в общем оставьте так наверно, не хочу моск ломать
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
bool symmetric(const char* str)
    {
       size_t len = strlen(str) - 1;
       size_t dlen = len / 2;
       
       if( dlen % 2 != 0)
           return false;
       for (size_t i = 0; i < dlen; i++)
        {
           if( str[i] != str[ len  - i])
               return false;
        }
     return true;
    }
Цитата Сообщение от JekaIodelb Посмотреть сообщение
какие данные можно вводить, чтобы ее проверить
Bash
1
2
3
4
5
6
Vvedite predlojenie :
wer erre tyuuyt uu ioppoi sdf
Slovo tyuuyt simetrichno.
Slovo uu simetrichno.
Slovo ioppoi simetrichno.
Symvoli v slove sdf ne povtoryautsa.
0
0 / 0 / 0
Регистрация: 13.10.2013
Сообщений: 25
10.01.2015, 14:37  [ТС] 7
Phoenix_Max, Спасибо большое!

Добавлено через 3 часа 43 минуты
Phoenix_Max, Если можешь, просто это одна задача осталась, а мне практику защищать надо скоро. Я со строками и символами плохо разбираюсь.
Двумерный массив: найти номер последней по порядку строки массива, содержащей наибольшее количество букв ш
По ссылке созданная тема, там будет задача. Заранее спасибо!
0
10.01.2015, 14:37
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
10.01.2015, 14:37
Помогаю со студенческими работами здесь

Напечатать симметричные слова последовательности, которые отличны от первого слова
Дана последовательность, содержащая от 2 до 50 слов, в каждом из которых от 1 до 8 строчных...

Напечатать те слова последовательности, которые отличны от первого слова и удовлетворяют следующему свойству
Напечатать те слова последовательности, которые отличны от первого слова и удовлетворяют следующему...

Напечатать те слова последовательности, которые отличны от последнего слова и удовлетворяют следующему свойству
Дана последовательность слов. Напечатать те слова последовательности, которые отличны от последнего...

Дана последовательность слов. Напечатать те слова последовательности, которые отличны от последнего слова и удовлетворяют следующему свойству: в слове
Дана последовательность слов. Напечатать те слова последовательности, которые отличны от последнего...


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

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

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2024, CyberForum.ru