Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > C/C++ программирование > Общие вопросы C/C++
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 21.05.2009, 21:02   #1
XSGRAFF
 
Регистрация: 29.12.2008
Сообщений: 8
По умолчанию Работа со строками

Тип проекта: Win32 Project
Задание:
Написать программу,которая считывает текст из файла и выводит на экран только строки,не содержащие двузначных чисел.
Мой вариант проги:

#include<fstream.h>
int main(){
int i;
const int n=81;
char a[n];
ifstream fin("LR6.txt",ios::in|ios::nocreate );
if(!fin){cout<<"error"<<endl;return 1;}
cout<<"LINE WITHOUT TWO-DIGIT NUMBER : "<<endl;
for(i=0;i<n;i++)
x:while(fin.getline(a,n))
for(i=0;i<n;i++)
{
if(a[i]>48&&a[i]<=58)
{
if(a[i+1]>=48&&a[i+1]<=58)
{
if(a[i+2]>=48&&a[i+2]<=58) continue;
else
if(a[i-1]<48||a[i-1]>58)
goto x;
else
cout<<a<<endl;
}
}
}
return 0;

Программа упорно не работает, выводит ненужные строки, в каждой строке проверяет только первые символы,если первые 2 символа - двузначное число,то выводить не будет.Нужно чтобы проверяло всю строку

Последний раз редактировалось XSGRAFF; 21.05.2009 в 21:05.
XSGRAFF вне форума Ответить с цитированием
Старый 21.05.2009, 22:05   #2
Sazary
В тени
Старожил
 
Аватар для Sazary
 
Регистрация: 19.12.2008
Сообщений: 5,788
По умолчанию

От так:
Код:
#include <conio.h>
#include <iostream>
#include <fstream>
using namespace std;

int main ()
{
ifstream f("1.txt");
char buf[100],*p;
bool gfl;
int k;
while(f.getline(buf,100,'\n'))
 {
  gfl = false;
  k = 0;
  p = buf;
  while(*p)
   {
    while(!(*p>='0'&&*p<='9') && *p) p++;
    k = 0;
    while((*p>='0'&&*p<='9') && *p)
     { k++; p++; }
    if(k==2) gfl = true;
   p++;
   }
  if(!gfl) cout<<buf<<endl;
 }

f.close();
getch();
return 0;
}
Вполне очевидно, чтобы что-то понять, необходимо книги читать.
Не нужно плодить бессмысленных тем. Вас Поиск избавит от многих проблем.

___________________________________ ___________________________________ _______
[=Правила форума=]_____[Поиск]_____[Литература по С++]____[Литература. Паскаль]
Sazary вне форума Ответить с цитированием
Старый 21.05.2009, 23:37   #3
XSGRAFF
 
Регистрация: 29.12.2008
Сообщений: 8
По умолчанию

Цитата:
Сообщение от Sazary Посмотреть сообщение
От так:
Код:
#include <conio.h>
#include <iostream>
#include <fstream>
using namespace std;

int main ()
{
ifstream f("1.txt");
char buf[100],*p;
bool gfl;
int k;
while(f.getline(buf,100,'\n'))
 {
  gfl = false;
  k = 0;
  p = buf;
  while(*p)
   {
    while(!(*p>='0'&&*p<='9') && *p) p++;
    k = 0;
    while((*p>='0'&&*p<='9') && *p)
     { k++; p++; }
    if(k==2) gfl = true;
   p++;
   }
  if(!gfl) cout<<buf<<endl;
 }

f.close();
getch();
return 0;
}
После прогонки на экран ничего не выводится вообще
XSGRAFF вне форума Ответить с цитированием
Старый 21.05.2009, 23:39   #4
Sazary
В тени
Старожил
 
Аватар для Sazary
 
Регистрация: 19.12.2008
Сообщений: 5,788
По умолчанию

Цитата:
После прогонки на экран ничего не выводится вообще
А у меня выводится.
Что у вас в файле?
У меня вот такое:
Код:
sdfjsad klfsdklfjsdalkfj
sadfas 2 fdssda
234 34f d34 
dfas343 df
df34
Выводит:
Код:
sdfjsad klfsdklfjsdalkfj
sadfas 2 fdssda
dfas343 df
Вполне очевидно, чтобы что-то понять, необходимо книги читать.
Не нужно плодить бессмысленных тем. Вас Поиск избавит от многих проблем.

___________________________________ ___________________________________ _______
[=Правила форума=]_____[Поиск]_____[Литература по С++]____[Литература. Паскаль]
Sazary вне форума Ответить с цитированием
Старый 25.05.2009, 08:35   #5
XSGRAFF
 
Регистрация: 29.12.2008
Сообщений: 8
По умолчанию

может у меня версия С другая или еще чего =\ но ваш вариант программы упорно не хочет у меня работать =\
XSGRAFF вне форума Ответить с цитированием
Старый 26.05.2009, 00:47   #6
Sazary
В тени
Старожил
 
Аватар для Sazary
 
Регистрация: 19.12.2008
Сообщений: 5,788
По умолчанию

Приложил исходник, программу и исходный файл.
Компилил в MinGW (wxDev-C++ 7).

Попробуйте так.
Вложения
Тип файла: rar test3.rar (114.3 Кб, 9 просмотров)
Вполне очевидно, чтобы что-то понять, необходимо книги читать.
Не нужно плодить бессмысленных тем. Вас Поиск избавит от многих проблем.

___________________________________ ___________________________________ _______
[=Правила форума=]_____[Поиск]_____[Литература по С++]____[Литература. Паскаль]
Sazary вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Работа со строками semennn Помощь студентам 6 05.05.2009 19:10
Работа со строками ponchikpk Помощь студентам 13 17.03.2009 21:08
Работа со строками eR- Помощь студентам 2 23.02.2009 15:11
Работа со строками (С/С++) 4ery Помощь студентам 3 24.12.2008 22:54
РАБОТА СО СТРОКАМИ kluwa Общие вопросы C/C++ 7 20.12.2007 18:30