Forum: Mikrocontroller und Digitale Elektronik 2 Arrays auf Gleichheit prüfen


von Human Sourcecode (Gast)


Lesenswert?

Hallo,
ich habe 2 Arrays,
beide uint_8 mit 255 Felder.

Diese sollen auf gleichheit abgeprüft werden.

Gibt es da eine fertige Funktion oder muss ich das selber amchen,.

for (i=0;i<=sizeof(array-1);i++)
(
if (array1[i]==array2[i])
{
richtig++;
}
else
{
fehler++;
}
)

oder wie würdet ihr das machen?

wie kann ich hier quelltext als quelltext markieren, so dass der code 
nacher syntaxgehighlitet wird?

Danke

von Jörg S. (joerg-s)


Lesenswert?

>Gibt es da eine fertige Funktion...
In C? Nein.

>wie kann ich hier quelltext als quelltext markieren, so dass der code
>nacher syntaxgehighlitet wird?
Siehe:
http://www.mikrocontroller.net/articles/Formatierung_im_Forum

von tuppes (Gast)


Lesenswert?

Wenn du nur wissen willst, ob die Array-Inhalte gleich oder verschieden 
sind, kannst du die Funktion memcmp verwenden.

Wenn du wissen willst, wie viele Bytes gleich oder verschieden sind: 
Dafür gibts nichts Fertiges.

> for (i=0;i<=sizeof(array-1);i++)

Ich vermute, du meinst

for (i=0;i<=sizeof(array)-1;i++)

von Matthias L. (Gast)


Lesenswert?

>> for (i=0;i<=sizeof(array-1);i++)

>Ich vermute, du meinst

>for (i=0;i<=sizeof(array)-1;i++)

Einfach wird das Konstrukt so:
1
i=0;
2
do
3
{
4
  ...
5
}
6
while ( ++i != sizeof(array) );

von Volker Z. (vza)


Lesenswert?

> Gibt es da eine fertige Funktion oder muss ich das selber amchen,.
Ja, "memcmp" in string.h oder memory.h

1
for (i=0;i<sizeof(array1);i++)
2
{
3
   if (array1[i]!=array2[i])
4
     fehler++;
5
}

> Danke


Bitte

von Karl H. (kbuchegg)


Lesenswert?

tuppes schrieb:
> Wenn du nur wissen willst, ob die Array-Inhalte gleich oder verschieden
> sind, kannst du die Funktion memcmp verwenden.
>
> Wenn du wissen willst, wie viele Bytes gleich oder verschieden sind:
> Dafür gibts nichts Fertiges.
>
>> for (i=0;i<=sizeof(array-1);i++)
>
> Ich vermute, du meinst
>
> for (i=0;i<=sizeof(array)-1;i++)

Und wenn er sich noch das unsägliche <= zu gunsten von < abgewöhnt, gibt 
es dieses Problem gleich erst gar nicht.

  for( i = 0; i < sizeof(array); ++i )
    mach was mit array[i]

Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.