Pouze tento týden sleva až 80 % na e-learning týkající se C# .NET
Aktuálně: Postihly zákazy tvou profesi? Poptávka po ajťácích prudce roste, využij slevové akce 80% výuky zdarma!
https://www.itnetwork.cz/csharp
Avatar
Peta
Člen
Avatar
Peta:14.12.2015 20:56

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):15.12.2015 11:33

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.
Tento výukový obsah pomáhají rozvíjet následující firmy, které dost možná hledají právě tebe!
Avatar
Odpovídá na Peta
Matyáš Černohous:16.12.2015 10:52

Zápočtové na UPOLU, co ? :D

 
Nahoru Odpovědět
16.12.2015 10:52
Avatar
Peta
Člen
Avatar
Odpovídá na Matyáš Černohous
Peta:16.12.2015 11:36

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.