Member 14868207 Ответов: 1

Как мне справиться с этим вопросом на языке C++ с помощью argumentmanager.h


Общий вызов исполняемого файла в Linux выглядит следующим образом:
./главная input=input31.txt output=output31.txt
Входной файл и выводимый результат должны соответствовать следующим требованиям.
1) как показано выше, при запуске вашей команды будут даны два аргумента.
программа.
2) Первый аргумент означает, что файл, содержащий числа, является input31.txt-да. Второй
аргумент означает, что ваше имя выходного файла output31.txt-да.
3) Все имена входных и выходных файлов меняются в зависимости от различных тестовых случаев.
4) при чтении входного файла вы должны пройти через каждый символ и сформировать
фактическое число.
5) число может иметь три различные формы: 1. число, начиная от 0 до 9. 2.числа в словах, начиная от нуля до девяти, без пробелов между ними, находятся в нижнем регистре, заканчиваясь “словом”. 3. числа с добавлением/вычитанием в диапазоне от 0 до 9, результат от 0 до 9, числа и оператор разделены пробелом(пробелами). Все числа имеют смысл без ошибок.
6) каждая строка содержит одну форму числа, одну форму числа, содержащуюся в одной строке.
7) выходной файл содержит “совпадение” или “не совпадение” (с учетом регистра). Если все числа
равные друг другу, вы должны вывести “совпадение”, в противном случае вывести “не совпадение”.

Что я уже пробовал:

lang="c++">
#include<iostream>
#include<fstream>
#include<cstring>
#include "ArgumentManager.h"

using namespace std;

int main(int argc, char **argv)
{
  ifstream fin;
  ofstream fout;
  ArgumentManager am(argc, argv, ' ');
  string inputFileName = am.get("inout");
  string outputFileName = am.get("output");
  fin.open(inputFileName.c_str());
  fout.open(outputFileName.c_str());
  char ch;
  cin ch;
  
}

1 Ответов

Рейтинг:
11

Garth J Lancaster

Где ты застрял ? это не сайт с кодом на заказ ...

Может быть, вы захотите подумать о чтении символов из файла .. это может быть началом для части 4 вашего вопроса

while (fin >> noskipws >> ch) {
    // do something with ch 
}
теперь вам нужно начать что-то делать с символами, считываемыми в "ch", как в части 5, то есть вам нужно проверить, являются ли они цифрами 0..9, буквами, образующими слова (а затем эти слова образуют число) и т. д. и включить проверку на "возврат каретки", то есть конец строки.


Я бы начал просто - 1 - й проход, просто умел читать символы и "классифицировать" их - цифры, буквы и т. д., 2-й проход-групповые цифры или буквы и делать что-то с группами, когда обнаруживается конец строки, и продолжать строить свою программу по крупицам