Untitled

mail@pastecode.io avatar
unknown
plain_text
23 days ago
1.8 kB
1
Indexable
Never
#include <iostream>
#include <vector>
#include <algorithm>
#include <fstream>
#include <ctime>
#include <cstdlib>
#include <locale>

using namespace std;

// Struktura reprezentująca zadanie
struct Task {
    int id; // Identyfikator zadania
    int processingTimes; // Czasy wykonania zadania na poszczególnych procesorach

    Task(int _id, int _processingTimes) : id(_id), processingTimes(_processingTimes) {}
};

// Funkcja do wczytywania danych z pliku tekstowego
vector<Task> readDataFromFile(const string& filename, int& numProcessors, int& numTasks) {
    ifstream file(filename);
    if (!file.is_open()) {
        cerr << "Error: Couldn't open the file." << endl;
        exit(1);
    }

    file >> numProcessors >> numTasks;

    vector<Task> tasks;
    vector<int> processingTimes(numTasks);
    for (int taskId = 0; taskId < numTasks; ++taskId) {
        
        int processingTime;
        file >> processingTime;
        processingTimes[taskId] = processingTime;
        tasks.emplace_back(taskId + 1, processingTimes[taskId]);

    }
    file.close();

    return tasks;
}

int main() {
    string filename = "m25.txt"; // Zmień "nazwapliku.txt" na nazwę rzeczywistego pliku, z którego chcesz wczytać dane

    int numProcessors, numTasks;
    vector<Task> tasks = readDataFromFile(filename, numProcessors, numTasks);

    cout << "Liczba zadań: " << tasks.size() << endl;
    cout << "Liczba procesorów: " << numProcessors << endl;

    // Wyświetlanie ID i długości pracy dla każdego zadania
    
    for (const auto& task : tasks) {
        cout << "ID zadania: " << task.id << ", Długość pracy: ";
        for (int time : task.processingTimes) {
            cout << time << " ";
        }
        cout << endl;
    }

    return 0;
}
Leave a Comment