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

Scrieţi secvența care sortează crescător elementele divizibile cu 3 ale unui vector

Răspunsuri la întrebare

Răspuns de andrei750238
3

#include <iostream>

using namespace std;

int main(){

   int v[100],n,i,j;

   //Citeste date

   cin >> n;

   for(i=0;i<n;i++) cin >> v[i];

   //Realizeaza o sortare prin selectie

   //Determina pozitia pe care trebuie inserat elementul

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

       //Sari peste elementele nedivizibile cu 3

       if(v[i]%3) continue;

       //Pentru fiecare valoare de dupa v[i], interschimba daca e mai mica decat v[i] si e divizibila cu 3

       for(j=i+1;j<n;j++){

           //Daca nu e divizibil cu 3 sari peste

            if(v[j]%3) continue;

            //Daca e mai mic schimba

            if(v[j]<v[i]) swap(v[i], v[j]);

       }

   }

   //Afiseaza vectorul sortat

   for(i=0;i<n;i++) cout << v[i] << " ";

}

Anexe:
Alte întrebări interesante