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

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

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

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

14.02.2011, 19:10. Просмотров 332. Ответов 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
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++
Помогите, пожалуйста. Написал код для вывода матрицы.Но при наборе как то странно выводит матрицу,последние элементы не те!Хотел скриншот...

В double нуль выводит как -2,77556e-16 - C++
Написал цикл for for (double i = -2; i &lt; 2; i+=0.2) { cout &lt;&lt; i &lt;&lt; endl; } и там где должен быть 0 выводит -2,77556e-16 ...

Программа выводит какуето абракадабру как исправить? - C++
Разработка программы для автоматизации перевода слов Структура «словарь» должна содержать 2 поля: слово на русском языке и его перевод на...

Написала программу, выводит ошибку, подскажите как исправить - C++
Вот сама задача:Вычислить и вывести на экран значения функции y = f(x) в точках x0=xнач, x1=x0+h, x2=x1+h, … xN = xкон, где h =(xкон –...

Среднее арифметическое массива выводит как int число - C++
среднее арифметическое массива выводит как intовое число!!

Выводит немного не то что надо ,как подправить код - C++
Всем привет, подскажите плиз как сделать так . 1)Если я ввожу числа больше 10 ,то снова надо ввести и так до бесконечности пока не введу...

Как называется сортировка, которая выводит самое большое число? - C++
как такая сортировка называется если есть?

Вывести в порядке убывания три наибольших элемента массива. У меня выводит как хочешь - C++
В принципе вот: x1=mas;x2=mas;x3=mas; for(i=3; i&lt;n; i++) if(mas&gt;=x1 || mas&gt;=x2 || mas&gt;=x3) { ...

Программа выводит -0.0000, а должна 0.0000. Как исправить? - C++
Программа выводит -0.0000, а должна 0.0000. Как исправить? Я в проге попробовал применить прямое условие, чтобы не появлялся минус ...

выводит 0 - C++
#include &lt;iostream.h&gt; #include &lt;stdio.h&gt; int main () { int a; cout &lt;&lt; &quot;сколько спичек?&quot;; cin &gt;&gt; a; int b; cout...


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

Или воспользуйтесь поиском по форуму:
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
igorrr37
1644 / 1272 / 133
Регистрация: 21.12.2010
Сообщений: 1,932
Записей в блоге: 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
Спасибо большое
Ответ Создать тему
Опции темы

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