Probleme de informatică
Clasa a IX-a
Elementele de bază C++ (46)
Subprograme predefinite (1)
Fişiere text (2)
Algoritmi elementari (109)
Tablouri unidimensionale (83)
Tablouri bidimensionale (64)
Probleme diverse (13)
Clasa a X-a
Subprograme (funcții) (87)
Şiruri de caractere (49)
Tipul înregistrare (26)
Recursivitate (57)
Alocarea dinamică a memoriei (2)
Liste înlănţuite (25)
Algoritmul lui Lee (1)
Clasa a XI-a
Metoda "Divide et impera" (12)
Metoda Backtracking (85)
Metoda Greedy (6)
Programare dinamică (18)
Grafuri neorientate (37)
Grafuri orientate (38)
Arbori (33)
Clasa a XII-a
Elemente de bază C# (32)
POO în C# (13)
Programare vizuală în C# (10)
Examen de bacalaureat
Competențe digitale
Examen de atestat
Admitere UBB (18)
Din fisierul f.in se citesc un numar n si apoi n fractii. Sa se scrie in fisierul f.out doar fractiile reductibile din fisierul f.in.

#include<fstream.h>
#include<string.h>
struct fractie
{
   int num,nr;
};
fractie a[100];
ifstream f("f.in");
ofstream g("f.out");
void citire(fractie &e)
{
   f>>e.num;
   f>>e.nr;
}
void afisare(fractie e)
{
   g<<e.num<<"/"<<e.nr;
   g<<endl;
}
int cmmdc(int a,int b)
{
   while(a!=b)
   if(a>b)
   a=a-b;
   else
   b=b-a;
  return a;
}
int main()
{
    int n,i,j;
    f>>n;
    for(i=1;i<=n;i++)
    citire(a[i]);
    for(i=1;i<=n;i++)
    if(cmmdc(a[i].num,a[i].nr)==1)
    {
      for(j=i;j<=n-1;j++)
      a[j]=a[j+1];
      n--;
    }
    for(i=1;i<=n;i++)
    afisare(a[i]);
 f.close();
 g.close();
 return 0;
}

19 oct 2018
Site-ul conține 867 de probleme rezolvate
Copyright © 2009-2018 Muresan Vasile Ciprian