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

Bunaaa!
Am nevoie de un subprogram care sa realizeze sortarea in ordine crescatoare prin metoda bulelor, dar si de programul prin care apelez suprograbul si afisez vectorul rezultat dupa sortare. Eu le-am facut pe ambele, dar probabil nu am facut apelul cum trebuie, deoarece citeste n-ul(numarul de elemente), citeste elementele si apoi se inchide. Am mai tot incercat sa rezolv asta si sa ruleze cum trebuie, dar nu am reusit.
Ma intereseaza mai mult acel program, ci nu subprogramul.
Multumesc anticipat.

Răspunsuri la întrebare

Răspuns de TipyPeBrainly
1
Presupun ca lucrezi in C++ si te referi la int main(). Daca da, uite cam asa ar trebui sa arate:
int main()
{
int n, v[100];
cin>>n;
for(int i=0; i<n; i++)
cin>>v[i];
sortare(); // aici tu stii ce parametrii ai
for(int i=0; i<n; i++)
cout<<v[i]<<" ";
}

Asta iti trebuia? afisearea?

TipyPeBrainly: pune acolo in subprg if(v
TipyPeBrainly: pune un else la conditia aia si
TipyPeBrainly: baga OK=1
claudiakoop01: Tot la fel patesc. :| Nu stiu ce este in neregula. Am facut modificarile sugerate de tine.
TipyPeBrainly: nu e bine ca mine stai asa.. ca o sa iti faca OK=1 prea devreme... aici e problema sigur. trebuie Ok=1 undeva dar nu imi dau seama acum ecact
TipyPeBrainly: pune acolade la forul din subprg si inainte de if, pune OK=1;
TipyPeBrainly: asta trebuie sa fie
claudiakoop01: A verificat ceea ce am lucrat o cunostiinta si mi-a spus ca totul este bine. Mi-a trimis poza si rezultatul era cel dorit. Deci, probabil s-a intamplat ceva de la CodeBlocks. Eu n-as fi crezut pentru ca am mai lucrat si nu am avut probleme la rulare, dar se pare ca ceva este. Nu stiu ce o fi avand, dar o sa-l verific cand am timp. Iti multumesc oricum pentru ajutor. Iar pentru ca ti-ai dat silinta ca sa ma ajuti, te apreciez. ^_^
TipyPeBrainly: multumesc
TipyPeBrainly: Nu uita sa imi dai follow in cazul in care ti-a placut raspunsul meu. Voi continua sa raspund la intrebari de informatica de liceu, si poate voi rezolva vreo problema
Răspuns de StarBack
0
Salut. Ti-am lasat solutia problemei mai jos. Bafta in continuare!


#include <iostream>

using namespace std;

void Read(int v[], int n)
{           

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

void Write(int v[], int n)
{       
          cout << endl;
          for (int i = 0; i < n; i++) 
          {                     
                   cout << v[i] << " ";
          }

        cout << endl;
}

void BubbleSort(int v[], int n)
{
       bool found;
       int aux;

       do
      {
                    found = false;

                    for (int i = 0; i < n- 1; i++)
                    {
                             if (v[i] > v[i + 1])
                            {
                                      aux = v[i];
                                      v[i] = v[i + 1];
                                      v[i + 1] = aux;

                                      found = true;
                             }
                     }

       } while (found);
}

int main()
{
      int n, v[100];

      cin >> n;

      Read(v, n);
      BubbleSort(v, n);
      Write(v, n);
 
      return 0;
}
Alte întrebări interesante