Avatar
Peta
Člen
Avatar
Peta:

Ahoj,
potřebuji pomoct s tříděním prvků a počítáním srovnání a výměn. Nevíte někdo, jak mám udělat to počítání a ještě jak udělat třídění postupně pro 10, 20, 50, 100, 200, 500, 1000, 2000, 5000 náhodně vygenerovaných čísel? Jsem úplný začátečník a nemůžu na to přijít.

#include <stdio.h>
#include <stdlib.h>
#include <time.h>
int main()
{

        int pole[10];
        int i, j, n, temp;
        n = 10;
        for (i = 0; i < n; i++)
                pole[i] = rand();

        /*Sort*/
        for (i = 1; i < n; i++) {
                j = i;
                while ((j > 0) && (pole[j - 1] > pole[j])) {
                        temp = pole[j - 1];
                        pole[j - 1] = pole[j];
                        pole[j] = temp;
                        j--;
                }
        }
        /* tisk */
        printf("Sorted Array\n");
        for (i = 0; i < n; i++)
                printf("%d \n", pole[i]);
        return 0;
}
 
Odpovědět 14.12.2015 20:56
Avatar
Libor Šimo (libcosenior):

Vytvorenie polí z náhodných čísiel, ich zoradenie a výpis.

#include <stdio.h>
#include <stdlib.h>
#include <time.h>

void vytvor_zotried_vypis_pole(int *pole, int velkost_pola)
{
    int i, j, temp;

    for (i = 0; i < velkost_pola; i++)
        pole[i] = rand() % velkost_pola + 1;
    for (i = 1; i < velkost_pola; i++) {
        j = i;
        while ((j > 0) && (pole[j - 1] > pole[j])) {
            temp = pole[j - 1];
            pole[j - 1] = pole[j];
            pole[j] = temp;
            j--;
        }
    }
    printf("Zoradene pole o %d nahodnych cislach v rozsahu 1 az %d:\n", velkost_pola, velkost_pola);
    for (i = 0; i < velkost_pola; i++)
        printf("%d, ", pole[i]);
    printf("\n\n");
}

int main()
{
    int pole1[10], pole2[20], pole3[50], pole4[100]; //, pole5[200], pole6[500], pole7[1000], pole8[2000], pole9[5000];

    /** inicializacia generatora nahodnych cisiel */
    srand(time(0)); // toto ti chýbalo
    vytvor_zotried_vypis_pole(pole1, 10);
    vytvor_zotried_vypis_pole(pole2, 20);
    vytvor_zotried_vypis_pole(pole3, 50);
    vytvor_zotried_vypis_pole(pole4, 100);
    /*vytvor_zotried_vypis_pole(pole5, 200);
    vytvor_zotried_vypis_pole(pole6, 500);
    vytvor_zotried_vypis_pole(pole7, 1000);
    vytvor_zotried_vypis_pole(pole8, 2000);
    vytvor_zotried_vypis_pole(pole9, 5000);*/

    return 0;
}
Nahoru Odpovědět 15.12.2015 11:33
Aj tisícmíľová cesta musí začať jednoduchým krokom.
Avatar
Peta
Člen
Avatar
Odpovídá na Matyáš Černohous (Matesak)
Peta:

Jo jo, když někdo neumí dymanické pole, tak je to potom těžké.

 
Nahoru Odpovědět 16.12.2015 11:36
Děláme co je v našich silách, aby byly zdejší diskuze co nejkvalitnější. Proto do nich také mohou přispívat pouze registrovaní členové. Pro zapojení do diskuze se přihlas. Pokud ještě nemáš účet, zaregistruj se, je to zdarma.

Zobrazeno 4 zpráv z 4.