С++
В файле записаны 3 строки. Я знаю номер 3-ей строки "num".
Задача: вывести на экран из файла строку с номером num, строку num-1 и строку num-2.
#include "pch.h"
#include <iostream>
#include <fstream>
#include <conio.h>
#include <string>
int main(){
ifstream file("file.txt");
string find,s; int k=0;
cin >> find; // ввод строки которую нужно найти в файле
//узнаю номер этой нужной строки в файле
while (find != s) {
getline(file, s);
k++;
}
//запись из файла в массив, правильно ли я делаю?
string L[100];
int i = 0;
while (getline(file, s)) {
L[i]=s;
i++;
}
//вывожу нужные строки
for (int i = k - 2; i < k; i++) {
cout << L[i];
}
getch();
}
/*
Вывод должен быть таким:
1. выводится строка с файла с номером k-2
2. выводится строка с файла с номером k-1
3. Выводится строка введенная с клавиатуры (find) с номером k
*/
И вот Вам вариант с вектором (с минимумом изменений):
#include "pch.h"
#include <iostream>
#include <fstream>
#include <conio.h>
#include <string>
#include <vector>
using namespace std;
int main(){
ifstream file("file.txt");
string find,s; int k=0;
cin >> find; // ввод строки которую нужно найти в файле
//узнаю номер этой нужной строки в файле
while (find != s) {
getline(file, s);
k++;
}
file.seekg (0);
//запись из файла в массив, правильно ли я делаю?
// string L[100];
vector <string> L;
int i = 0;
while (getline(file, s)) {
// L[i]=s;
L.push_back(s);
}
//вывожу нужные строки
for (int i = k - 3; i < k; i++) {
cout << L[i] << endl;
}
getch();
}
Что напрашивается из улучшений?
Кофе для программистов: как напиток влияет на продуктивность кодеров?
Рекламные вывески: как привлечь внимание и увеличить продажи
Стратегії та тренди в SMM - Технології, що формують майбутнє сьогодні
Выделенный сервер, что это, для чего нужен и какие характеристики важны?
Современные решения для бизнеса: как облачные и виртуальные технологии меняют рынок
Здравствуйте пишу простой алгоритм численного метода (прямоугольника)Распараллелил эту функцию с помощью OpenMP
Вот фрагмент кода одной из функцийПри первом вызове все проходит на ура
Решили добавить тесты для компилятора clang помимо gccВ итоге в одной функции получаем бесконечный цикл, и в минимальном примере размер карты...