0 / 0 / 0
Регистрация: 01.10.2021
Сообщений: 3
1

Считывание по столбцам из txt

01.10.2021, 13:04. Показов 2552. Ответов 6
Метки нет (Все метки)

Author24 — интернет-сервис помощи студентам
Всем привет! Я начинающий кодер на плюсах, поэтому огромная просьба с пониманием отнестись к моему возможно тупому вопросу. Я совершенно запутался с темой сканирования файлов тхт. После двух дней поиска инфо про то, что мне нужно, я решил все таки написать на форум прямо свой вопрос, а не пытаться делать по подобию.

Итак, я нарыл миллион информации про то как считывать строчки из тхт. А как считывать по столбцам? Допустим у меня 10 столбцов с 100 строками (элементы таблицы пусть будут простые числа 1,2,3 и тд) и я хочу эти столбцы записать в массив. Т.е. допустим a = 1 столбец, b= 2 столбец и тд

Наглядно:

Дан допустим file.txt с 10 столбцами и 100 строчек с числами от 1 до 1000 записанными через пробел :

1 2 3 4 5 6 7 8 9 10
11 12 13 14 15 16 17 18 19 20
...
...
990 991 992 ... 998 999 1000

И из этого файла нужно получить

а = {1 11 21 31 ... 991}
b = {2 12 22 32... 992}
...
n = {10 20 30 ... 1000}
0
Лучшие ответы (1)
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
01.10.2021, 13:04
Ответы с готовыми решениями:

Считывание из .txt файла по столбцам и по строкам
Доброго времени суток, уважаемые эксперты! Программа вычисляет 3 угла вращения системы, записывая...

Считывание данных по столбцам из txt-файла
Добрый день, с недавних пор программирую на python и образовался такой вопрос. У меня есть...

Считывание данных из текствого файла и запись в EXCEL по столбцам
Добрый день! Подскажите, пожайлуста, как мне сделать средствами Delphi программу, которая будет...

Перенос из txt файла в StringGrid по столбцам
Здравствуйте, как сделать так, чтобы данные из txt файла загружались только в белые ячейки...

6
2827 / 2335 / 704
Регистрация: 29.06.2020
Сообщений: 8,611
01.10.2021, 13:27 2
Файл - последовательность байт. Там нет "столбцов".
При чтении можно указать место чтения относительно текущего или начала/конца файла.

Придется читать по строкам, потом элементы распределять по вашей модели.
0
Модератор
Эксперт CЭксперт С++
5171 / 2893 / 1501
Регистрация: 14.12.2018
Сообщений: 5,230
Записей в блоге: 1
01.10.2021, 13:32 3
troop353clan,
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
#include <iostream>
#include <fstream>
 
int main()
{
    std::ifstream fread("file.txt");
    if (!fread.is_open())
    {
        std::cout << "Unable to open file file.txt";
        return 0;
    }
 
    const int m = 100;
    const int n = 10;
    int i, j;
    int a[n][m];
 
    for (i = 0; i < m; i++)
        for (j = 0; j < n; j++)
            fread >> a[j][i];
    fread.close();
 
    for (i = 0; i < n; i++)
    {
        std::cout << "Column " << i + 1 << ":" << std::endl;
        for (j = 0; j < m; j++)
            std::cout << a[i][j] << "\t";
        std::cout << std::endl;
    }
 
    system("pause");
    return 0;
}
И файл file.txt
0
0 / 0 / 0
Регистрация: 01.10.2021
Сообщений: 3
04.10.2021, 11:54  [ТС] 4
Спасибо, с этим разобрался

Добавлено через 14 минут
Подскажите пожалуйста как сделать следующее

Допустим есть data.txt с временем и значениями:

00:05,4 5 7 10 22 16
00:15,4 -1 2 3 4 5
00:25,4 1 0 0 6 6


Как мне считать это и записать в переменные?

Чтоб получить
time = 00:05,4
a=5
b=7
c=10
d=22
e=16

time = 00:15,4
a=-1
b=2
c=3
d=4
e=5

Мне нужен цикл , который будет считывать строчки из файла и присваивать их параметрам time,a,b,c,d,e
Потом по этим параметрам я буду строить графики для a,b,c,d,e

Я пытался сделать через fscanf и через fstream, но ничего не получается
0
2524 / 1244 / 459
Регистрация: 08.11.2016
Сообщений: 3,418
04.10.2021, 12:13 5
Лучший ответ Сообщение было отмечено troop353clan как решение

Решение

C++
1
2
3
4
5
6
7
8
9
10
11
std::ifstream fin;
fin.open("file.txt");
 
std::string timest;
int a, b, c, d, e, strnum = 0;
 
while (fin >> timest)
{
    fin >> a >> b >> c >> d >> e;
    std::cout << "file string " << ++strnum << ": " << timest << " (a = " << a << ") (b = " << b << ") (c = " << c << ") (d = " << d << ") (e = " << e << ")" << std::endl;
}
0
0 / 0 / 0
Регистрация: 01.10.2021
Сообщений: 3
04.10.2021, 12:48  [ТС] 6
Спасибо Вам огромное! Я неделю искал ответ на свой вопрос на просторах интернета! При чем попадались ответы, но настолько замороченные что капец. Какие то матрицы, векторы, код на 1000 строк!
Огромное спасибо ещё раз, четко по делу, просто и понятно
0
7437 / 5029 / 2892
Регистрация: 18.12.2017
Сообщений: 15,692
04.10.2021, 13:55 7
чуть компактнее:
C++
1
2
3
4
while (fin >> timest >> a >> b >> c >> d >> e)
{    
    std::cout << timest << " " << a << " " << b << " " << c << " " << d << " " << e << "\n";
}
комментарий: удобнее для дальнейшего применения записывать данные в массив
0
04.10.2021, 13:55
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
04.10.2021, 13:55
Помогаю со студенческими работами здесь

Перенос из txt. файла в StringGrid по столбцам
Помогите! нужно чтоб из блокнота,содержимое перенеслось в StringGrid по столбцам, а не все в один...

Записать в файл «output.txt» сумму элементов по столбцам таблицы
Сумма столбцов. Задана двумерная матрица размерностью 10x10 элементов, заполненная случайными...

Экспортировать содержимое файла .txt так, чтобы разделенные символом ; данные разносились по разным столбцам
Подскажите как реализовать так что бы в разные столбцы заносились данные. имеем txt файл с...

Считывание .txt файла
Здравствуйте! Возникла следующая проблема. Я вычисляю размер файла в байтах и делаю считывание...

Считывание с txt файлов
Как сделать что бы программа считала данные(1) а так же записала ответ(2) в txt файлы. (1),...

txt c# (считывание по частям)
как закинуть txt файл в разные 2 масива, а потом проводить считвание с этих масивов, в первом до...


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

Или воспользуйтесь поиском по форуму:
7
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2024, CyberForum.ru