Ich beginne in der C-Programmierung und mein Englisch ist nicht die beste zu entfernen, ich werde also versuchen, mir die besten zu erklären, ich kann ...Wie Speicher Richtungen von einem leeren Vektor
Ich habe versucht, zu sie ein Programm, das Zufallszahlen, Paare und ungerade Zahlen und speichert diese Zahlen in zwei verschiedenen Vektoren ...
So erzeugt es wie dieses
#include <stdio.h>
#include <stdlib.h>
#define ARRAYSIZE 6
void main()
{
int randomNumber, position, pairVector[ARRAYSIZE], oddVector[ARRAYSIZE];
srand(time(NULL));
for (position = 0; position < ARRAYSIZE; position++)
{
randomNumber = rand() % 49 + 0;
if (randomNumber % 2 == 0)
pairVector[position] = randomNumber;
else
oddVector[position] = randomNumber;
}
// Loop to print all the pair random numbers
for (position = 0; position < ARRAYSIZE; position++)
{
if(pairVector[position] >= 0)
printf("%d ", pairVector[position]);
}
// Separation of the pair and odd numbers
printf("\n\n\n");
// Loop to print all the odd random numbers
for (position = 0; position < ARRAYSIZE; position++)
{
if (oddVector[position] >= 0)
printf("%d ", oddVector[position]);
}
}
sieht aus, als u sehen kann, ich habe 2 Schlaufen Drucken Sie Paare und ungerade Zahlen, diese Zahlen sind mit 2 Schleifen gedruckt, so geht hier meine Frage ...
Ohne die Bedingung> = 0 im Vektor innerhalb der Schleife, habe ich einige Speicherrichtungen ausgedruckt (denn wenn ich eine Größe von 6 Ints, aber nur 3 Zahlen (Paar oder Ungerade) habe, werden auch die anderen 3 Richtungen gedruckt)) ... Was kann ich tun, um diese Anweisungen aus dem gedruckten Vektor ohne die Bedingung zu entfernen? Vielleicht Zeiger?
Danke in Beratung und Entschuldigung für mein schlechtes Englisch.
Ein Beispiel von dem, was, wenn die Bedingungen ... Ausgang zu sprechen, ohne im: 28 24 32 48 42 -858993460 (dies wäre das Paar Vektor) -858993460 -858993460 -858993460 -858993460 -858993460 17 (Diese wäre der ungerade Vektor) Ich möchte die Speicherrichtung "-858993460" entfernen. –
Das richtige Wort für 'Paar' wäre' even'. –
Initialisieren Sie die Arrays mit "ungültigen" Zahlen (> 48), da Ihre Zufallszahl niemals einen Wert größer als 48 annimmt. So können Sie die ungültigen Einträge erkennen. Du wirst sowieso eine Bedingung brauchen. Oder Sie benötigen eine völlig andere, wahrscheinlich dynamische Datenstruktur. Alternativ können Sie einen Offset entweder zu geraden oder ungeraden Einträgen im Array * self * hinzufügen. Wenn Sie zum Beispiel "50" zu geraden Zahlen hinzufügen, können Sie immer feststellen, dass der Eintrag gerade ist, und dann 50 subtrahieren, um den Wert wiederherzustellen. –