Realizați un program in C care citește la intrare numere introduse câte unul pe linie. La introducerea unui zero, se consideră încheiat procesul de introducere a datelor și se trece la afișare. Se vor afișa, pe linii separate, mesajul „numere impare” urmat, pe linii separate, de numerele impare în ordinea în care au fost introduse, după care mesajul „numere pare”, urmat, pe linii separate, de numerele impare în ordinea inversă față de cea în care au fost introduse. Dacă un număr este introdus de două ori, va fi afișat o singură dată corespunzător primei introduceri.
Răspunsuri la întrebare
Răspuns:
#include <stdio.h>
int main() {
int n, i = 0, j, k;
int impare[100];
int pare[100];
int numere[100];
printf("Introduceti numere (0 pentru a opri):\n");
while (1) {
scanf("%d", &n);
if (n == 0) {
break;
}
numere[i++] = n;
}
j = 0;
k = 0;
for (i = 0; i < sizeof(numere) / sizeof(numere[0]); i++) {
if (numere[i] == 0) {
break;
}
if (numere[i] % 2 == 0) {
pare[j++] = numere[i];
} else {
impare[k++] = numere[i];
}
}
printf("Numere impare:\n");
for (i = 0; i < k; i++) {
printf("%d\n", impare[i]);
}
printf("Numere pare:\n");
for (i = j - 1; i >= 0; i--) {
printf("%d\n", pare[i]);
}
return 0;
}
Explicație: