Informatică, întrebare adresată de stimululderas2014, 7 ani în urmă

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 Utilizator anonim
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