Форум программистов, компьютерный форум, киберфорум
С++ для начинающих
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.80/5: Рейтинг темы: голосов - 5, средняя оценка - 4.80
0 / 0 / 1
Регистрация: 08.11.2012
Сообщений: 72

Работа с файлами. Считывание чисел заданным образом.

22.11.2012, 17:27. Показов 1167. Ответов 10
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Всем привет!!!
задача следующая, есть текстовый файл в котором записаны числа в виде матрицы 10 000 000 на 10 000 000 через пробел. Необходимо провести считывание из этого файла только не по строкам а по столбцам.
То есть в 1 массив сначала записать 10 000 000 чисел с 1 го столбца во второй массив со 2го столбца и так далее.
Суть не куда записать в массив или ещё куда нибудь, а как организовать само считывание столбцов. Может быть организовать как переписать этот файл в другой с переворотом(чтобы столбцы 1го стали строками другого файла)
0
cpp_developer
Эксперт
20123 / 5690 / 1417
Регистрация: 09.04.2010
Сообщений: 22,546
Блог
22.11.2012, 17:27
Ответы с готовыми решениями:

Работа с файлами. Напечатать индексы всех чисел, совпадающих с некоторым заданным числом
В файле последовательно записаны целые числа(n<=40). Напечатать индексы всех чисел, совпадающих с некоторым заданным числом.

Работа с файлами: считывание и запись
Здравствуйте. Задача состоит в том, что дан диалог в блокноте (-Сколько будет x operation y? -Не знаю. - А k operation n? ...

Работа с файлами C++. Считывание и выписывание в отдельный файл
Вычисления и вывод в файл с именем results.txt количества вхождений и координат (номер предложения, номер буквосочетание) в файле...

10
Почетный модератор
7393 / 2639 / 281
Регистрация: 29.07.2006
Сообщений: 13,696
22.11.2012, 17:38
Хех. Главное понять. что "столбцы" и "строки" - это одно и то же. И отличается лишь тем, как ты идешь по двумерному массиву.
А в общем, читаешь первую строку числе, распихиваешь каждое число в нулевой столбец. Читаешь вторую строку, запихиваешь каждый элемент по 1-му индексу. В общем получится, что 0-вой элемент первой строки идет в [0][0], 0-вой элемент второй строки идет в [0][1] и так далее. Получится матрица "наоборот".
0
0 / 0 / 1
Регистрация: 08.11.2012
Сообщений: 72
22.11.2012, 17:44  [ТС]
С помощью двумерного массива что ли?! я что то не очень понял что вы мне написали?!

Добавлено через 1 минуту
Кстати говоря я понял что вы предлагаете использовать двухмерный массив, но уже сталкивался с тем что такое огромное количество элементов не помещается в двумерный массив, из за ограниченности памяти.

Добавлено через 43 секунды
Так как же всё таки организовать считывание по столбцам?!
0
5499 / 4894 / 831
Регистрация: 04.06.2011
Сообщений: 13,587
22.11.2012, 17:51
Цитата Сообщение от АлексИванов Посмотреть сообщение
Так как же всё таки организовать считывание по столбцам?!
Тупо перемещая курсор в нужное место.
0
Почетный модератор
7393 / 2639 / 281
Регистрация: 29.07.2006
Сообщений: 13,696
22.11.2012, 17:56
Цитата Сообщение от АлексИванов Посмотреть сообщение
Кстати говоря я понял что вы предлагаете использовать двухмерный массив
Если тебе не это было нужно в задании, то я не понял, что.
Цитата Сообщение от АлексИванов Посмотреть сообщение
То есть в 1 массив
В один массив? В первый массив? Что тут имеется ввиду, не понятно. Пиши задание понятней.
0
0 / 0 / 1
Регистрация: 08.11.2012
Сообщений: 72
22.11.2012, 17:56  [ТС]
Цитата Сообщение от alsav22 Посмотреть сообщение
Тупо перемещая курсор в нужное место.
Ну а как это сделать по средствам языка C++, приведите пример?!с помощью каких команд я буду перемещать этот самый курсор?!
0
Почетный модератор
7393 / 2639 / 281
Регистрация: 29.07.2006
Сообщений: 13,696
22.11.2012, 17:57
Цитата Сообщение от АлексИванов Посмотреть сообщение
Ну а как это сделать по средствам языка C++, приведите пример?!с помощью каких команд я буду перемещать этот самый курсор?!
Блин, в стандартную библиотеку-то тебе никак не заглянуть? Для кого документацию-то пишут? seekg
0
5499 / 4894 / 831
Регистрация: 04.06.2011
Сообщений: 13,587
22.11.2012, 18:00
Цитата Сообщение от АлексИванов Посмотреть сообщение
Ну а как это сделать по средствам языка C++, приведите пример?!с помощью каких команд я буду перемещать этот самый курсор?!
Для чтения: seekg(). Так как матрица в файле фиксированного размера, то это не сложно организовать.
0
0 / 0 / 1
Регистрация: 08.11.2012
Сообщений: 72
22.11.2012, 18:03  [ТС]
Цитата Сообщение от Vourhey Посмотреть сообщение
Если тебе не это было нужно в задании, то я не понял, что.

В один массив? В первый массив? Что тут имеется ввиду, не понятно. Пиши задание понятней.
Имеется ввиду, в моем задании, как, с помощью каких команд, организовать считывание столбцов из текстового файла в: массив или в 1 переменную или переписать в другой текстовый файл; не важно куда будет происходить считывание, а важно каким образом организовать считывание, и вариант с двумерным массивом отпадает.

Добавлено через 2 минуты
Цитата Сообщение от Vourhey Посмотреть сообщение
Блин, в стандартную библиотеку-то тебе никак не заглянуть? Для кого документацию-то пишут? seekg
Я поэтому и пишу в тему для начинающих, потому что ещё не со всеми инструментами знаком, и вам бы следовало относиться к таким пользователям как я более снисходительно...
И если не трудно приведите пример как использовать команду seekg
0
Почетный модератор
7393 / 2639 / 281
Регистрация: 29.07.2006
Сообщений: 13,696
22.11.2012, 18:07
Здесь есть поиск по форуму. Там вводишь слово seekg и видишь кучу тем с примерами его использования. А еще ж документация в интернете по istream, документация...
1
5499 / 4894 / 831
Регистрация: 04.06.2011
Сообщений: 13,587
22.11.2012, 19:06
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
// В файле:
/*
0 1 2 3 4 5 6 7 8 9
0 1 2 3 4 5 6 7 8 9
0 1 2 3 4 5 6 7 8 9
0 1 2 3 4 5 6 7 8 9
0 1 2 3 4 5 6 7 8 9
0 1 2 3 4 5 6 7 8 9
0 1 2 3 4 5 6 7 8 9
0 1 2 3 4 5 6 7 8 9
0 1 2 3 4 5 6 7 8 9
0 1 2 3 4 5 6 7 8 9 
*/
 
#include <iostream>
#include <fstream>
#include <cstdlib>
using namespace std;
 
int main()
{
 ifstream f("1.dat" , ios::binary);
    
 int arr[10]; // массив для считанного столбца
 const int N = 10; // размер матрицы
    
 for (int j = 0; j < (N * 2); j += 2)
 {
    f.seekg(j, ios::beg);
        
    for (int i = 0; i < N; i++) 
    {
        f >> arr[i];
        cout << arr[i] << ' ';
        f.seekg(N * 2, ios::cur);
    }
    cout << endl;
 }
 f.close();
    
 system("pause");
 return 0;
}
Миниатюры
Работа с файлами. Считывание чисел заданным образом.  
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
raxper
Эксперт
30234 / 6612 / 1498
Регистрация: 28.12.2010
Сообщений: 21,154
Блог
22.11.2012, 19:06
Помогаю со студенческими работами здесь

Работа с файлами. Считывание информации из файла в массив
#include&lt;conio.h&gt; #include&lt;stdio.h&gt; struct add { char predmet; int klass; int...

Работа с файлами, деление чисел
Напишите, пожалуйста, программу. Есть два файла input.txt, output.txt, в input записаны два числа. Эти числа делим между собой, а остаток...

Работа с файлами (поиск и вывод чисел в файле)
Как на с++ сделать программу, которая в текстовому файле найдет и выведет на дисплей все числа? Есть ли для этого функции?

Работа с файлами(считывание и запись)
Дана строка S0, целое число N (≤ 4) и N файлов целых чисел с именами S1, …, SN. Объединить их содержимое в новом файле-архиве с именем S0,...

Работа с Ini-файлами, простая задача (считывание)
Помогите сделать так, чтоб выбирая породу из ComboBox (которая берется из Ini файла), выводилась цена в Edit (которая тоже из Ini файла)....


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

Или воспользуйтесь поиском по форуму:
11
Ответ Создать тему
Новые блоги и статьи
PhpStorm 2025.3: WSL Terminal всегда стартует в ~
and_y87 14.12.2025
PhpStorm 2025. 3: WSL Terminal всегда стартует в ~ (home), игнорируя директорию проекта Симптом: После обновления до PhpStorm 2025. 3 встроенный терминал WSL открывается в домашней директории. . .
Как объединить две одинаковые БД Access с разными данными
VikBal 11.12.2025
Помогите пожалуйста !! Как объединить 2 одинаковые БД Access с разными данными.
Новый ноутбук
volvo 07.12.2025
Всем привет. По скидке в "черную пятницу" взял себе новый ноутбук Lenovo ThinkBook 16 G7 на Амазоне: Ryzen 5 7533HS 64 Gb DDR5 1Tb NVMe 16" Full HD Display Win11 Pro
Музыка, написанная Искусственным Интеллектом
volvo 04.12.2025
Всем привет. Некоторое время назад меня заинтересовало, что уже умеет ИИ в плане написания музыки для песен, и, собственно, исполнения этих самых песен. Стихов у нас много, уже вышли 4 книги, еще 3. . .
От async/await к виртуальным потокам в Python
IndentationError 23.11.2025
Армин Ронахер поставил под сомнение async/ await. Создатель Flask заявляет: цветные функции - провал, виртуальные потоки - решение. Не threading-динозавры, а новое поколение лёгких потоков. Откат?. . .
Поиск "дружественных имён" СОМ портов
Argus19 22.11.2025
Поиск "дружественных имён" СОМ портов На странице: https:/ / norseev. ru/ 2018/ 01/ 04/ comportlist_windows/ нашёл схожую тему. Там приведён код на С++, который показывает только имена СОМ портов, типа,. . .
Сколько Государство потратило денег на меня, обеспечивая инсулином.
Programma_Boinc 20.11.2025
Сколько Государство потратило денег на меня, обеспечивая инсулином. Вот решила сделать интересный приблизительный подсчет, сколько государство потратило на меня денег на покупку инсулинов. . . .
Ломающие изменения в C#.NStar Alpha
Etyuhibosecyu 20.11.2025
Уже можно не только тестировать, но и пользоваться C#. NStar - писать оконные приложения, содержащие надписи, кнопки, текстовые поля и даже изображения, например, моя игра "Три в ряд" написана на этом. . .
Мысли в слух
kumehtar 18.11.2025
Кстати, совсем недавно имел разговор на тему медитаций с людьми. И обнаружил, что они вообще не понимают что такое медитация и зачем она нужна. Самые базовые вещи. Для них это - когда просто люди. . .
Создание Single Page Application на фреймах
krapotkin 16.11.2025
Статья исключительно для начинающих. Подходы оригинальностью не блещут. В век Веб все очень привыкли к дизайну Single-Page-Application . Быстренько разберем подход "на фреймах". Мы делаем одну. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2025, CyberForum.ru