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

Проверяется только первая строка - C++

Восстановить пароль Регистрация
 
Julia9311
3 / 3 / 0
Регистрация: 05.11.2011
Сообщений: 190
17.12.2012, 21:03     Проверяется только первая строка #1
Программа должна считывать строки из файла и проверять, является ли каждая из них палиндромом. Но у меня программа почему-то проверяет только первую строку, в чем причина?

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
#include <string.h>
#include <stdio.h>
#include <stdlib.h>
#include <iostream>
#include <fstream>
using namespace std; 
int main()
{   
   int n,j,f,k;
   char ar1[100];
   char ar2[100];
   std::ifstream file("text.txt");
   file.getline((char*)ar1, 255);            
   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";
 
 
return 0;
system("pause");
}
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
17.12.2012, 21:03     Проверяется только первая строка
Посмотрите здесь:

C++ Сформировать две строки - первая содержит только числа из исходной строки, а вторая – только слова
C++ первая строка в обратном порядке
C++ Вывести на экран последовательность чисел, первая строка которой задается формулой
C++ Является ли первая строка циклическим сдвигом второй строки
C++ Построчное чтение из файла, в токором первая строка пустая
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
pipets24
 Аватар для pipets24
9 / 9 / 2
Регистрация: 04.04.2012
Сообщений: 56
17.12.2012, 21:20     Проверяется только первая строка #2
C++
1
2
3
4
5
6
7
8
FILE* fd = fopen("C:\\Temp\\errors.log", "rt+");
sizr_t readed;
char str[100];
 
while (EOF(fd) != 1)
{
fgets(str, 100, fd);//считали строчку в переменную str, и затем проверяем, является ли палиндромом 
}
Julia9311
3 / 3 / 0
Регистрация: 05.11.2011
Сообщений: 190
17.12.2012, 21:23  [ТС]     Проверяется только первая строка #3
pipets24, а возможно чтобы строки при этом считывались именно с помощью getline()?
pipets24
 Аватар для pipets24
9 / 9 / 2
Регистрация: 04.04.2012
Сообщений: 56
17.12.2012, 21:41     Проверяется только первая строка #4
Цитата Сообщение от Julia9311 Посмотреть сообщение
pipets24, а возможно чтобы строки при этом считывались именно с помощью getline()?
я никогда не использовал getline() и поэтому не могу сказать. но думаю, что внутри цикла она дудет работать верно, если вы умеете её правильно использовать.
Yandex
Объявления
17.12.2012, 21:41     Проверяется только первая строка
Ответ Создать тему
Опции темы

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