Wie kann ich doppelte Zahlen vermeiden ?
-
Hey C++ Community,
sitze gerade an einem prog, welches mir das minimum suchen soll. jetzt will ich noch vermeiden, dass man 2 oder mehr gleiche zahlen bei values[max] einlesen kann, komme aber nicht drauf...#include <stdio.h>
#include <stdlib.h>
#define max 6
void main()
{
int values[max] = {3,4,2,7,3,1}, i, min, pos, j;// Findet Minimum und dessen Position
for (j=0; j<max-1; j++)
{min = values[j];
pos = j;for (i=1+j; i<max; i++)
{
// values[i] neues Minimum ?
if( values[i] < min)
{
min= values[i];
pos= i;
}}
// printf("Min: %d, an Indexposition: %d\n", min, pos);// Tausche Minimum an Indexposition 0
values[pos] = values[j];
values[j] = min;
}
printf(" Feld sortiert: ");
for ( i = 0; i < max; i++)
printf("%d", values[i]);
printf("\n \n");
}
-
Bist du sicher, dass du C++ machen willst? Falls ja, zeig ich dir gerne den C++-Weg. Falls nein, möge dich ein Mod bitte verschieben.
-
1.- Das ist C und nicht C++
2.- Du liest noch gar nichts ein
3.- Deine Formatierung ist scheisse, bzw. du hast keine Codetags benutzt#include <stdio.h> #include <stdlib.h> #define max 6 void main() { int values[max] = {3,4,2,7,3,1}, i, min, pos, j; // Findet Minimum und dessen Position for (j=0; j<max-1; j++) { min = values[j]; pos = j; for (i=1+j; i<max; i++) { // values[i] neues Minimum ? if( values[i] < min) { min= values[i]; pos= i; } } // printf("Min: %d, an Indexposition: %d\n", min, pos); // Tausche Minimum an Indexposition 0 values[pos] = values[j]; values[j] = min; } printf(" Feld sortiert: "); for ( i = 0; i < max; i++) printf("%d", values[i]); printf("\n \n"); }
-
int values[max] = {3,4,2,7,3,1}, i, min, pos, j;Gibt es eine Möglichkeit Variablen noch beschissener zur definieren/initialisieren?
-
Wow, danke für eure großzügige Hilfe !
Man wird als absoluter Neuling nicht immer so nett beraten wie von euch!
-
Ja, so ist das hier. Das was du da machst ist alles andere als gut. Ansonsten solltest du Skym0sh0s Punkt zwei beantworten.