Pagina 1 di 2 1 2 ultimoultimo
Visualizzazione dei risultati da 1 a 10 su 11
  1. #1

    programma c++

    Salve, qualcuno potrebbe aiutarmi a fare questo programma in c++?
    Ci sono 500 piattaforme, ogni piattaforma ha 30 container e ogni container può contenere al massimo 10 scatole.

    1.Acquisire da input un numero di giorni G e gli elementi di un vettore tridimensionale A.
    A[i][j][k]= q>=1 indica che la scatola k del container j della piattaforma i sarà consegnata tra q giorni...q=0 non c'è nessuna scatola nel container j della piattaforma i.

    2.Invocare una funziona che restituisca in output l'indice della piattaforma che fra G giorni avrà il container più pieno.

    3.Invocare una funzione che restituisca in output per ciascuna piattaforma il numero medio di scatole stipate fra G giorni.

  2. #2
    Utente di HTML.it L'avatar di oregon
    Registrato dal
    Jul 2005
    residenza
    Roma
    Messaggi
    36,480
    In questo forum non si fanno gli esercizi. Prova ad impostare tu il codice, cominciando dal primo problema e quando hai specifici problemi chiedi pure ...
    No MP tecnici (non rispondo nemmeno!), usa il forum.

  3. #3
    codice:
    #include<iostream>
    using namespace std; 
    
    const int dim1=500,dim2=30,dim3=10;
    
    int main(){
        int A [dim1][dim2][dim3];
        for(int i=0;i<dim1;i++)
            for(int j=0;j<dim2;j++)
                for(int k=0;k<dim1;k++){
                    cout << "Inserisci l'elemento" <<i <j <<k <<endl;
                    cin >> A[i][j][k];  
                }
    }
    Qua già c'è una cosa che non ho capito, il numero di giorni G è un numero solo uguale per tutti o un numero diverso per ogni elemento che devo inserire nel ciclo?

  4. #4
    Utente di HTML.it L'avatar di oregon
    Registrato dal
    Jul 2005
    residenza
    Roma
    Messaggi
    36,480
    E' un solo numero ...
    No MP tecnici (non rispondo nemmeno!), usa il forum.

  5. #5
    ok, quindi il codice diventa:
    codice:
    #include<iostream>
    using namespace std; 
    
    const int dim1=500,dim2=30,dim3=10;
    
    int main(){
        int A [dim1][dim2][dim3],G;
        for(int i=0;i<dim1;i++)
            for(int j=0;j<dim2;j++)
                for(int k=0;k<dim1;k++){
                    cout << "Inserisci l'elemento" <<i <j <<k <<endl;
                    cin >> A[i][j][k]; 
                }
        cout << "Inserisci il numero di giorni" << endl;
        cin >> G;
        return 0;
    }
    ora il primo punto è completo e dovrebbe andar bene,giusto? nel main manca solo il richiamo delle altre 2 funzioni...qui arriva il bello perchè non c'ho capito molto sulle 2 funzioni allora:

    codice:
    int funzione2(int A[][dim2][dim3],int G){
        for(int i=0;i<dim1;i++)
            for(int j=0;j<dim2;j++)
                for(int k=0;k<dim1;k++) 
    }
    qua ho un altro blocco come metto G per sapere l'indice della piattaforma che fra G giorni ha il container più pieno?

  6. #6
    Utente di HTML.it L'avatar di oregon
    Registrato dal
    Jul 2005
    residenza
    Roma
    Messaggi
    36,480
    Non usare variabili con nomi che non hanno senso. Riscrivi il codice con nomi di variabili che indichino a cosa si riferiscono.
    No MP tecnici (non rispondo nemmeno!), usa il forum.

  7. #7
    non capisco, i j k sono indici delle 3 dimensioni, la dim1 =piattaforme dim2=container dim3=scatole e G sono i giorni...come posso modificarla per renderlo più comprensibile?

  8. #8
    un errore che ho commesso mi sa che è il cout dopo i cicli for quello non va messo perchè gli elementi già li ho quindi non devo inserirli..giusto?

  9. #9

    Moderazione

    Benvenuto sul forum! Ti ricordo che:
    • il codice va specificato tra tag [CODE] ... [/CODE], altrimenti perde l'indentazione;
    • il titolo dovrebbe dare una breve descrizione del contenuto del thread.


    Ora correggo io, in futuro imposta correttamente la discussione fin da subito; nel frattempo ti consiglio di dare un'occhiata al regolamento.
    Amaro C++, il gusto pieno dell'undefined behavior.

  10. #10

    [C++] Qualcuno sa dirmi dove sbaglio?

    La terza funzione è sbagliata proprio
    codice:
    /*Ci sono 500 piattaforme, ogni piattaforma ha 30 container e ogni container può contenere al massimo 10 scatole.
    
    1.Acquisire da input un numero di giorni G e gli elementi di un vettore tridimensionale A.
    A[i][j][k]= q>=1 indica che la scatola k del container j della piattaforma i sarà consegnata tra q giorni...
    q=0 non c'è nessuna scatola nel container j della piattaforma i.
    
    2.Invocare una funziona che restituisca in output l'indice della piattaforma che fra G giorni avrà il container più pieno.
    
    3.Invocare una funzione che restituisca in output per ciascuna piattaforma il numero medio di scatole stipate fra G giorni.*/
    
    #include<iostream>
    #define piattaforme 500
    #define container 30
    #define scatole 10
    using namespace std;
    
    int funzione2(int A[][container][scatole]){
    int maggiore, parziale,cpieno;
    for(int i=0;i<piattaforme;i++){
    parziale=0;
    for(int j=0;j<container;j++)
    for(int k=0;k<scatole;k++){
    parziale=A[i][j][k];
    if(parziale>maggiore){
    maggiore=parziale;
    cpieno=i;
    }
    }
    }
    return cpieno;
    }
    
    float funzione3(int A[][container][scatole],int i){
    int contaScatole;
    float media;
    for(int j=0;j<container;j++)
    for(int k=0;k<scatole;k++){
    if(A[i][j][k]>o){
    contaScatole+=1;
    }
    }
    media=contaScatole/container;
    return media;
    }
    
    
    int main(){
    int A[piattaforme][container][scatole],containerPieno;
    float media;
    for(int i=0;i<piattaforme;i++)
    for(int j=0;j<container;j++)
    for(int k=0;k<scatole;k++){
    do{
    cout <<"Tra quanti giorni la scatola" <<k <<"del container" <<j <<"della piattaforma" <<i <<"sara' consegnata?" <<endl;
    cin >> A[i][j][k];
    }while(A[i][j][k]<0);
    }
    containerPieno=funzione2(A);
    cout << "L'indice della piattaforma che ha il container piu' pieno e' : " << containerPieno << endl;
    for (int i=0;i<piattaforme;i++){
    media=funzione3(A,i);
    cout << "Nella piattaforma" <<i <<"ci sono in media" <<media <<"scatole stipate" <<endl;
    }
    return 0;
    }

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2025 vBulletin Solutions, Inc. All rights reserved.