Informatică, întrebare adresată de burcalucica66, 9 ani în urmă

Se citeste un vector cu n elemente . sa se afiseze in ordine crescatoare respectiv descrescatoare folosind sortarea prin interclasare . am nevoie de
rezolvarea algoritmului urgent . ofer 60 de puncte !! va rog chiar am nevoie de ea !!

Răspunsuri la întrebare

Răspuns de gergelydavid97
1
#include <iostream>
using namespace std;
///*********************************************
void citeste(int &N, int X[]){    cin >> N ;
    for(int i = 1 ; i <= N ; ++ i)        cin >> X[i] ;}
///*********************************************
void interclasare(int st, int m, int dr, int X[]){
    int B[105] ;    int x = st ;    int k = 1 ;    int y = m + 1 ;
    while(x <= m && y <= dr)        if(X[x] < X[y]) ///Schimb aici semnul ca sa sorteze invers            B[k ++ ] = X[x ++] ;        else B[k ++] = X[y ++] ;
    while(x <= m)        B[k ++] = X[x ++] ;
    while(y <= dr)        B[k ++] = X[y ++] ;
    int t = st ;
    for(int i = 1 ; i <= (dr - st) + 1; i ++ )        X[t ++ ] = B[i] ;}
///*********************************************void divide(int st, int dr, int X[]){    if(st < dr)    {        int m = (st + dr) / 2 ;        divide(st, m, X) ;        divide(m + 1, dr, X) ;        interclasare(st, m, dr, X) ;    }}
///*********************************************
void afisare(int N, int X[]){    ///de la 1 la N este sortat crescator    for(int i = 1 ; i <= N ; ++ i)        cout << X[i] << ' ';
    cout << '\n' ;        ///de la N la 1 ese sortat descrescator    for(int i = N ; i > 0 ; i --)        cout << X[i] << ' ' ;
    cout << '\n' ;}
int main(){    int N, X[105] ;
    citeste(N, X) ;    divide(1, N, X) ;    afisare(N, X) ;
    return 0;}

burcalucica66: ce inseamna acele stelute ? //*********************** ?
HaiducDeDoiBani: //*********************** delimiteaza functiile , "void citeste(..).." aceasta sintaxa declara o functie
burcalucica66: ok , mersi :)
Alte întrebări interesante