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

Считывание после определенного числа - C++

Восстановить пароль Регистрация
 
InSpectr
 Аватар для InSpectr
10 / 10 / 1
Регистрация: 09.09.2013
Сообщений: 53
19.12.2013, 20:58     Считывание после определенного числа #1
Добрый день. Дан текстовой фай:
2
0.3
0.1
3
0.5
0.2
0.5
4
0.5
0.7
0.3
0.2
Как считать в массив только те данные, после которого пользователь ввел цифру.
Например: Пользователь вводит цифру 3. В мой массив записывается a[0]=0.5 а[1]=0.2 a[2]=0.5

Добавлено через 1 час 29 минут
Народ подскажите пожалуйста.

Добавлено через 6 минут
Написал вот такой код но он считывает не правильно.
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
#include "stdafx.h"
#include <iostream>
#include <fstream>
using namespace std;
 
 
 
int main()
{
    float k=3;
    float a[3];
    float t;
    int p=100;
    bool q=false;
    ifstream f1("text.txt");
    if(f1==NULL)
        cout<<strerror(errno)<<endl;
    while(!f1.eof())
    {   
        f1>>t;
        if(t==k)
        {
            p=0;
            q=true;
        }
        if(q==true&&p<k)
        {
            f1>>a[p];
            p+=1;
 
        }
    }
    if(q==false)
        cout<<"заданного узла нет";
    else
        for(int i=0;i<k;i++)
            cout<<endl<<a[i];
    return 0;
}
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
19.12.2013, 20:58     Считывание после определенного числа
Посмотрите здесь:

C++ операторы ввода вывода << >>, последний не работает после определенного момента
C++ Считывание вещественных переменных до определенного символа
C++ Вывод части строки после определенного символа
C++ Сортировка массива до и после определенного элемента
Считывание из файла определенного формата C++
Поставить ноль после каждого определенного значения в массиве C++
Мигающая точка, которая после определенного времени пропадает C++
C++ Считывание символов до пробела и после

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

Или воспользуйтесь поиском по форуму:
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
outoftime
║XLR8║
 Аватар для outoftime
505 / 427 / 33
Регистрация: 25.07.2009
Сообщений: 2,297
19.12.2013, 21:07     Считывание после определенного числа #2
Нужна ф-я определения является ли строка целым\дробным числом.

Далее в цикле:
- считываем номер блока (целое число)
- пока не считаем целое или не наступит конец файла добавляем текущее число в текущий блок
- если считали целое закрываем текущий блок открываем новый и продолжаем с второго пункта
InSpectr
 Аватар для InSpectr
10 / 10 / 1
Регистрация: 09.09.2013
Сообщений: 53
19.12.2013, 21:21  [ТС]     Считывание после определенного числа #3
так, а если над будет считать после цифры 3? а у вас цикл сразу после первого целого

Добавлено через 10 минут
думаю вот так будет хорошо
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
// считать  после определенной строки.cpp: определяет точку входа для консольного приложения.
//
 
#include "stdafx.h"
#include <iostream>
#include <fstream>
using namespace std;
 
 
 
int main()
{
    float k=5;
    float a[5];
    float t;
    int p=100;
    bool q=false;
    ifstream f1("text.txt");
    if(f1==NULL)
        cout<<strerror(errno)<<endl;
    while(!f1.eof())
    {   
        f1>>t;
        if(t==k)
        {
            q=true;
            for(int i=0;i<k;i++)
                f1>>a[i];
        }
    }
 
    if(q==true)
        for(int i=0;i<k;i++)
            cout<<endl<<a[i];
    else
        cout<<"no";
    return 0;
}
Yandex
Объявления
19.12.2013, 21:21     Считывание после определенного числа
Ответ Создать тему
Опции темы

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