1 Востаннє редагувалося Merroy (28.01.2019 20:32:34)

Тема: Файл С++

Записати в файл довільну матрицю, прочитати отриманий файл і вивести матрицю, відсортовану по зростанню елементів рядків.

Потрібно доробити введення в файл + сортування.

#include <iostream> 
#include <string> 
#include <sstream> 
#include <fstream>
 
    #define MAX 100
 
using namespace std;
 
int main() {
    ifstream fin("input.txt");
    if (fin) {
        double** a = new double*[MAX];
        for (int i = 0; i < MAX; i++) {
            a[i] = new double[MAX];
        }
        int x, y;
        double n;
        string s;
        x = 0;
        while (getline(fin, s)) {
            stringstream str(s);
            y = 0;
            while (str >> n) {
                a[x][y] = n;
                y++;
            }
            x++;
            str.clear();
        }
        cout << "Output of the program:\n";
        for (int i = 0; i < x; i++) {
            for (int j = 0; j < y; j++) {
                cout.width(5);
                cout << a[i][j] << " ";
            }
            cout << "\n";
        }
        for (int i = 0; i < MAX; i++) {
            delete [] a[i];
        }
        delete [] a;
        fin.close();
    } else {
        cout << "File input.txt not found!\n";
    }
    system("pause");
    return 0;
}

2

Re: Файл С++

гугл транслейт забули?

3 Востаннє редагувалося Merroy (28.01.2019 20:17:43)

Re: Файл С++

Ой, пробачте просто запитував на руско язичному форумі і там не помогли забув переписати на українську.

4

Re: Файл С++

Допоможіть будь ласка.

5 Востаннє редагувалося koala (29.01.2019 00:33:44)

Re: Файл С++

            while (str >> n) {
                a[x][y] = n;
                y++;
            }

можна записати як

            while (str >> a[x][y]) {
                y++;
            }

y++ можна запхати в a[x][y++] і взагалі викинути тіло циклу, але це може бути вже трохи занадто (не для комп'ютера, для читача).
А взагалі дивно, що у людини, що вільно працює із stringstream-ами, виникають проблеми з std::sort та записом у файл - там же все так само, як і при виведенні, лише замість cout - файл.