Responsive image Boda Szilárd weblapja

Laborfeladatok
1. Töltsünk fel egy n elemű tömböt a billenytűzetről, majd írassuk ki rendezetlen állapotban.
Utána rendezzük növekvő sorrendbe, s írassuk ki a rendezett tömböt.

A tömb rendezését az alábbi dupla forral oldhatjuk meg:



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

             //ha a tomb elso feleben valamelyik elem nagyobb, mint a tomb masodik feleben, csereld ki oket

             if ( v[i]> v[j])
             {
                 aux= v[j];
                 v[j]= v[i];
                 v[i]=aux;

             }

         }

     }


2 Feladat: Írjunk egy C++ programot, amely csökkenő sorrendbe rendezi az előbbi tömböt!

Megoldott feladat:
  Buborékos rendezés
 //szukseges konyvtarak deklaralasa
 #include <iostream>

 using namespace std;

 //fofuggveny
 int main()
 {
 //szukseges valtozok deklaralasa
     int i, j, v[100], aux, n, k=0, p=0;
 //kiirja, hogy n=
     cout<<"n=";
 //beolvassa az n erteket
     cin>>n;
 //vegigmegyunk a tombon s egyenkent beolvassuk az ertekeket
     for(i=0; i<n; i++){
         //kiirja, hogy v[i]=
         cout << "v["<<i<<"]=";
         //beolvassa a v[i] erteket
         cin >> v[i];

     }

     //buborekos rendezes algoritmus
     do
     {
         //kezdetben nincs csere
         p=0;
         //elmegyunk a tomb utolso elotti elemeig
         for (i=0; i<n-1-k; i++)
             //ha a tomb i+1 edik eleme nagyobb az i ediknel, csereljuk oket
         {
             if (v[i]>v[i+1])
             {
                 aux=v[i+1];
                 v[i+1]=v[i];
                 v[i]=aux;
                 //volt csere, tehat a p valtozo 1 lesz
                 p=1;
             }
         }
         //a k erteket noveljuk, mert az utolso k helyen a legnagyobb elemek vannak
         k++;
     }
     while(p==1);
 //kiiras
     for (i=0; i<n; i++)
     {
         //kiirja a v[i] t
         cout << v[i] << " ";
     }
     return 0;
 }