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

Нужно считать данные из файла и заменить определенный текст на заданный

20.03.2014, 19:13. Показов 973. Ответов 2
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Есть файл с таким содержимым: (в нем записаны вещ. числа)
Пример:
1.000 1.111 2.222 3.333 4.444 5.555
6.555 4.333 3.333 4.444 6.666 7.777

Нужно заметить, что 1.000 1.111 - это в рамках моей программы ОДНО число (и также это один столбец, а вовсе не два!). Часть 1.000 я записываю в экземпляр структуры One (см.ниже), часть 1.111 в Two.
(!) Кроме того, таких чисел может быть уйма, однако получается так, что столбцов всегда БУДЕТ стоять на 1 (единицу) больше, чем кол-во строк. В данном случае у меня в файле записаны две строки и три столбца в каждой(!!!).
И да, сами числа в файле (физически) разделены одиночным пробелом.

Есть структура:
C++
1
2
3
4
5
struct Chisla
{
    double One;
    double Two;
} com;
Есть два контейнера:
C++
1
2
vector <Chisla> First;
vector < vector <Chisla> > Second;
Я делаю так:
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
double val;
while ( FileIn >> val )
{
  if ( FileIn.get() != '\n' && FileIn.peek() != EOF )
  {
       com.One = val;
       FileIn.get();
       FileIn >> com.Two;
 
       First.push_back(com); 
       Second.push_back(First);
  }
     First.clear();
}
FileIn.close();
Потом все это надо вывести также, как было в файле:
C++
1
2
3
4
5
6
    for (int i = 0; i < (кол-во строк); i++) 
    {
        for (int j = 0; j < (кол-во столбцов); j++)
            cout << Second[i][j].One << ' ' << Second[i][j].Two << ' ';
                       cout << endl;
    }
Спасибо!
Желательно без диковинных конструкций и пр., чтоб разобраться можно было!

Добавлено через 1 час 33 минуты
хелп
0
IT_Exp
Эксперт
34794 / 4073 / 2104
Регистрация: 17.06.2006
Сообщений: 32,602
Блог
20.03.2014, 19:13
Ответы с готовыми решениями:

Считать текст из файла, вывести в другой файл и на экран только строки содержащие заданный с клавиатуры символ
// Написать программу, которая считывает текст из файла и выводит в другой файл // и на экран только строки, содержащие введенный с...

Считать текст из файла и заменить цифры на слова
Помогите пожалуйста, не понимаю как сделать: Написать программу, которая считывает текст из файла и выводит его на экран, заменив цифры...

Файл: Считать данные из текстового файла и записать их в другой файл, заданный пользователем...
Доброго времени суток. Выполняя задание по программированию столкнулся с проблемой. Необходимо считать данный из текстового...

2
5500 / 4895 / 831
Регистрация: 04.06.2011
Сообщений: 13,587
20.03.2014, 19:34
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
44
45
46
47
48
49
50
#include <iostream>
#include <fstream>
#include <vector>
#include <iomanip>
using namespace std;
 
struct Chisla
{
    double One;
    double Two;
} com;
 
int main()
{
    vector <Chisla> First;
    vector < vector <Chisla> > Second;
    
    ifstream FileIn("file.txt");
    if (!FileIn)
    {
        cout << "Error!" << endl;
        cout << "Exit!" << endl;
        cin.get();
        return 0;
    }
 
    while (FileIn >> com.One >> com.Two)
    {
        First.push_back(com);
        if ( FileIn.peek() == '\n' || FileIn.peek() == EOF )
        {
            Second.push_back(First);
            First.clear();
        }
    }
    FileIn.close();
 
    int size_matr = Second.size();
    int size_str = Second[0].size();
    for (int i = 0; i < size_matr; i++) 
    {
        for (int j = 0; j < size_str; j++)
            cout << fixed << setprecision(3) << Second[i][j].One << ' ' << Second[i][j].Two << ' ';
                       cout << endl;
    }
 
    cout << "Exit!" << endl;
    cin.get();
    return 0;
}
Миниатюры
Нужно считать данные из файла и заменить определенный текст на заданный  
1
6 / 6 / 1
Регистрация: 23.12.2012
Сообщений: 131
26.03.2014, 20:31  [ТС]
alsav22,
Отлично!

Я решаю систему лин. уравнений одной модификацией метода Гаусса.

В чем суть:
1) В исходной матрице (у меня вектор, ибо работать приходиться с комплексными числами в виде структуры) первая строка остается без изменений
2) 1-ый элемент 2-ой строки (назовем его С1) заменяется на отрицание своего деления на 1-ый элемент 1-ой строки
[I]P.S. В данном случае под элементом я подразумеваю одно комплексное число -> комбинацию мнимой и действ. частей, а именно Second[i][j].One и Second[j].Two
3) 2-ой элемент 2-ой строки равен сумме самого себя и 2-ого элемента 1-ой строки, умноженного на С1
P.S. Сложение/умножения производиться отдельно для действ. и мнимой чатей, то есть они складываются сами по себе: действ. часть с действ., мнимая с мнимой
4) 3-ий элемент 2-ой строки равен сумме самого себя и 3-его элемента 1-ой строки, умноженного на С1
5) 4-ый элемент 2-ой строки равен сумме самого себя и 4-ого элемента 1-ой строки, умноженного на С1
6) ... и т.д. до конца этой строки

Для третьей строки справедливо почти все тоже самое, с небольшими отличиями:
7) 1-ый элемент 3-ей строки (назовем его С2) заменяется на отрицание своего деления на 1-ый элемент 1-ой строки
8) 2-ой элемент 3-ей строки равен сумме самого себя и 2-ого элемента 1-ой строки, умноженного на С2
9) 3-ий элемент 3-ей строки равен сумме самого себя и 3-его элемента 1-ой строки, умноженного на С2
10) 4-ый элемент 3-ей строки равен сумме самого себя и 4-ого элемента 1-ой строки, умноженного на С2
11) ... и т.д. по нарастающей...

Далее идет следующим образом:
12) 2-ой элемент 3-ей строки (назовем его С3) заменяется на отрицание своего деления на 2- ой элемент 2-ой строки
13) 3-ий элемент 3-ей строки равен сумме самого себя и 3-его элемента 2-ой строки, умноженного на С3
14) ...и т.д. до конца строки

15) Отличие в том, что в каждой последующей строке элементы С сдвигаются на одну позицию вправо. В итоге должна получится треугольная матрица - элементы С снизу и значения вычислений сверху
16) Все это дело выполняется до тех пор, пока не останутся два последних элемента (не считая С)

Ничего более-менее по реализации вразумительного никак не придумаю
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
BasicMan
Эксперт
29316 / 5623 / 2384
Регистрация: 17.02.2009
Сообщений: 30,364
Блог
26.03.2014, 20:31
Помогаю со студенческими работами здесь

Необходимо считать данные из файла и заменить вхождение str1 на str2
Функция replaceall почему-то не срабатывает( Вот код: import java.io.*; public class Sec { public static void...

Заменить в каждой строке файла один заданный символ на другой заданный
Добрый день. Товарищи не подскажите как можно заменить символ ; на : чтобы искало в строках точку с запятой и заменяло на двоеточие. То...

Помогите нужно считать java-программой данные из файла созданного с помощью TSream в Delphi
Народ помогите срочно!!! Необходимо считать данные из файла созданного с помощью TStream в Delphi. В файл забиты целые и вещественные...

Считать текст из файла и заменить символ А на символ В
Нужно написать программу, которая считывает текст из файла и заменяет символ А на символ В. Можете помочь?

Написать программу которая выдает определенный заданный заранее текст (отдельный текстовый документ)
Возможно ли создать такую прогу? Опросник - вопросы в определенном порядке, на которые только два ответа да или нет. (Отмечаются галочкой)....


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

Или воспользуйтесь поиском по форуму:
3
Ответ Создать тему
Новые блоги и статьи
My Business CRM
MaGz GoLd 16.04.2026
Всем привет, недавно возникла потребность создать CRM, для личных нужд. Собственно программа предоставляет из себя базу данных клиентов, в которой можно фиксировать звонки, стадии сделки, а также. . .
Знаешь почему 90% людей редко бывают счастливыми?
kumehtar 14.04.2026
Потому что они ждут. Ждут выходных, ждут отпуска, ждут удачного момента. . . а удачный момент так и не приходит.
Фиксация колонок в отчете СКД
Maks 14.04.2026
Фиксация колонок в СКД отчета типа Таблица. Задача: зафиксировать три левых колонки в отчете. Процедура ПриКомпоновкеРезультата(ДокументРезультат, ДанныеРасшифровки, СтандартнаяОбработка) / / . . .
Настройки VS Code
Loafer 13.04.2026
{ "cmake. configureOnOpen": false, "diffEditor. ignoreTrimWhitespace": true, "editor. guides. bracketPairs": "active", "extensions. ignoreRecommendations": true, . . .
Оптимизация кода на разграничение прав доступа к элементам формы
Maks 13.04.2026
Алгоритм из решения ниже реализован на нетиповом документе, разработанного в конфигурации КА2. Задачи, как таковой, поставлено не было, проделанное ниже исключительно моя инициатива. Было так:. . .
Контроль заполнения и очистка дат в зависимости от значения перечислений
Maks 12.04.2026
Алгоритм из решения ниже реализован на примере нетипового документа "ПланированиеПерсонала", разработанного в конфигурации КА2. Задача: реализовать контроль корректности заполнения дат назначения. . .
Архитектура слоя интернета для сервера-слоя.
Hrethgir 11.04.2026
В продолжение https:/ / www. cyberforum. ru/ blogs/ 223907/ 10860. html Знаешь что я подумал? Раз мы все источники пишем в голове ветки, то ничего не мешает добавить в голову такой источник, который сам. . .
Подстановка значения реквизита справочника в табличную часть документа
Maks 10.04.2026
Алгоритм из решения ниже реализован на примере нетипового документа "ПланированиеПерсонала", разработанного в конфигурации КА2. Задача №1: при указании работ (справочник РаботыПоРемонтуСпецтехники),. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru