👤

Am nevoie de ajutor. multumesc.

Am Nevoie De Ajutor Multumesc class=

Răspuns :

#include <iostream>
#include <fstream>
using namespace std;

int main()
{
    ifstream fisier("bac.in");
    int i,j,x,k=0,maxx=0;
    int v[6]={0};
    while(fisier>>x)
        v[x]++;
    for(i=0;i<5;i++)
    {
        maxx=0;
        for(j=0;j<5;j++)
        {
          if(v[j]>maxx)
          {
          maxx=v[j];
          k=j;
          }
        }
        cout<<k<<" "<<v[k]<<endl;
        v[k]=0;
    }

}
#include <iostream>
#include <fstream>
using namespace std;
ifstream fin("bac.in");
ofstream fout("bac.out");
//Acesta va fi structul care va tine elementele de la 1 la 5 si de cite ori se repeta fiecare
struct cod{int care;int nr;}b[6];
//Aici sunt variabilele care se folosesc in program
int a[100001],unu=0,doi=0,trei=0,patru=0,cinci=0,n,i=0,j,t,tmp;
//Functia quicksort pentru a sorta rapid toate elementele din problema
//care le-am salvat intr-un array a
void quicksort(int left,int right)
{
    t=left;
    j=right;
    int center=a[(left+right)/2];
    while(t<=j)
    {
        while(a[t]<center)t++;
        while(a[j]>center)j--;
        if(t<=j)
        {
            tmp=a[t];
            a[t]=a[j];
            a[j]=tmp;
            t++;
            j--;
        }
    }
    if(left<j)quicksort(left,j);
    if(t<right)quicksort(t,right);
}
int main()
{
    //Introducem datele in arrayiul a, i-1 va fi cite numere sunt in a
    while(!fin.eof())
    {
        i++;
        fin>>a[i];
    }
    // Sortam de la mic la mare toate numerele
    quicksort(1,i-1);
    // Vedem cite numere sunt 1-5, si astfel marim variabilele
    for(j=1;j<i;j++)
    {
        if(a[j]==1)unu++;
        else if(a[j]==2)doi++;
        else if(a[j]==3)trei++;
        else if(a[j]==4)patru++;
        else if(a[j]==5)cinci++;
    }
    // Acunm introducem in structul b.care ce cifra este si in b.nr cite cifre de 1-5 exista
    b[1].care=1; b[1].nr=unu;
    b[2].care=2; b[2].nr=doi;
    b[3].care=3; b[3].nr=trei;
    b[4].care=4; b[4].nr=patru;
    b[5].care=5; b[5].nr=cinci;
    //Aici este sortarea bubblesort pentru cite numere de fiecare tip exista, deci cite numere
    //sunt se va schimba cu locul iar ce tip de numar este deasemena se va schimba in dependenta de cite sunt de la mare la mic
    for(t=1;t<5;t++)
     for(j=1;j<5;j++)
      if(b[j].nr<b[j+1].nr)
       {
          cod temp=b[j];
          b[j]=b[j+1];
          b[j+1]=temp;
       }
    //Acum afisam numerele obtinute, mai intii numaru lde ordine apoi cite sunt de la mare la mic
    for(i=1;i<=5;i++)cout<<b[i].care<<" "<<b[i].nr<<endl;
    return 0;
}