Visualizzazione dei risultati da 1 a 10 su 10

Discussione: [C] Esercizio su array

  1. #1
    Utente di HTML.it L'avatar di Trusty
    Registrato dal
    Dec 2004
    Messaggi
    642

    [C] array

    ciao a tutti; devo definire una funzione int verifica(int tab[N], int dim) che data una tabella tab di interi di dimensione dim restituisce 1 se tutti i numneri da 1 a 9 compaiono in tab, e restituisce 0 altrimenti!

    chi mi aiuta? grazie!
    http://www.oilproject.org/ -->La Scuola On-LIne degli smanettoni!

  2. #2
    Utente di HTML.it L'avatar di infinitejustice
    Registrato dal
    Nov 2001
    residenza
    Barcelona
    Messaggi
    772
    Potresti ordinare l'array quindi con un ciclo for con i che parte da i verificare se i valori ordinati equivalgono al valore della i.

    Te la cavi con due righe di codice

    p.s. sempre che i numeri nn siano ripetuti

    p.p.s. quando li ordini potresti creare un array di supporto nel quale mettere gli elementi nn ripetuti ed ordinati... cosi sei a posto
    Live fast. Troll hard.
    Pythonist | Djangonaut | Puppeteer | DevOps | OpenStacker | Lost in malloc
    Team Lead @Gameloft Barcelona

  3. #3
    Utente di HTML.it L'avatar di Trusty
    Registrato dal
    Dec 2004
    Messaggi
    642
    ho fatto cosi.. è un pò più lungo ma funziona lo stesso!

    codice:
     
     int verifica (int tab[N], int dim){
     int appoggio[N];
     int a=1,j,i,out;
     while (a<10) {           //scorro i numeri da 1 a 9 
      for (i=0; i<dim; i++){  //scorro il vettore di partenza 
       for (j=1; j<=9; j++){  //elemento jvettore di appoggio
        if (tab[i]==a)
         appoggio[j]=1;
        else 
         appoggio[j]=0;
       }
      }
     a++;
     }
     for (j=0; j<dim; j++){
      if (appoggio[j]==1)   //se sn tt 1 il vettore contiene 
       out=1;               //i numeri da 1 a 9 altrimenti no 
      else out=0;
     }
     return out;
    }
    http://www.oilproject.org/ -->La Scuola On-LIne degli smanettoni!

  4. #4
    Utente di HTML.it L'avatar di Trusty
    Registrato dal
    Dec 2004
    Messaggi
    642
    però adesso avrei un altro problema...con i doppi puntatori (che sinceramente non ho mai capito)..

    devo completare questo programma in modo che sia corretto sia a tempo di compilazione che a tempo di esecuzione e che il valore stampato sia 10.


    #include <stdio.h>
    main(){
    <CODICE DA COMPLETARE>
    *p=*q * (**r);
    printf("%d", *p);
    }

    veramente, qua sono proprio una frana e anche molto disperato....non ce ne capisco niente di questi puntatori...

    chi mi da una MANO SANTA?
    http://www.oilproject.org/ -->La Scuola On-LIne degli smanettoni!

  5. #5
    Moderatore di Programmazione L'avatar di alka
    Registrato dal
    Oct 2001
    residenza
    Reggio Emilia
    Messaggi
    24,301

    Moderazione

    Originariamente inviato da Trusty
    però adesso avrei un altro problema...con i doppi puntatori (che sinceramente non ho mai capito)..
    Per una migliore fruibilità del forum, ad ogni quesito o problema dovrebbe corrispondere una differente discussione, per evitare di "svicolare" dall'argomento principale.

    Conviene anche a chi scrive perchè ad ogni discussione corrisponde un titolo (che dovrebbe essere il più possibile significativo) ed una visibilità comunque maggiore.

    Ciao!
    MARCO BREVEGLIERI
    Software and Web Developer, Teacher and Consultant

    Home | Blog | Delphi Podcast | Twitch | Altro...

  6. #6
    Utente di HTML.it L'avatar di infinitejustice
    Registrato dal
    Nov 2001
    residenza
    Barcelona
    Messaggi
    772
    guarda cosi è piu semplice ancora

    void check(int *vettore, const int dim){

    for(int i = 1; i <= 9; i++){
    for(int j = 0; j <= dim; j++){
    if(vettore[j] == i)
    break; //Il valore i c'e'
    else if(j == dim)
    return;
    }
    }
    printf("ci sono tutti");
    }


    alcuni output...
    5 2 8 10 10 9 5 9 2 8 1 1 8 10 6 6 2 6 7 6 5 2 6 4 1

    8 8 9 9 10 8 5 10 2 6 10 8 9 9 10 2 2 10 1 10 1 7 9 5 6

    5 6 9 10 1 1 10 4 8 7 4 6 9 4 7 2 10 3 3 2 2 1 1 4 4
    ci sono tutti
    Live fast. Troll hard.
    Pythonist | Djangonaut | Puppeteer | DevOps | OpenStacker | Lost in malloc
    Team Lead @Gameloft Barcelona

  7. #7
    Utente di HTML.it L'avatar di Trusty
    Registrato dal
    Dec 2004
    Messaggi
    642
    per l'altro quesito posso/devo aprire un'altro form vero?

    ok !

    grazie infinitejustice! se magari mi date una mano anche sull'altro form vi faccio una statua d'oro!
    http://www.oilproject.org/ -->La Scuola On-LIne degli smanettoni!

  8. #8
    Utente di HTML.it L'avatar di infinitejustice
    Registrato dal
    Nov 2001
    residenza
    Barcelona
    Messaggi
    772
    si beh cmq per il doppio puntatore una soluzione è questa

    int x = 2, y = 5, *p, *q, **r;
    p = &x;
    r = &p;
    q = &y;

    *p = *q * (**r);
    printf("%d", *p);
    Live fast. Troll hard.
    Pythonist | Djangonaut | Puppeteer | DevOps | OpenStacker | Lost in malloc
    Team Lead @Gameloft Barcelona

  9. #9
    Moderatore di Programmazione L'avatar di alka
    Registrato dal
    Oct 2001
    residenza
    Reggio Emilia
    Messaggi
    24,301
    Originariamente inviato da Trusty
    per l'altro quesito posso/devo aprire un'altro form vero?
    Non ho fatto in tempo a risponderti.
    Il mio era un suggerimento valido per le prossime discussioni; questa ormai era già andata.

    Fa nulla. Per il secondo quesito, continua la nuova discussione che hai aperto, comunque.

    Ciao!
    MARCO BREVEGLIERI
    Software and Web Developer, Teacher and Consultant

    Home | Blog | Delphi Podcast | Twitch | Altro...

  10. #10
    Utente di HTML.it L'avatar di Trusty
    Registrato dal
    Dec 2004
    Messaggi
    642
    puoi venire nell'altro form? grazie!
    http://www.oilproject.org/ -->La Scuola On-LIne degli smanettoni!

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.