Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- /* Se citesc dintr-un fisier perechi de numere naturale pana la citirea a doua valori nule.
- Sa se determine si sa se afiseze pe ecran cate dintre perechi incep cu aceeasi cifra. */
- #include <stdio.h>
- typedef struct
- {
- int nr1,nr2;
- }pereche;
- void citire_fisier(FILE *f, pereche a[], int *n)
- {
- int i=0,x,y;
- while(!feof(f))
- {
- fscanf(f,"%i",&x);
- fscanf(f,"%i",&y);
- if(x!=0 && y!=0)
- {
- a[i].nr1=x;
- a[i].nr2=y;
- i++;
- }
- else
- break;
- }
- *n=i;
- }
- void afisare_perechi(pereche a[],int n)
- {
- int i;
- printf("Perechile citite din fisier sunt:\n");
- for(i=0;i<n;i++)
- printf("(%i,%i)\n",a[i].nr1,a[i].nr2);
- }
- int au_aceeasi_prima_cifra(int x, int y)
- {
- while(x>9)
- x=x/10;
- while(y>9)
- y=y/10;
- if(x==y)
- return 1;
- else
- return 0;
- }
- void nr_perechi(pereche a[], int n, int *nr)
- {
- int i;
- *nr=0;
- for(i=0;i<n;i++)
- if(au_aceeasi_prima_cifra(a[i].nr1,a[i].nr2))
- (*nr)++;
- }
- int main()
- {
- pereche a[30];
- int n,nr;
- FILE *f;
- f=fopen("in.txt","r");
- if(!f)
- printf("Eroare la deschiderea fisierului!");
- else
- {
- citire_fisier(f,a,&n);
- afisare_perechi(a,n);
- nr_perechi(a,n,&nr);
- printf("\nNr. perechilor care incep cu aceeasi cifra este %i\n",nr);
- fclose(f);
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement