Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #include <fstream>
- #include <iostream>
- #include <sstream>
- #include <cstring>
- #include <clocale>
- int main(int argc, char *argv[])
- {
- setlocale(LC_ALL, "");
- std::string file_name, var;
- std::cout << "Имя файла с расширением( или полный путь к файлу с заданием ):\n";
- std::cin >> file_name;
- std::cout << "Шифр студента:\n";
- std::cin >> var;
- //--------------------------//
- std::ifstream inp_file(file_name.c_str(), std::fstream::in );
- try{
- if (!inp_file.is_open()) throw std::string("Can't open file!\n");
- }catch(std::string& e){
- std::cout << e;
- }
- char tmp_line[80] = {0};
- while (!inp_file.eof()){
- inp_file.getline(tmp_line, 80);
- if ( strstr(tmp_line, var.c_str() )){
- inp_file.getline(tmp_line, 80);
- inp_file.getline(tmp_line, 80);
- goto success;
- }
- }
- std::cout << "Задание с шифром " << var << " не найдено.\n";
- std::cin.get();
- return 0;
- // -------------------------//
- success:
- int inp_data[8][5] = {{0}};
- for (int j = 0; j < 8; ++j){
- inp_file.getline(tmp_line, 80);
- std::string tmp_str = tmp_line;
- std::istringstream sstr(tmp_str, std::istringstream::in );
- int k;
- for (k = 0; k < 5 ;++k){
- sstr >> inp_data[j][k];
- }
- }
- inp_file.close();
- // --------------------------//
- int A[5][8] = {{0}};
- for (int i = 0; i < 8; ++i){
- if (inp_data[i][1] % 10 != 6) A[(inp_data[i][1] % 10) - 1][i] = -1;
- if (inp_data[i][1] / 10 != 6) A[(inp_data[i][1] / 10) - 1][i] = 1;
- }
- // ------------------------------//
- std::ofstream out_file("out.txt", std::fstream::out );
- out_file << "Топологическая матрица соединений для варианта " << var << std::endl << std::endl;
- for (int i = 0; i < 5; ++i ){
- for (int j = 0; j < 8; ++j)
- out_file << A[i][j] << " ";
- out_file << std::endl;
- }
- out_file.close();
- // ----------------------------- //
- std::cout << "Результат сохранен в файл out.txt в папке с программой.\n";
- std::cin.ignore();
- std::cin.get();
- return 0;
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement