Rezultati

Up. imeNalogaJezikRezultatČas oddaje
ASMx64-2018 Tabela C++ 100/100OK 13. okt '18 @ 11:19

Test Točke Porabljen spomin Porabljen čas Status
#1 20/20 3,980 MiB 0,084 s OK
#2 20/20 3,363 MiB 0,000 s OK
#3 20/20 3,371 MiB 0,004 s OK
#4 20/20 3,555 MiB 0,004 s OK
#5 20/20 3,355 MiB 0,004 s OK

Ocenjevani program (tabela.cpp):
#include <iostream>
#include <queue>
#include <vector>
#include <string>
#include <sstream>
#include <map>
#include <algorithm>
#include <cstring>
#include <iomanip>
#define SIZE 102
using namespace std;
string matrika[SIZE][SIZE];
unsigned int najvec[SIZE];

int main()
{
    int stolpci, vrstice, counter, presledki;
    string prva, beseda;
    vector<char> vrstniRed;

    cin >> vrstice >> stolpci;
    cin >> prva;

    for (unsigned int i = 0; i < prva.length(); i++) {
        vrstniRed.push_back(prva[i]);
    }

    for (unsigned int i = 0; i <= SIZE; i++) najvec[i] = 0;
    cin.ignore();

    for (int i = 0; i < vrstice; i++) {
        cin >> prva;

        presledki = 1;
        for (unsigned int j = 0; j < prva.length(); j++) {
            if (prva[j] == ',') {
                prva[j] = ' ';
                presledki++;
            }

        }

        stringstream ss(prva);
        counter = 0;
        while (presledki--) {
            ss >> beseda;

            matrika[i][counter] = beseda;

            if (beseda.length() > najvec[counter]) {
                najvec[counter] = beseda.length();
            }
            counter++;
        }
    }

    for (int i = 0; i < vrstice; i++) {
        for (int j = 0; j < stolpci; j++) {
            if (vrstniRed[j] == 'L') {
                cout << std::left << setw(najvec[j]) << matrika[i][j];
            } else {
                cout << std::right << setw(najvec[j]) << matrika[i][j];
            }
            if (j != stolpci - 1)
                cout << " | ";
        }
        cout << endl;
    }

    return 0;
}