Fisierul text numere.in contine pe prima linie cel mult 1.000.000 de numere naturale cu cel mult 9 cifre fiecare,in ordine crescatoare.Sa se scrie un program care sa afiseze pe ecran pe aceeasi linie,cu spatiu intre ele,valorile distincte din fisier.
EXEMPLU:daca fiserul bac.txt contine numerele 12 12 31 31 31 31 23 atunci pe ecran se afiseaza valorile 12 31 23
Răspunsuri la întrebare
Răspuns de
0
Răspuns:
#include <stdio.h>
#include <stdlib.h>
int main() {
// Deschiderea fisierului numere.in pentru citire
FILE* fisier = fopen("numere.in", "r");
if (fisier == NULL) {
perror("Eroare la deschiderea fisierului numere.in");
return 1;
}
// Citirea numerelor din fisier
int numar;
int numere_citite[1000000] = {0};
while (fscanf(fisier, "%d", &numar) == 1) {
numere_citite[numar]++;
}
// Afisarea numerelor distincte
for (int i = 0; i < 1000000; i++) {
if (numere_citite[i] > 0) {
printf("%d ", i);
}
}
// Inchiderea fisierului
fclose(fisier);
return 0;
}
Alte întrebări interesante
Franceza,
8 ani în urmă
Matematică,
8 ani în urmă
Matematică,
8 ani în urmă
Matematică,
8 ani în urmă
Limba română,
8 ani în urmă
Istorie,
9 ani în urmă
Matematică,
9 ani în urmă