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

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

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

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

20.05.2013, 17:48. Просмотров 540. Ответов 1
Метки нет (Все метки)

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

Добавлено через 1 минуту
и еще я не могу сделать, чтоб в консоли писался русский текст(

Добавлено через 23 часа 48 минут
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
#include <string.h>
#include <stdio.h>
#include <stdlib.h>
#include <iostream>
using namespace std; 
int main()
{   
   int n,j,f,k;
   char ar1[100];
   char ar2[100];
   FILE *f1;
   f1=(fopen("D:\\text1.txt","r"));
   fgets(ar1,100,f1);              
   n=strlen(ar1);
   j=0; f=0; k=0;   
   while(k<n)               
   {
       if(ar1[k]==' ')       
   {
   for(int j=k; j<n; j++) 
   ar1[j]=ar1[j+1];
   n--;
   k--;
   }                              
   k++;
   }
   for(int i=n-1; i>=0; i--)               
   {
   for(j=f; j<n; j++)
   {
    ar2[j]=ar1[i];
       }
            j=0;
           f++;
              }
            int p;                                  
                p=strncmp(ar1,ar2,n); 
         if(p==0) 
        cout << "Eto polindrom\n\n"; 
          else 
            cout << "Eto ne polindrom\n\n";
 
system("pause");
return 0;
}
программа проверяет только одну строчку на палиндром. и то если в конце стоит точка или запятая, то уже выдает что не палиндром. и в файл не записывает, если палиндром
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
20.05.2013, 17:48
Я подобрал для вас темы с готовыми решениями и ответами на вопрос Текстовые файлы и палиндромы в С++ (C++):

Текстовые файлы, палиндромы - C++
Всем доброго времени суток! Может найдется добрый человек, который напишет программу по этому условию: &quot;Разбить исходный файл на два...

нужно переделать код (из Файлы текстовые (FILE*) в Файлы текстовые (потоки)) - C++
вот задание для программы: 6. Задан текстовый файл input.txt. Требуется определить строки этого файла, содержащие максимальную по длине...

Найти все числа-палиндромы, которые не больше 100, и их квадраты тоже палиндромы - C++
Натуральное число называется палиндромом, если его запись читается однинакого с начала и с конца (4884, 393, 1). Найти все числа-паиндромы,...

Текстовые файлы в С++ - C++
Дан текстовый файл со строками длиной не более 255 символов. Переписать его содержимое в другой текстовый файл по строкам, начиная с...

Текстовые файлы - C++
Имеется текстовый файл. Все четные строки этого файла записать во второй, а нечетные в третий файл. Порядок следования строк сохраняется. ...

Текстовые файлы. - C++
Дано целое число N и текстовый файл с именем Name1, содержащий один абзац текста, выровненный по левому краю. Отформатировать текст так,...

1
racster
1 / 1 / 0
Регистрация: 17.05.2013
Сообщений: 10
31.05.2013, 02:37  [ТС] #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
#include <conio.h>
#include <iostream>
#include <fstream>
#include <iomanip>
#include <stdlib.h>
#include <string>
#include <algorithm>
using namespace std;
bool ispalind(string s);
int main()
{
    std::ifstream input("in.txt");
    std::ofstream output("out.txt");
    std::string s;
    while(std::getline(input, s))
 
        if (ispalind (s)) output << s <<std::endl;
    system("pause");
    return 0;
}
bool ispalind(string s)
{
    string s2=s;
    size_t i;
 
  while((i=s.find(' '))!=string::npos)
        s.erase(i, 1);
 
    string rs = s;
    reverse(rs.begin(), rs.end());
    return s == rs;
 
}
или

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 <conio.h>
#include <iostream>
#include <fstream>
#include <iomanip>
#include <stdlib.h>
#include <string>
#include <algorithm>
using namespace std;
bool ispalind(string s);
int main()
{
    std::ifstream input("in.txt");
    std::string s;
    while(std::getline(input, s))
        ispalind (s);
    system("pause");
    return 0;
}
bool ispalind(string s)
{
    string s2=s;
    size_t i;
 
  while((i=s.find(' '))!=string::npos)
        s.erase(i, 1);
    std::ofstream output("out.txt",ios_base::app);
    int p;
    string rs = s;
    reverse(rs.begin(), rs.end());
    p=(s == rs);
    if (p)
        output << s2 <<std::endl;
    return s == rs;
 
}
1
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
31.05.2013, 02:37
Привет! Вот еще темы с ответами:

Текстовые файлы в С++ - C++
Добрый день. В летнюю практику входило задание написать программу в среде visual studio c++... Но за лето, конечно, забылась большая...

Текстовые файлы - C++
#pragma argsused #include &lt;iostream&gt; #include &lt;fstream&gt; #include &lt;string&gt; #include &lt;iterator&gt;- Что вот это за библиотека? и зачем...

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

текстовые файлы - C++
Дан текстовый файл f.Переписатьв файл g все компоненты файла f с заменой в них символа 0 на символ 1 и наоборот Добавлено через 1 час...


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

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

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