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

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

Войти
Регистрация
Восстановить пароль
 
xcyber
0 / 0 / 0
Регистрация: 20.05.2009
Сообщений: 6
#1

Найти в файле слова-палиндромы - C++

20.05.2009, 15:00. Просмотров 864. Ответов 4

Вообщем засада)

Дана задача:
Имеется текстовый файл, содержащий текст на русском языке. Найти в нем слова-палиндромы ("перевертыши"), одинаково читающиеся как с слева направо, так и справа налево (Анна, шалаш, и т.д.). В тексте встречаются не только слова-палиндромы, но и фразы-палиндромы: "А роза упала на лапу Азора". Найти и их. Все найденные палиндромы (слова и фразы) записать в отдельный текстовый файл".

Написать нужно на С.
После 4-ех проделаных лаб, уже ничего не соображаю...
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
20.05.2009, 15:00     Найти в файле слова-палиндромы
Посмотрите здесь:

Найти все числа-палиндромы, которые не больше 100, и их квадраты тоже палиндромы C++
Дана строка Найти и вывести все слова палиндромы C++
В строке, состоящей из слов и знаков препинания найти все слова-палиндромы C++
C++ Поменять местами первое и последнее слово, найти слова-палиндромы
Дана строка, содержащая разделенные пробелами слова, вывести все слова-палиндромы C++
Найти числа от 1 до 99 - палиндромы, которые при возведении в квадрат также дают палиндромы (используя циклы) C++
Найти в файле все слова, которые можно сложить из букв заданного слова C++
C++ Найти в файле слова-палиндромы
C++ Найти слова палиндромы
C++ Отредактировать строку, продублировав через один пробел слова, из которых можно составить слова-палиндромы
C++ В строке найти слова палиндромы
Найти в тексте, состоящем из 1 строки, все слова и числа-палиндромы C++

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

Или воспользуйтесь поиском по форуму:
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
xcyber
0 / 0 / 0
Регистрация: 20.05.2009
Сообщений: 6
27.06.2009, 12:59  [ТС]     Найти в файле слова-палиндромы #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
28
29
30
31
32
33
34
35
#include <stdio.h>
#include <string.h>
#define MWORD  80
#define MLINE  500 
void main()
{
    char *obratno(char []);
    char  word[MWORD], line[MLINE], tmp[MWORD], *p;
    int ww;
    while ((p = fgets(line, MLINE, stdin)) != NULL) 
       {
        if (p[0] == '\n' || (p[0] == '\r' && p[1] == '\n')) break;
        while (sscanf(p, "%s%n", word, &ww) == 1) 
        {
            p += ww;
            strcpy(tmp, word);
            if (strcmp(word, obratno(tmp)) == 0 && strlen(word) > 1)
                printf("%s\n", word);
        }
    }        
    return 0;
}
 
char *obratno(char s[])
{
    char *p, *q;
    int c;
    
    p = q = s;
    while (*q)
        q++;
    for (q-- ; p < q; p++, q--)
        c = *p, *p = *q, *q = c;
    return s;
}
accept
4817 / 3237 / 165
Регистрация: 10.12.2008
Сообщений: 10,682
28.06.2009, 09:51     Найти в файле слова-палиндромы #3
ну, ты и напомнил
Код
[guest@station q]$ ll "drom_small(new).c"
-rw-rw-r-- 1 guest guest 1101 Дек 25  2008 drom_small(new).c
[guest@station q]$
я тогда ещё функциями не писал, так что и прога (слова проверяет а фразы нет, ибо, когда пишешь всё в одном, каждое изменение проблематично)
Вложения
Тип файла: zip drom_history.zip (1.1 Кб, 30 просмотров)
xcyber
0 / 0 / 0
Регистрация: 20.05.2009
Сообщений: 6
28.06.2009, 12:16  [ТС]     Найти в файле слова-палиндромы #4
accept, спасибо. Оказывается всё просто)
racster
1 / 1 / 0
Регистрация: 17.05.2013
Сообщений: 10
20.05.2013, 01:06     Найти в файле слова-палиндромы #5
а можно написать эту же самую программу в с++, и с текстовыми файлами???
Yandex
Объявления
20.05.2013, 01:06     Найти в файле слова-палиндромы
Ответ Создать тему
Опции темы

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