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

Построчное чтение целых чисел из текстового файла с занесением в массив для анализа - C++

Войти
Регистрация
Восстановить пароль
Другие темы раздела
C++ О кодировке бинарных файлов http://www.cyberforum.ru/cpp-beginners/thread1764470.html
Здравствуйте;Тут такая проблема:Как заполнять бинарные файлы? Просто я если создаю обычный файл и пихаю туда обычные числа то он считывает их как некий набор цифр; А если сначала записать , а потом считать то всё нормально;Я понимаю что тут проблема с кодировками,дайте ссылку на литературу или попытайтесь объяснить,пожалуйста;
C++ Запись массива в двоичный файл Здравствуйте. Нужно организовать заполнение двоичного файла случайными целыми числами в интервале . Какая ошибка в моей программе?? #include "stdafx.h" #include "stdlib.h" #include "iostream" #include "fstream" #include "locale" #include "clocale" using namespace std; http://www.cyberforum.ru/cpp-beginners/thread1764469.html
C++ Класс матрица, описывающий двумерный массив
Здравствуйте. Хочу разобраться и создать класс. Имеется код, но мне он кажется слишком сложным, как можно упростить его для лучшего понимания и можно ли? // Матрица.cpp : Defines the entry point for the console application. // #include<stdafx.h> #include<iostream> #include<iomanip> #include<conio.h>
C++ Преобразовать массив, расположив сначала все положительные элементы, а потом - все отрицательные
Преобразовать массив таким образом, чтобы сначала располагаись все положительные элементы, а потом-все отрицательные (элементы, равные 0, считать положитеьными). методом перебора
C++ Умножение двух больших чисел http://www.cyberforum.ru/cpp-beginners/thread1764431.html
дано два 40 значных числа,нужно перемножить их http://e-maxx.ru/algo/big_integer от сюда и других тем с данного форума код не подходит. Не понимаю принципа работы
C++ Определить объединение из двух полей Первое поле - массив из двух байт, второе - слово Помогите написать программу( лучше с комментариями чтобы разобраться) Определить объединение из двух полей Первое поле - массив из двух байт, второе - слово Ввести случайное целое число в диапазоне от 5 до 200 Округлить его до ближайшего целого, кратного 3 Если число больше 100 - вычесть из него 29, если число меньше - прибавить 119. Вывести полученный результат, старший байт результата и... подробнее

Показать сообщение отдельно
RedUct0R
0 / 0 / 0
Регистрация: 16.06.2016
Сообщений: 6

Построчное чтение целых чисел из текстового файла с занесением в массив для анализа - C++

16.06.2016, 18:59. Просмотров 531. Ответов 5
Метки (Все метки)

Доброго всем здравия!
Я новичок в С++, и у меня существует большая необходимость в решении следующей задачи:
чтение входного текстового (input.txt) файла, содержащего 6 столбцов и не фиксированное количество сток целых чисел, разделенных знаком табуляции с занесением в динамический массив. Чтение и запись в массив должно выполняться построчно.
Далее, в полученном исходном массиве ищутся строки, в которых первое число находится в диапазоне от 20 до 29 и 2 числа (из оставшихся 4-х) находятся в диапазоне от 1 до 9. Найденная строка чисел заносится в другой массив, который по окончании работы записывается в выходной файл (output.txt) также построчно, с указанием в конце количества полученных строк.

Пример входного файла:
15 2 7 44 8 3
22 15 8 30 2 18
18 3 79 32 28 5
14 44 83 12 6 55
27 3 14 83 55 9

В этом примере 2-я и 5-я строки подпадают под условие анализа, и должны быть занесены в отдельный массив, а затем в файл (output.txt).

На данный момент я смог реализовать только чтение из файла и вывод на экран (в качестве средства тестирования). Однако, чтение произвожу в char, и преобразовать в int никак не получается! Была мысль использовать парсер для поиска строк по условию, подключил Boost, но в синтаксисе Spirit-а пока разобраться не могу... Скорее всего это будет оптимальный вариант, но для меня пока сложновато.

Вот мой код (пишу в VS2015):
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
#include "stdafx.h"
#include <fstream>
#include <iostream>
using namespace std;
 
int main()
{
    ifstream fin("c:\\input.txt");
 
    if (fin.is_open()) {
 
        ifstream fin;
        fin.open("c:\\input.txt");
        char ch;
        while (fin.get(ch))
            cout << ch;
        fin.close();
        system("pause");
    }
    else {
        cout << "File not found" << endl;
        system("pause");
    }
 
    return 0;
}
Подскажите пожалуйста пути решения задачи! Буду очень признателен за помощь!!!
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
 
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru