Informatică, întrebare adresată de pmarian98, 8 ani în urmă

#131 SortCif2


Se dă un vector cu n elemente numere întregi.

Cerinţa
Să se ordoneze crescător elementele unui vector crescător după prima cifră.

Date de intrare
Fişierul de intrare sortcif2.in conţine pe prima linie numărul n si pe a doua linie n numere întregi separate prin spaţii.

Date de ieşire
Fişierul de ieşire sortcif2.out va conţine pe prima linie cele n elemente ale vectorului, ordonate conform cerinței, separate printr-un spațiu.

Restricţii şi precizări
0 < n ≤ 100
valoarea absolută a numerelor de pe a doua linie a fişierului de intrare va fi mai mică decât 2 30



Exemplu
sortcif2.in

6
89 2246 91 4005 51 721
sortcif2.out

2246 4005 51 721 89 91

Răspunsuri la întrebare

Răspuns de uleiaalex
3

Sa iti fie de folos. Este in C++.


#include <iostream>


using namespace std;


void AfisareVector(int *a, int n)

{

  for(int i = 0; i < n; i++)

  {

      cout<<a[i]<<" ";

  }

  cout<<endl;

}


int PrimaCifra(int nr)

{

   int the_c=0;

   while(nr>0)

   {

       the_c = nr%10;

       nr/=10;

   }

   return the_c;

}


int main()

{

  int n;int *v;

  cin>>n;

 

  v = new int[n];

 

  for(int i = 0; i < n; i++)

  {

      cout<<"v["<<i<<"]=";

      cin>>v[i];

  }


  AfisareVector(v,n);

 

  bool sortat = true;

  do

  {

      sortat = true;

      for(int i = 0; i < n-1; i++)

      {

          if(PrimaCifra(v[i])>PrimaCifra(v[i+1]))

          {

              int aux = v[i];

              v[i] = v[i+1];

              v[i+1] = aux;

              sortat = false;

          }

      }

  }while(!sortat);

 

  AfisareVector(v,n);

 

  return 0;

}

Anexe:

pmarian98: mersi
uleiaalex: Sa iti fie de folos!
Alte întrebări interesante