Visualizzazione dei risultati da 1 a 9 su 9
  1. #1
    Utente di HTML.it
    Registrato dal
    Nov 2015
    Messaggi
    13

    [C] Programma con Switch e array

    Buongiorno a tutti.. premetto che sono nuovo e quindi non so bene se tale discussione era già stata aperta in precedenza..
    comunque
    l'esercizio è questo:

    Scrivere un programma che acquisisce un vettore di interi definito dall'utente e quindi calcola
    •Il numero di multipli di 8
    •Il numero di multipli di 4
    •Il numero di multipli di 2
    Presenti nel vettore e quindi stampa un istogramma (verticale) per visualizzare le occorrenze
    •Es su [8 12 1 3 2]

    *
    * *
    * * *
    _ _ _
    2 4 8

    voi come lo fareste??

  2. #2
    Moderatore di Programmazione L'avatar di LeleFT
    Registrato dal
    Jun 2003
    Messaggi
    17,307
    TU come lo faresti?
    L'hai già impostato? Quali dubbi hai? Hai scritto del codice? Se sì, postalo.

    Letto il Regolamento interno?


    Ciao.
    "Perchè spendere anche solo 5 dollari per un S.O., quando posso averne uno gratis e spendere quei 5 dollari per 5 bottiglie di birra?" [Jon "maddog" Hall]
    Fatti non foste a viver come bruti, ma per seguir virtute e canoscenza

  3. #3
    Utente di HTML.it L'avatar di oregon
    Registrato dal
    Jul 2005
    residenza
    Roma
    Messaggi
    36,472
    1) acquisisci il vettore di valori

    2) scorrilo controllando valore per valore se è un multiplo di 2 4 8 aggiornando tre contatori opportuni

    3) visualizza i risultati con un ciclo for opportuno ...
    No MP tecnici (non rispondo nemmeno!), usa il forum.

  4. #4
    Utente di HTML.it
    Registrato dal
    Nov 2015
    Messaggi
    13
    Quote Originariamente inviata da LeleFT Visualizza il messaggio
    TU come lo faresti?
    L'hai già impostato? Quali dubbi hai? Hai scritto del codice? Se sì, postalo.

    Letto il Regolamento interno?


    Ciao.


    non ho scritto un vero e proprio codice.. nel senso che ho pensato a come farlo e l'ho scritto su un foglio.. innanzitutto un ciclo for per acquisire l'array:
    for (i=0; i<DIM; i++){
    printf("inserisci valori: ");
    scanf("%d", &array[i]);
    }



    successivamente pensavo di costruire una matrice di 3 colonne e DIM2 righe, e per riempirla due for inscatolati e uno switch case interno al secondo for.. 3 case:
    case8: if (array[i]%8==0) --> inserisce un * sulla colonna 3, sulla 2 e sulla 1
    case4: if (array[i]%4==0)--> inserisce un * sulla colonna 2 e sulla 1
    case2: if (array[i]%2==0)--> inserisce un * solo sulla colonna 1

    fuori dai due cicli, stampo i caratteri finali delle 3 colonne, cioè:
    _ _ _
    2 4 8


    non so se ho reso l'idea...
    il fatto è che non dovrei farlo con le matrici, perché quest'esercizio ci era stato dato quando non le avevamo ancora fatte... perciò non saprei come farlo.. anche perché non ci è stata data la soluzione

  5. #5
    Utente di HTML.it L'avatar di oregon
    Registrato dal
    Jul 2005
    residenza
    Roma
    Messaggi
    36,472
    [QUOTE=AnSa96;25342459]successivamente pensavo di costruire una matrice di 3 colonne [7quote]

    No ... direi di fare i calcoli su un vettore di tre elementi

    int mult[3];

    la switch non ti serve e con le 3 if aumenti di uno il valore del vettore. Ad esempio

    codice:
    if (array[i]%2==0) mult[0]++;
    if (array[i]%4==0) mult[1]++;
    if (array[i]%8==0) mult[2]++;
    Alla fine, questi tre elementi ti serviranno per visualizzare l'istogramma ...
    No MP tecnici (non rispondo nemmeno!), usa il forum.

  6. #6
    Utente di HTML.it
    Registrato dal
    Nov 2015
    Messaggi
    13
    si..avevo pensato anche a questa opzione... solo che viene richiesto di farlo con lo switch, e quindi avevo optato per ciò che avevo scritto sopra... tuttavia non mi convince molto

  7. #7
    Utente di HTML.it L'avatar di oregon
    Registrato dal
    Jul 2005
    residenza
    Roma
    Messaggi
    36,472
    Ma lo switch in quale parte lo usi? Non in quella che hai mostrato ...
    No MP tecnici (non rispondo nemmeno!), usa il forum.

  8. #8
    Utente di HTML.it
    Registrato dal
    Nov 2015
    Messaggi
    13
    è questo il punto! se non avesse richiesto lo switch, io lo avrei fatto con l'incremento di tre contatori.. ma chiedendo lo switch mi è venuta in mente quella soluzione.. non saprei dove inserirlo altrimenti

  9. #9
    Utente di HTML.it L'avatar di oregon
    Registrato dal
    Jul 2005
    residenza
    Roma
    Messaggi
    36,472
    Tu fallo senza switch ... Poi si vede a codice finito
    No MP tecnici (non rispondo nemmeno!), usa il forum.

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 © 2024 vBulletin Solutions, Inc. All rights reserved.