Scrieţi secvența care sortează crescător elementele divizibile cu 3 ale unui vector
Răspunsuri la întrebare
Răspuns de
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
Matematică,
8 ani în urmă
Geografie,
8 ani în urmă
Fizică,
8 ani în urmă
Limba română,
8 ani în urmă
Istorie,
8 ani în urmă
Matematică,
9 ani în urmă
Limba română,
9 ani în urmă