Herzlich Willkommen, lieber Gast!
  Sie befinden sich hier:

  Forum » C / C++ (WinAPI, Konsole) » gleiche Werte in Array mit 0 ersetzen!

Forum | Hilfe | Team | Links | Impressum | > Suche < | Mitglieder | Registrieren | Einloggen
  Quicklinks: MSDN-Online || STL || clib Reference Grundlagen || Literatur || E-Books || Zubehör || > F.A.Q. < || Downloads   

Autor Thread - Seiten: > 1 <
000
06.01.2014, 12:14 Uhr
Saidinho



Hey Leute,

habe folgendes Problem:

Ich habe ein Array mit n-Elementen drinnen und möchte alle doppelten Werte auf 0 setzen. Ich hab auch bereits schon eine Idee gehabt, jedoch klappt es nicht so ganz.
Zuerst habe ich die Elemente alle der Größe nach sortiert, so dass alle gleich großen Werte nebeneinander stehen, hat auch geklappt, jedoch setzt er in der zweiten Schleife nicht nur die doppelten Werte auf 0, sondern auch andere Werte, hat jemand vielleicht einen Rat?
Wäre echt cool!

Danke

C++:
    int iarray [] = {4,2,6,3,5,1,4,3};
    
    int anzahl = (sizeof( iarray ) / sizeof( iarray[0] ));
    
    
    for(int j = 0; j < anzahl; j++){
    
        for(int i = 0; i < anzahl-1; i++){
                
            if(iarray[i] > iarray[i+1]){
                    
                int zwischenspeicher = iarray[i+1];
                    
                iarray[i+1] = iarray[i];
                    
                iarray[i] = zwischenspeicher;
            }
        }
    }
    
    for(int m = 0; m < anzahl-1; m++){
        
        if(iarray[m] == iarray[m++]){
            
            iarray[m] = 0;
        }
    }



---
Edit: cpp-tags eingesetzt

Dieser Post wurde am 06.01.2014 um 19:02 Uhr von Hans editiert.
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
001
06.01.2014, 13:07 Uhr
~f.-th.
Gast


Es gibt da sicher mehrere Lösungsansätze.

Sortiert hast du? Sind nur doppelte Werte drin?

Wenn ja, zwei aufeinander folgende Werte vergleichen. Überlege welcher der Vergleichsoperatoren zum einfachsten Lösungsweg führt. Dann testen was passiert, wenn du den ersten und dann alternativ den 2ten Wert mit 0 überschreibst oder in deinen Zwischenspeicher schreibst.

MfG f.-th.
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
Seiten: > 1 <     [ C / C++ (WinAPI, Konsole) ]  


ThWBoard 2.73 FloSoft-Edition
© by Paul Baecher & Felix Gonschorek (www.thwboard.de)

Anpassungen des Forums
© by Flo-Soft (www.flo-soft.de)

Sie sind Besucher: