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

    ARRAY C++:Scrive contenuto se tutti gli elementi di y compaiono in x in qualsiasi posizione

    Ciao a tutti, è da una settimana che ho iniziato a cimentarmi con la programmazione(in vista di un esame universitario), sto avendo problemi con un programma:

    Scrivereprogramma C che dopo avere letto 2 array x, y di 10 interi da inputstandard,Scrive contenuto se tutti gli elementi di y compaiono in x in qualsiasi posizione

    sono riuscito a fare programmi simili, ad ex:

    codice:
    #include <stdio.h>
    #include <stdlib.h>
    /* confronta due array*/
    int main ()
    { int a[10], b[10], i;
    for (i=0; i<=9; i++)
        scanf("%d", &a[i]);
    for (i=0; i<=9; i++)
        scanf("%d", &b[i]);
    i=0;
    do
    if (a[i] != b[i])
    {printf("diversi\n"); system("PAUSE"); return 0; }
    else i=i+1;
    while (i<=9);
    printf("uguali\n");
    system("PAUSE");
    return 0;
    }

    però non riesco a confrontarli con posizione "disorganizzata", se non sono stato abbastanza chiaro (voglio che dati 1234567890 e 2143650987 mi dica uguali eo contenuto)

    attendo con ansia e disperazione vostri chiarimenti, grazie mille in anticipo
    Ultima modifica di LeleFT; 12-06-2015 a 11:52 Motivo: Aggiunti i tag CODE

  2. #2
    Moderatore di Programmazione L'avatar di LeleFT
    Registrato dal
    Jun 2003
    Messaggi
    17,304
    @puttilli: quando posti del codice, inseriscilo all'interno degli appositi tag [CODE] .. [/CODE] così da mantenerlo indentato e formattato, quindi più leggibile.

    Ho corretto io.


    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
    Quote Originariamente inviata da LeleFT Visualizza il messaggio
    @puttilli: quando posti del codice, inseriscilo all'interno degli appositi tag
    codice:
     ..
    così da mantenerlo indentato e formattato, quindi più leggibile.

    Ho corretto io.


    Ciao.

    grazie mille

  4. #4
    codice:
    #include <stdio.h>
    #include <stdlib.h>
    int main ()
    { int a[10], b[10], i;
    for (i=0; i<=9; i++)
        scanf("%d", &a[i]);
    for (i=0; i<=9; i++)
        scanf("%d", &b[i]);
    
    
    i=0;
    while((i<10) && (a[i]==b[i]))i++;
    if(i==10) printf("contenuto");
    else printf("non contenuto");
    
    
    system("PAUSE");
    return 0;
    }

    ho provato a usare solo while ma stesso problema((
    Ultima modifica di puttilli; 12-06-2015 a 12:23

  5. #5
    Utente di HTML.it L'avatar di linoma
    Registrato dal
    Mar 2010
    Messaggi
    1,346
    il tuo algoritmo è sbagliato da quello che sn riuscito a capire
    Per gli Spartani e Sparta usa spartan Il mio github

  6. #6
    Utente di HTML.it L'avatar di oregon
    Registrato dal
    Jul 2005
    residenza
    Roma
    Messaggi
    36,465
    Senza averlo letto attentamente, dovresti fare due for, una nell'altra.-
    No MP tecnici (non rispondo nemmeno!), usa il forum.

  7. #7
    è giusto se voglio che confronta gli array "parallelamente" 1)1234567890 1234567890 ma non riesco a confrontarli in disordine 2)1234567890 2143568709

    voglio che sia nel caso 1 che nel caso 2 mi dica che sono uguali

  8. #8
    Utente di HTML.it L'avatar di linoma
    Registrato dal
    Mar 2010
    Messaggi
    1,346
    allora io personalmente li ordinerei prima oppure per ogni x[] devi confrontare y[] ma avresti il caso in cui ci siano dei doppi che va a buca
    Per gli Spartani e Sparta usa spartan Il mio github

  9. #9
    Utente di HTML.it L'avatar di MySQL
    Registrato dal
    May 2015
    Messaggi
    729
    Quote Originariamente inviata da oregon Visualizza il messaggio
    Senza averlo letto attentamente, dovresti fare due for, una nell'altra.-

    Conta quanti match positivi hai.
    Se corrisponde alla dimensione dell'array => contenuto, altrimenti no.

  10. #10
    sono riuscito parzialmente a fare ciò che volevo, mi spiego:

    codice:
    #include <stdio.h>
    #include <stdlib.h>
    int main ()
    { int a[5], b[5], i,y;
    for (i=0; i<=4; i++)
    	scanf("%d", &a[i]);
    for (i=0; i<=4; i++)
    	printf("%d", a[i]);
    	
    printf("\n");	
    	
    for (y=0; y<=4; y++)
    	scanf("%d", &b[y]);
    for (y=0; y<=4; y++)
                   printf("%d", b[y]);
    
    
    printf("\n");	
    
    
    for (i=0; i<=4; i++)
    {
    for (y=0; y<=4; y++)
    if(a[i]==b[y]) printf("contenuto\n"); 
    else printf("non contenuto\n");}
                   
    
    
    system("PAUSE");
    return 0;
    }
    come risultato ottengo che, inserendo: 12345 e 92874
    mi stampa contenuto contenuto ed una sfilza di non contenuto.
    quindi bene o male fa ciò che voglio, però vorrei che mi dicesse contenuto SOLO se li contiene tutti...aiutatemi vi prego

Tag per questa discussione

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.