Pagina 1 di 2 1 2 ultimoultimo
Visualizzazione dei risultati da 1 a 10 su 12

Discussione: [C] confronto array

  1. #1

    [C] confronto array

    salve,
    ho 2 problemi:
    1) devo fare un confronto con 2 array di interi, (in c++ è abbastanza facile ma in c non conoscendolo bene non so come farlo), c'è qualche funzione speciale?? mi serve per sapere se un elemento dell'array1 è uguale a quello dell'array2 o in un altro caso se è maggiore..

    2)sempre con array, ma di char, voglio fare un confronto tra gli array, so che esiste la funzione strcmp ma non so come scriverla sintatticamente..
    codice:
    array1[5]="ciao";
    array2[5]="ciai";

  2. #2
    Utente di HTML.it L'avatar di Scara95
    Registrato dal
    Jul 2009
    residenza
    Zimella (VR)
    Messaggi
    2,589
    La sintassi per gli array è esattamente la stessa...

    E' una semplice chiamata a funzione che ritorna
    • -1: (array1 < array2)
    • 0 (array1 == array2)
    • +1 (array1 > array2)
    codice:
    strcmp(array1, array2)
    "Quid enim est, quod contra vim sine vi fieri possit?" - Cicerone, Ad Familiares

  3. #3
    anche se devo confrontare 2 array di int e 2 array char??

    a me da questo errore facendo quello di interi

    [Warning] passing arg 1 of `strcmp' makes pointer from integer without a cast
    [Warning] passing arg 2 of `strcmp' makes pointer from integer without a cast

  4. #4
    Utente di HTML.it L'avatar di Scara95
    Registrato dal
    Jul 2009
    residenza
    Zimella (VR)
    Messaggi
    2,589
    Originariamente inviato da kratos 475
    anche se sono devo confrontare array di int e array char??
    Non ho capito che intendi

    Per confrontare due elementi di indici i e j in due array a e b fai
    codice:
    a[i] == b[j]
    o qualsivoglia operatore di confronto...

    Per confrontare due array di char a e b per l'ordine alfabetico fai
    codice:
    strcmp(a, b)
    "Quid enim est, quod contra vim sine vi fieri possit?" - Cicerone, Ad Familiares

  5. #5
    mi sono espresso a dir poco malissimoXD
    cmomunque guarda gli errori che mi da quando uso strcmp con 2 array di interi

  6. #6
    Utente di HTML.it L'avatar di Scara95
    Registrato dal
    Jul 2009
    residenza
    Zimella (VR)
    Messaggi
    2,589
    Non puoi utilizzare strcmp con due array di interi!
    E' una funzione fatta per l'ordinamento alfabetico di due stringhe di caratteri: array di char terminate da un '\0'

    Descrivi in che modo devi confrontare i due array di interi...
    "Quid enim est, quod contra vim sine vi fieri possit?" - Cicerone, Ad Familiares

  7. #7
    Originariamente inviato da Scara95
    La sintassi per gli array è esattamente la stessa...

    E' una semplice chiamata a funzione che ritorna
    • -1: (array1 < array2)
    • 0 (array1 == array2)
    • +1 (array1 > array2)
    codice:
    strcmp(array1, array2)
    tu avevi detto così...
    comunque con quello di interi ho risolto da solo...
    devo confrontare i campi char di uno struct tra di loro e sapere se sono uguali, come faccio??

  8. #8
    Utente di HTML.it L'avatar di Scara95
    Registrato dal
    Jul 2009
    residenza
    Zimella (VR)
    Messaggi
    2,589
    Avevo risposto alle tue due domande separatamente.

    char o char * ???
    Se sono char *
    codice:
    strcmp(a, b) == 0
    Se sono char
    codice:
    a == b
    "Quid enim est, quod contra vim sine vi fieri possit?" - Cicerone, Ad Familiares

  9. #9
    codice:
    struct nome{
    char cognome[25];
    }t_nome;
    questo è lo struct intendo come faccio a confrontare i campi cognome e sapere se sono uguali,
    credo siano di tipo char..

  10. #10
    Utente di HTML.it L'avatar di Scara95
    Registrato dal
    Jul 2009
    residenza
    Zimella (VR)
    Messaggi
    2,589
    Ma hai studiato le basi del linguaggio?! (che sono le stesse del C++, anzi: nella maggior parte dei manuali e dei corsi C++ si parte dal C)

    codice:
    strcmp(var1.cognome, var2.cognome)==0
    "Quid enim est, quod contra vim sine vi fieri possit?" - Cicerone, Ad Familiares

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