Peršokti į turinį

Gal galit paaiskint si uzdavini?


Floatas

Ši tema yra neaktyvi. Paskutinis pranešimas šioje temoje buvo prieš 2993 dienas (-ų). Patariame sukurti naują temą, o ne rašyti naują pranešimą.

Už neaktyvių temų prikėlimą galite sulaukti įspėjimo ir pranešimo pašalinimo!

Recommended Posts

Sprendimas gal ne iš geriausiu, bet veikia.

#include <iostream>
#include <fstream>

using namespace std;

const int cmax = 50;

void is_viso(int n, int g, int A[cmax][cmax], int B[cmax][cmax]);
void kiek_lentynu(int g, int C[], int B[cmax][cmax]);
int viso_lentynu(int g, int B[cmax][cmax]);
int daugiausia(int g, int B[cmax][cmax]);
int maziausia(int g, int B[cmax][cmax]);

int main()
{
    int A[cmax][cmax]; // visu modeliuku masyvas
    int B[cmax][cmax]; // suskaiciuotu modeliuku ir lentynu maysvas
    int C[cmax]; // kiek modeliuku telpa lentynoje
    int n, // kolekcininku skaicius
        g, // grupes
        viso, // viso_lentynu funkcijai
        d, // daugiausia funkcijai
        mm; // maziausia funkcijai
    // duomenų skaitymas
    ifstream in("auto.txt");
    in >> n >> g;
    for(int j=0;j<g;j++){
        in >> C[j];
    }
    for(int i=0;i<n;i++){
        for(int j=0;j<g;j++){
            in >> A[i][j];
        }
    }
    in.close();

    is_viso(n,g,A,;
    kiek_lentynu(g,C,;
    viso = viso_lentynu(g,;
    d = daugiausia(g,;
    mm = maziausia(g,;
    // rezultatu surašymas
    ofstream out("autorez.txt");
    for(int i=0;i<g;i++){
        for(int j=0;j<2;j++){
            out << B[i][j] << " ";
        }
        out << endl;
    }
    out << viso << endl;
    out << d << " " << mm;
    out.close();
    return 0;
}
/// Skaičiuoja kiek išviso atneše modeliuku, modeliukus surašom į masyvą B[i][0]
void is_viso(int n,int g,int A[cmax][cmax],int B[cmax][cmax]){
    int kiek = 0;
    int a=0, b=0;
    while(a!=g){
        b = 0;
        kiek = 0;
        while(b!=n){
            kiek += A[b][a];
            b++;
        }
        B[a][0] = kiek;
        a++;
    }
}
/// Skaičiuoja kiek modeliukams reiks lentynu modeliukus surašom į masyvą B[i][1]
void kiek_lentynu(int g,int C[],int B[cmax][cmax]){
    int temp, lentynos = 0;
    for(int i=0;i<g;i++){
        if(B[i][0]%C[i]==0){
            B[i][1] = B[i][0] / C[i];
        }else{
            B[i][1] = (B[i][0] / C[i]) + 1;
        }
    }
}
/// Skaičiuoja kiek visiems modeliukams reikes lentynu
int viso_lentynu(int g, int B[cmax][cmax]){
    int temp = 0;
    for(int i=0;i<g;i++){
        temp += B[i][1];
    }
    return temp;
}
/// Skaičiuoja katram modeliukui reikės daugiausia lentynu
int daugiausia(int g, int B[cmax][cmax]){
    int index,maxs = -99;
    for(int i=0;i<g;i++){
        if(B[i][1]>maxs){
            maxs = B[i][1];
            index = i;
        }
    }
    return index+1;
}
/// Skaičiuoja katram modeliukui reikės mažiausia lentynu
int maziausia(int g, int B[cmax][cmax]){
    int index,mins = 99;
    for(int i=0;i<g;i++){
        if(B[i][1]<mins){
             mins = B[i][1];
             index = i;
        }
    }
    return index+1;
}

  • Teigiamai 2
Nuoroda į komentarą
Dalintis per kitą puslapį

Ši tema yra neaktyvi. Paskutinis pranešimas šioje temoje buvo prieš 2993 dienas (-ų). Patariame sukurti naują temą, o ne rašyti naują pranešimą.

Už neaktyvių temų prikėlimą galite sulaukti įspėjimo ir pranešimo pašalinimo!

Svečias
Ši tema yra užrakinta.
  • Šiame puslapyje naršo:   0 nariai

    • Nėra registruotų narių peržiūrinčių šį forumą.

Skelbimai


×
×
  • Sukurti naują...