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

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

22.11.2012, 17:27. Показов 1193. Ответов 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
5500 / 4895 / 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
5500 / 4895 / 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
5500 / 4895 / 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
Ответ Создать тему
Новые блоги и статьи
SDL3 для Web (WebAssembly): Реализация движения на Box2D v3 - трение и коллизии с повёрнутыми стенами
8Observer8 20.02.2026
Содержание блога Box2D позволяет легко создать главного героя, который не проходит сквозь стены и перемещается с заданным трением о препятствия, которые можно располагать под углом, как верхнее. . .
Конвертировать закладки radiotray-ng в m3u-плейлист
damix 19.02.2026
Это можно сделать скриптом для PowerShell. Использование . \СonvertRadiotrayToM3U. ps1 <path_to_bookmarks. json> Рядом с файлом bookmarks. json появится файл bookmarks. m3u с результатом. # Check if. . .
Семь CDC на одном интерфейсе: 5 U[S]ARTов, 1 CAN и 1 SSI
Eddy_Em 18.02.2026
Постепенно допиливаю свою "многоинтерфейсную плату". Выглядит вот так: https:/ / www. cyberforum. ru/ blog_attachment. php?attachmentid=11617&stc=1&d=1771445347 Основана на STM32F303RBT6. На борту пять. . .
Камера Toupcam IUA500KMA
Eddy_Em 12.02.2026
Т. к. у всяких "хикроботов" слишком уж мелкий пиксель, для подсмотра в ESPriF они вообще плохо годятся: уже 14 величину можно рассмотреть еле-еле лишь на экспозициях под 3 секунды (а то и больше),. . .
И ясному Солнцу
zbw 12.02.2026
И ясному Солнцу, и светлой Луне. В мире покоя нет и люди не могут жить в тишине. А жить им немного лет.
«Знание-Сила»
zbw 12.02.2026
«Знание-Сила» «Время-Деньги» «Деньги -Пуля»
SDL3 для Web (WebAssembly): Подключение Box2D v3, физика и отрисовка коллайдеров
8Observer8 12.02.2026
Содержание блога Box2D - это библиотека для 2D физики для анимаций и игр. С её помощью можно определять были ли коллизии между конкретными объектами и вызывать обработчики событий столкновения. . . .
SDL3 для Web (WebAssembly): Загрузка PNG с прозрачным фоном с помощью SDL_LoadPNG (без SDL3_image)
8Observer8 11.02.2026
Содержание блога Библиотека SDL3 содержит встроенные инструменты для базовой работы с изображениями - без использования библиотеки SDL3_image. Пошагово создадим проект для загрузки изображения. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru