Pagina 1 di 4

Sviluppare programma c per determinare 2 array uguali

MessaggioInviato: 11 ott 2015, 14:29
da angrigio
Devo sviluppare un algoritmo e programma in c che determini quando 2 array sono uguali. Ho le idee molto confuse su come procedere

Re: Sviluppare programma c per determinare 2 array uguali

MessaggioInviato: 11 ott 2015, 14:36
da WALTERmwp
Ciao Foto Utenteangrigio,
angrigio ha scritto:(...) Devo ... come procedere
cioè ?

Saluti

Re: Sviluppare programma c per determinare 2 array uguali

MessaggioInviato: 11 ott 2015, 14:51
da angrigio
Non so sviluppare un algoritmo che risolva il problema.
Usare 2 cicli di forma per la lettura dei 2 vettori...

Re: Sviluppare programma c per determinare 2 array uguali

MessaggioInviato: 11 ott 2015, 15:07
da WALTERmwp
Vediamo se riusciamo a fare un passo in avanti.
Il "C" lo conosci ?
Se si, inizia a proporre una bozza di programma, una base sulla quale confrontarsi e ragionare.

Saluti

Re: Sviluppare programma c per determinare 2 array uguali

MessaggioInviato: 11 ott 2015, 15:20
da simo85
angrigio ha scritto:Usare 2 cicli di forma per la lettura dei 2 vettori...

Te en basta uno, comparando elemento per elemento, fino a che sono di valore uguale.

Puoi anche basarti silla dimensione dei due.

Re: Sviluppare programma c per determinare 2 array uguali

MessaggioInviato: 11 ott 2015, 21:43
da angrigio
Codice: Seleziona tutto
#include<stdio.h>

int main()
{
   int counter;
   
   float mioArray[3] = { 21,3,6}; // gli altri elementi sono automaticamente inizializzati a zero.
   float tuoArray[3] = { 2,4,5};
   printf("Elemento\tValore\n");

   for (counter = 0; counter < 3;counter++)
      {
       if (mioArray[counter]!=tuoArray[counter])
       printf("L'Array 1 = Array 2");
      }
     
   
   return 0;   
}

Sto sviluppando sperimentalmente il programma.
Usando un solo ciclo di for eseguo il confronto tra i 2 array mioArray e tuoArray con l'istruzione if

Re: Sviluppare programma c per determinare 2 array uguali

MessaggioInviato: 11 ott 2015, 21:58
da WALTERmwp
Penso possa andare bene se necessiti comparare per contenuto.
Non è però coerente il contenuto della printf: o ci scrivi "L'Array 1 é diverso da Array 2" altrimenti cambi la sintassi, così
Codice: Seleziona tutto
if (mioArray[counter]==tuoArray[counter])

Saluti

Re: Sviluppare programma c per determinare 2 array uguali

MessaggioInviato: 11 ott 2015, 23:38
da simo85
Prova anche con la funzione memcmp:
http://linux.die.net/man/3/memcmp

Re: Sviluppare programma c per determinare 2 array uguali

MessaggioInviato: 12 ott 2015, 10:00
da Russell
quell'approccio fa scrivere a schermo il tuo commento ad ogni carattere (uguale o diverso)
quindi puo' anche essere scritto decine di volte, a seconda di quanto sono lunghi gli array.
non è meglio farlo in fondo una volta sola? :?

basta usare una variabile di appoggio
la inizializzi a false/0 prima del loop e dentro il loop gli cambi il valore a true/1 se entri dentro il tuo 'if'
alla fine, finito il loop, fai stampare il commento finale a schermo, cioè metti qualcosa del genere:
Codice: Seleziona tutto
if(sonouguali)
   print(...)
else
   print(...)

Re: Sviluppare programma c per determinare 2 array uguali

MessaggioInviato: 12 ott 2015, 11:17
da angrigio
Bisogna forse dichiarare prima dell'istruzione if una variabile boolean?
Nel caso affermativo come dovrei fare?