Ich brauche, dass vector_total keine wiederholte Nummer haben.Ich möchte, dass vector_total keine wiederholte Nummer haben
Funktion für den Eintrag vector1 und vector2, die in main() deklariert sind.
void entrada_vectors(int vector1[], int vector2[], int vector_total[], int *n, int *m)
{
int i=0, j=0;
/*Entrarem els nombres del vector 1 primer */
for (i=0; i<*n; i++)
{
vector_total[i]=vector1[i];
}
/*Entrarem els nombres del vector 2 després */
for (i=*n; i<*n+*m; i++)
{
if (j<*m)
{
vector_total[i]=vector2[j];
j++;
}
}
}
Funktion 2. Dies ist für Bestellnummern in vector_total.
void ordena(int vector_total[], int *n, int *m)
{
int i=0, j=0;
int aux=0;
for (i=0; i<*n+*m-1; i++)
{
for (j=0; j<*n+*m-1; j++)
{
if (vector_total[j]>vector_total[j+1])
{
aux=vector_total[j];
vector_total[j]=vector_total[j+1];
vector_total[j+1]=aux;
aux=0;
}
}
}
}
Funktion 3. Drucken vector_total
void mostra(int vector_total[], int *n, int *m)
{ int i;
for (i=0; i<*n+*m; i++)
{
printf ("Pos %d del vector: %d\n", i, vector_total[i]);
}
}
Function 4. sind hier das Problem !! Diese Funktion dient zum Reinigen meines vector_total und zum Löschen der wiederholten Zahlen.
void limpiar_repetidos(int vector_total[], int *n, int *m)
{
int x=0, i=0, j=0;
for (i=0; i<*n+*m-1; i++)
{
for (j=0; j<*n+*m-1; j++)
{
if (vector_total[j]==vector_total[j+1])
{
x=j+1;
for (i=*n+*m; i>x; i--)
{
vector_total[i-1]=vector_total[i];
}
}
}
}
}
Und hier ist meine Hauptsache. Und meine Deklarationsvariablen:
int vector1 [] = {7,1,5,3,4,2};
int vector2 [] = {3,7,3,0,9,10};
int n = Größevon (Vektor1)/Größevon (Vektor1 [0]);
int m = Größevon (Vektor2)/Größevon (Vektor2 [0]);
int vector_total [n + m];
main()
{ entrada_vectors (vector1, vector2, vector_total, & n, & m);
ordena(vector_total, &n, &m);
mostra(vector_total, &n, &m);
limpiar_repetidos(vector_total, &n, &m);
printf ("==================\n");
mostra(vector_total, &n, &m);
zurück 0; }
Danke allen! :)
Dank Kerl! Es klappt! –