Esercizio Giorni in Comune Per un Incontro!!

di il
2 risposte

Esercizio Giorni in Comune Per un Incontro!!

Ciao a tutti ! Devo creare un programma,che mi permetta,inserendoli in input da tastiera,di trovare i giorni in cui 2 persone possono incontrarsi per fare una riunione,nell'arco del mese,inserendo i giorni in cui sono disponibili,prima una persona poi l'altra,confrontandoli e stampando a video i giorni in comune.
Io pensavo di fare una cosa simile, vi incollo qui sotto il sorgente, praticamente pensavo di dichiare un vettore a testa,prima per la prima persona e uguale per la persona,il vettore prendera in input i valori che gli dò con la scanf,e poi con 2 cicli for annidati li vado a confrontare e gli faccio stampare i valori che trova uguali sia nel primo che nel secondo vettore ! ma purtroppo i vettori li abbiamo iniziati la settimana scorsa,la prof è andata ai mille all'ora,il tutor di laboratorio è ammalato propio questa settimana,e quindi mi ritrovo a dover far da solo esercizi che mi risultano abbastanza complicati ! Quindi se potreste dirmi piano piano dove sbaglio,almeno cosi ci capisco, perchè di avere un esercizio gia fatto farei presto, ma mi scoccia...VOGLIO CAPIRE TUTTO !!!
#include <stdio.h>

int main()
{
      int giorni1, giorni2, g, g1, g2, k, i, j, p1, p2;
      
      do
      {
          
      printf("(al termine premere 0)giorni del primo tizio: ");
      fflush(stdin);
      k = scanf("%d",&g1);
      
      }while( g1 > 0 );
      
      
      int persona1[g1];
      
      printf("\nvalori g1 %d\n",persona1[g1]);
      
      do
      {
          
      printf("(al termine premere 0)giorni del secondo tizio: ");
      scanf("%d",&g2);
      
      }while( g2 > 0 );/*per uscire dal ciclo*/
      
      int persona2[g2];
      
      for ( i = 0 ; i <= g1 ; i++ )
      {
          for ( j = 0 ; j <=g2 ; j++)
          {
              if( i!= 0 )
              {
                  if( i == j )
                  {
                  printf ("\nI giorni sono %d\n",i);
              
                  }
              }    
          }        
      }    
      system("pause");
      return 0;
      }

2 Risposte

  • Re: Esercizio Giorni in Comune Per un Incontro!!

    Un bel pò cattiva la prof.
    allora un primo errore sta nell' accettazione del vettore
    il vettore deve essere dichiarato prima della sua accettazione
    ci devi dare una dimensione costante o se non sai di quanto farlo devi accettare una variabile prima
    
    o fai
    int tizio1[7],tizio2[7]; // consideri solo una settimana
    o fai
    printf("(inserire il numero dei giorni su cui si vuol trovare corrispondenza: ");
          scanf("%d",ng); //ng indica il numero dei giorni su cui si vuol lavorare;
          int tizio1[ng],tizio2[ng];
    poi devi fare il confronto per vedere se il giorno inserito è giusto cosa che manca
    quando accetti un valore devi inserirlo direttamente nel vettore usando un ciclo for
    esempio di immissione vettore
    
    int vett1[10];
    for (int i=0;i < 10;i++;)
    { scanf(%d,vett1[i]); }
    comunque per l'esercizio e meglio dichiarare una matrice per quanto riguarda i due tizi in quanto quando accetti un giorno devi pure accettare il mese non trovi?
    poi per ogni tizio devi poi fare il controllo della ripetizione dei dati altrimenti ti trovi dati che ti farebbero sballare i risultati finali.
    spero di esserti stato di aiuto
  • Re: Esercizio Giorni in Comune Per un Incontro!!

    Grazie mille!!! Si e esattamente come ho fatto,a parte per il discorso della matrice,lei chiedeva di trovare giorni in comune nell'arco di un mese ipotetico,quindi due vettori per ciascun tizio mi bastavano! Comunque si li era solo per dare un'idea di come la pensavo io,ovviamente ho fatto dei cicli while per il controllo dei dati in Input,come l'inserimento di un char al posto di un numero e giorni maggiori di 31 o minori di 0(ho usato lo zero per far terminare l'inserimento dei giorni)...ho persino fatto due vettori in cui salvo i nomi dei due tizi,li faccio inserire da tastiera poi li salvo lì...molto meglio!
Devi accedere o registrarti per scrivere nel forum
2 risposte