Hyluss icon

Sortowanie babelkowe

Hyluss | PRO | 04/12/16 10:38:19 PM UTC | 0 ⭐ | 488 👁️ | Never ⏰ | []
C |

2.14 KB

|

None

|

0 👍

/

0 👎

// SortowanieBabelkowe.cpp : Defines the entry point for the console application.
//
 
#include "stdafx.h"
#include <conio.h>
#include <malloc.h>
#include <cstdlib>
#include <cstdio>
#include <ctime>
 
 
int _tmain(int argc, _TCHAR* argv[])
{
int ile;    
int* tab;
 
    printf ("ile liczb posortowac?\n");
    scanf ("%d",&ile);
    printf ("\n");
    tab = (int*) malloc ( ile * sizeof (tab) );
    srand ( time (NULL) );
 
    for (int i=0; i<ile; i++)
    {
        tab[i] = (int) (rand() / (RAND_MAX + 1.0) * 100.0);
        printf ("%d \n", tab[i]);
    }
 
/////////////////////////////////////////
    int a;
    int koniec = ile;
    do {
 
    for (int i=0; i<ile-1 ; i++)
    {
        if (tab[i] > tab [i+1])
        {
            a = tab[i+1];
            tab [i+1] = tab[i];
            tab[i] = a;     
        }
    }
    koniec--;
    } while ( koniec != 0);
 
    for (int i=0; i<ile ; i++)
    {
        printf ("Tab [%d] - %d\n", i,tab[i]);
    }
 
    puts ("\nlloool\n");
    printf ("Teraz tablice 2-dynamiczne\n");
 
int** tablica;
int kolumny;
int wiersze;
 
    printf ("ile wierszy?\n");
    scanf ("%d",&wiersze);
    printf ("ile kolumn?\n");
    scanf ("%d",&kolumny);
    printf ("\n");
 
    tablica = (int**) malloc (sizeof (int*) * kolumny );
    for (int k=0; k<kolumny;k++)
    {
        tablica[k] = (int*) malloc (sizeof (int) * wiersze);
    }
 
    printf ("KOLUMNY | WIERSZE\n\n\n");
    srand(time(NULL) );
 
    for (int k=0; k<kolumny;k++)
    {
        for (int w=0; w<wiersze; w++)
        {
            tablica[k][w] = (rand() % 100 );
            printf ("tablica [%d][%d] - %d\n",k,w,tablica[k][w]);
        }
    }
 
    printf ("\n\n");
 
    int koncz;
 
    for (int k=0; k<kolumny;k++ )
    {
        koncz = wiersze-1;
        do {
            for (int w=0; w<koncz; w++)
            {
                if (tablica[k][w] > tablica[k][w+1])
                {
                    int q = tablica[k][w];
                    tablica[k][w] = tablica[k][w+1];
                    tablica[k][w+1] = q;
                }
            printf ("\nTablica [%d][%d] - %d\n",k,w, tablica[k][w]);
            printf ("Tablica [%d][%d] - %d\n",k,w+1, tablica[k][w+1]);
        
            }
            koncz--;
        } while (koncz);    
    }
 
    puts("\n\n");
    for (int k=0; k< kolumny; k++)
    {
        for (int w=0; w<wiersze; w++)
        {
            printf ("Tablica [%d][%d] - %d\n",k,w, tablica[k][w]);
        }   
    puts("\n");
    }
 
    _getch();
    return 0;
}

Comments

  •  icon
    01/01/70 12:00:00 AM UTC
    Plain Text |

    0 B

    |

    👍

    /

    👎