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

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

Войти
Регистрация
Восстановить пароль
 
Рейтинг: Рейтинг темы: голосов - 11, средняя оценка - 4.73
craftsman
 Аватар для craftsman
0 / 0 / 0
Регистрация: 25.11.2010
Сообщений: 16
#1

Дан файл. Записать в другой файл строки, которые являются палиндромами. - C++

07.12.2010, 18:32. Просмотров 1401. Ответов 12
Метки нет (Все метки)

Помогите пожалуйста с задачей: "Дан файл а. Записать в файл с те строки и их номера в исходном файле, которые являются палиндромами"!!!
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
07.12.2010, 18:32     Дан файл. Записать в другой файл строки, которые являются палиндромами.
Посмотрите здесь:

C++ Дан тестовый файл. Вывести его содержимое в другой файл, заменив каждое вхождение пробела на символ нижнего подчеркивания.
Дан файл f, компоненты которого являются целыми числами. Получить файл g, образованный из файла f исключением повторных вхождений одного и того же чис C++
C++ Задан файл с отрицательными и положительными целыми числами. Записать в другой файл сначала отрицательные, а потом положительные числа
Вывести строки массива строк, которые являются палиндромами C++
Дан текстовый файл. Выведите все строки, которые содержат хотя бы один пробел C++
Дан файл. В новый файл записать самую длинную фразу и фразу с наибольшим количеством слов C++
C++ Найти количество подстрок четной длины, которые являются палиндромами
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
sanek12345
0 / 0 / 0
Регистрация: 08.06.2010
Сообщений: 31
07.12.2010, 21:44     Дан файл. Записать в другой файл строки, которые являются палиндромами. #2
Могу дать задачу по нахождению полиндромов.
Она у меня есть, работает без багов!
craftsman
 Аватар для craftsman
0 / 0 / 0
Регистрация: 25.11.2010
Сообщений: 16
08.12.2010, 18:16  [ТС]     Дан файл. Записать в другой файл строки, которые являются палиндромами. #3
Если твоя программа по нахождению строк-палиндромов, то давай! Под файлы я как-нибудь переделаю.
M128K145
Эксперт C++
 Аватар для M128K145
8277 / 3496 / 143
Регистрация: 03.07.2009
Сообщений: 10,707
09.12.2010, 12:56     Дан файл. Записать в другой файл строки, которые являются палиндромами. #4
http://www.cyberforum.ru/cpp-beginne...tml#post506088
craftsman
 Аватар для craftsman
0 / 0 / 0
Регистрация: 25.11.2010
Сообщений: 16
16.12.2010, 18:15  [ТС]     Дан файл. Записать в другой файл строки, которые являются палиндромами. #5
Помогите с циклом который выявляет строку-палиндром!
И чтобы в новый файл b.txt выводились только строки полиндромы.
По форуму я поискал, но ничего подходящего не нашёл. Т.к. нужно сделать через двумерные массивы.
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
#include "stdafx.h"
#include "iostream"
#include "fstream"
using namespace std;
#define m 100
 
int _tmain(int argc, _TCHAR* argv[])
{
    int i,z=0,j,p;
    ifstream fin;
    ofstream fout;
    char x[m],y[m][m];
    fin.open("a.txt");
    fout.open("b.txt");
    while(!fin.eof())
    {fin.getline(x,m);
    for(i=0;x[i]!='\0';i++)
        y[z][i]=x[i];
        y[z][i]='\0';
        z++;}
    for(j=0;j<z;j++)
    {fout<<"Stroka numer:"<<j<<":";
    {for(p=0;y[j][p]!='\0';p++)
    fout<<y[j][p];
    fout<<'\n';}}
    fout.close();
    fin.close();
    return 0;
}
M128K145
Эксперт C++
 Аватар для M128K145
8277 / 3496 / 143
Регистрация: 03.07.2009
Сообщений: 10,707
16.12.2010, 20:00     Дан файл. Записать в другой файл строки, которые являются палиндромами. #6
craftsman, что мешает ваш двумерный массив представить в виде массива строк и воспользоваться функций из поста, линк на который я бросил
craftsman
 Аватар для craftsman
0 / 0 / 0
Регистрация: 25.11.2010
Сообщений: 16
16.12.2010, 20:14  [ТС]     Дан файл. Записать в другой файл строки, которые являются палиндромами. #7
Помогите пожалуйста M128K145. Что бы я ни пробывал у меня файл, в который нужно занести, заполняется всяким мусором, но только не палиндромами.
M128K145
Эксперт C++
 Аватар для M128K145
8277 / 3496 / 143
Регистрация: 03.07.2009
Сообщений: 10,707
16.12.2010, 21:35     Дан файл. Записать в другой файл строки, которые являются палиндромами. #8
craftsman, выложите этот файл, а я скажу, правильный он или нет
craftsman
 Аватар для craftsman
0 / 0 / 0
Регистрация: 25.11.2010
Сообщений: 16
16.12.2010, 22:18  [ТС]     Дан файл. Записать в другой файл строки, которые являются палиндромами. #9
Это я на вывод поставил перевёрнутые строки
Вложения
Тип файла: txt b.txt (4.2 Кб, 24 просмотров)
M128K145
Эксперт C++
 Аватар для M128K145
8277 / 3496 / 143
Регистрация: 03.07.2009
Сообщений: 10,707
16.12.2010, 23:29     Дан файл. Записать в другой файл строки, которые являются палиндромами. #10
craftsman, и файл a.txt.
И еще, а что мешает писать так
C++
1
2
3
4
5
6
int i = 0;
while(!fin.eof() && i < m)
{
    fin.getline(y[i], m);
    ++i;
}
Без дополнительного массива
craftsman
 Аватар для craftsman
0 / 0 / 0
Регистрация: 25.11.2010
Сообщений: 16
16.12.2010, 23:44  [ТС]     Дан файл. Записать в другой файл строки, которые являются палиндромами. #11
А как при помощи вашей поправки отобрать строки палиндромы и занести их в файл b?
Вложения
Тип файла: txt a.txt (96 байт, 21 просмотров)
M128K145
Эксперт C++
 Аватар для M128K145
8277 / 3496 / 143
Регистрация: 03.07.2009
Сообщений: 10,707
17.12.2010, 01:05     Дан файл. Записать в другой файл строки, которые являются палиндромами. #12
C++
1
2
3
4
5
for(i = 0; i < m; ++i)
{
    if(palindrom(y[i])) 
        fout<<y[i]<<std::endl;
}
Учтите, что функция
C++
1
2
3
4
5
6
7
8
bool palindrom(char s[100000])
{
    size_t x(0), i, len(strlen(s) - 1), slen(len >> 1);
    for(i = 0; i < slen; ++i) 
        if(s[i] != s[len - i])
            return false;      
    return true;
}
учитывает пробелы и строка
Роза упала на лапу азор
не будет палиндромом
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
17.12.2010, 18:11     Дан файл. Записать в другой файл строки, которые являются палиндромами.
Еще ссылки по теме:

Определить количество цифр в файле и записать строки с цирфами справа налево в другой файл C++
C++ Разделить исходный файл на два новых и записать положительные элементы в один файл, а отрицательные - в другой
C++ Записать в другой файл только строки, которые относятся к родившимся позднее 1980 года
C++ Строки с палиндромами из входного файла записать в один файл, а без палиндромов - в другой
C++ Считать строки из файла, изменить и записать в другой файл

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

Или воспользуйтесь поиском по форуму:
craftsman
 Аватар для craftsman
0 / 0 / 0
Регистрация: 25.11.2010
Сообщений: 16
17.12.2010, 18:11  [ТС]     Дан файл. Записать в другой файл строки, которые являются палиндромами. #13
Спасибо за помощь.

Добавлено через 1 час 8 минут
Помогите плиз откомпилировать:
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
#include "stdafx.h"
#include "iostream"
#include "fstream"
using namespace std;
#define m 100
bool palindrom(char s[])
{    size_t x(0), i, len(strlen(s) - 1), slen(len >> 1);
    for(i = 0; i < slen; ++i) 
        if(s[i] != s[len - i])
            return false;      
    return true;} 
 
 
int _tmain(int argc, _TCHAR* argv[])
{       int i,z=0,j,p;
        ifstream fin;
        ofstream fout;
        char x[m],y[m][m],s[m];
        fin.open("a.txt");
        fout.open("b.txt");
        while(!fin.eof())
        {fin.getline(x,m);
        for(i=0;x[i]!='\0';i++)
                y[z][i]=x[i];
                y[z][i]='\0';
                z++;}
        for(i=0;x[i];i++)
{    if(palindrom(x[i])) 
        fout<<x[i]<<std::endl;} 
        fout.close();
        fin.close();
        return 0;}
Yandex
Объявления
17.12.2010, 18:11     Дан файл. Записать в другой файл строки, которые являются палиндромами.
Ответ Создать тему
Опции темы

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