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

Не выводит как то) - C++

Восстановить пароль Регистрация
 
Rahman
0 / 0 / 0
Регистрация: 30.10.2010
Сообщений: 13
14.02.2011, 19:10     Не выводит как то) #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
47
48
#include<conio.h>
#include<string.h>
#include<stdlib.h>
#include<mem.h>
#include<stdio.h>
#include<iostream.h>
#include<fstream.h>
int main()
{
  char *st1="";
  int  n=0;
 
 ifstream fin("d:\\C++\\lab5\\f1.txt",ios::in|ios::nocreate);
 clrscr();
 if(!fin)
 
    {
      cout<<"Error "<<strerror(errno);
      getch();
      return 1;
    }
 
   while(fin.getline(st1,255))
        {
            n = strlen(st1);
            int *a = new int [n];
            for (int i = 0; i < n; i++)
                {
                    a[i]=0;
                    if (isdigit(st1[i]))
                        a[i]=1;
                }
            for (int i = 0; i < n; i++)
                if ((a[i]=0)&&(a[i+1]=1)&&(a[i+2]=1)&&(a[i+3]=0))
                    {
                        cout<<st1<<endl;
                        goto l;
                    }
                if ((a[0]=1)&&(a[1]=1)&&(a[2]=0))
                    cout<<st1<<endl;
                if ((a[n-2]=1)&&(a[n-2]=1)&&(a[n]=0))
                    cout<<st1<<endl;
                    l:
        }
    fin.close();
    getch();
    return 0;
 }
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
14.02.2011, 19:10     Не выводит как то)
Посмотрите здесь:

Как то странно выводит матрицу. C++
C++ как оформить в цикле додавание n слагаемых, то есть додавать цифры до тех пор пока я ненажму =. Например 1 +2 +3 +4 + . + n = и тогда выводит резуль
Программа выводит какуето абракадабру как исправить? C++
Написала программу, выводит ошибку, подскажите как исправить C++
Написать программу,которая выводит таблицу значений функции >^(x-2)+(x+1). Диапазон изменения аргумента вводится пользователем так же как и шаг пригла C++
Как приведенный код выводит ближайшую степень двойки? Разобрать работу программы C++
Среднее арифметическое массива выводит как int число C++
C++ Вывести в порядке убывания три наибольших элемента массива. У меня выводит как хочешь
Программа выводит -0.0000, а должна 0.0000. Как исправить? C++
C++ Выводит немного не то что надо ,как подправить код
C++ Как называется сортировка, которая выводит самое большое число?
C++ В double нуль выводит как -2,77556e-16

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

Или воспользуйтесь поиском по форуму:
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
igorrr37
 Аватар для igorrr37
1599 / 1227 / 121
Регистрация: 21.12.2010
Сообщений: 1,875
Записей в блоге: 7
14.02.2011, 19:39     Не выводит как то) #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
#include<cstring>
#include<iostream>
#include<fstream>
using namespace std;
 
int main(){
    char st1[255];
    int  n, *a;
    ifstream fin("text.txt");
    if(!fin){cerr<<strerror(errno); return 1;}
    while(fin.getline(st1, 255, '\n')){
        n = strlen(st1);
        a = new int [n];
        for (int i = 0; i < n; i++){
            if (isdigit(st1[i])) a[i]=1;
            else a[i]=0;
        }
        for (int i = 0; i < n-3; i++){
            if ((a[i]==0)&&(a[i+1]==1)&&(a[i+2]==1)&&(a[i+3]==0)){
                cout<<st1<<endl;
                goto l;
            }
        }
        if (a[0]==1&&a[1]==1&&a[2]==0){
            cout<<st1<<endl;
            goto l;
        }
        if (a[n-3]==0&&a[n-2]==1&&a[n-1]==1) cout<<st1<<endl;
        l: delete[] a;
    }
    fin.close();
}
Rahman
0 / 0 / 0
Регистрация: 30.10.2010
Сообщений: 13
20.02.2011, 15:51  [ТС]     Не выводит как то) #3
Спасибо большое
Yandex
Объявления
20.02.2011, 15:51     Не выводит как то)
Ответ Создать тему
Опции темы

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