abclinuxu.cz AbcLinuxu.cz itbiz.cz ITBiz.cz HDmag.cz HDmag.cz abcprace.cz AbcPráce.cz
AbcLinuxu hledá autory!
Inzerujte na AbcPráce.cz od 950 Kč
Rozšířené hledání
×
    včera 16:44 | Nová verze

    Svobodný multiplatformní herní engine Bevy napsaný v Rustu byl vydán ve verzi 0.18. Díky 174 přispěvatelům.

    Ladislav Hagara | Komentářů: 2
    včera 15:11 | IT novinky

    Miliardy korun na digitalizaci služeb státu nestačily. Stát do ní v letech 2020 až 2024 vložil víc než 50 miliard korun, ale původní cíl se nepodařilo splnit. Od loňského února měly být služby státu plně digitalizované a občané měli mít právo komunikovat se státem digitálně. Do tohoto data se povedlo plně digitalizovat 18 procent agendových služeb státu. Dnes to uvedl Nejvyšší kontrolní úřad (NKÚ) v souhrnné zprávě o stavu digitalizace v Česku. Zpráva vychází z výsledků víc než 50 kontrol, které NKÚ v posledních pěti letech v tomto oboru uskutečnil.

    Ladislav Hagara | Komentářů: 7
    včera 13:55 | IT novinky

    Nadace Wikimedia, která je provozovatelem internetové encyklopedie Wikipedia, oznámila u příležitosti 25. výročí vzniku encyklopedie nové licenční dohody s firmami vyvíjejícími umělou inteligenci (AI). Mezi partnery encyklopedie tak nově patří Microsoft, Amazon a Meta Platforms, ale také start-up Perplexity a francouzská společnost Mistral AI. Wikimedia má podobnou dohodu od roku 2022 také se společností Google ze skupiny

    … více »
    Ladislav Hagara | Komentářů: 0
    včera 02:22 | Nová verze

    D7VK byl vydán ve verzi 1.2. Jedná se o fork DXVK implementující překlad volání Direct3D 5, 6 a 7 na Vulkan. DXVK zvládá Direct3D 8, 9, 10 a 11.

    Ladislav Hagara | Komentářů: 0
    včera 02:00 | Nová verze

    Byla vydána verze 12.0.0 knihovny libvirt (Wikipedie) zastřešující různé virtualizační technologie a vytvářející jednotné rozhraní pro správu virtuálních strojů. Současně byl ve verzi 12.0.0 vydán související modul pro Python libvirt-python. Přehled novinek v poznámkách k vydání.

    Ladislav Hagara | Komentářů: 0
    15.1. 19:22 | Humor

    CreepyLink.com je nový zkracovač URL adres, 'díky kterému budou vaše odkazy vypadat tak podezřele, jak je to jen možné'. Například odkaz na abclinuxu.cz tento zkracovač převádí do podoby 'https://netflix.web-safe.link/logger_8oIlgs_free_money.php'. Dle prohlášení autora je CreepyLink alternativou ke zkracovači ShadyURL (repozitář na githubu), který dnes již bohužel není v provozu.

    NUKE GAZA! 🎆 | Komentářů: 3
    15.1. 12:33 | IT novinky

    Na blogu Raspberry Pi byla představena rozšiřující deska Raspberry Pi AI HAT+ 2 s akcelerátorem Hailo-10 a 8 GB RAM. Na rozdíl od předchozí Raspberry Pi AI HAT+ podporuje generativní AI. Cena desky je 130 dolarů.

    Ladislav Hagara | Komentářů: 3
    15.1. 12:11 | Komunita

    Wikipedie slaví 25. výročí svého založení. Vznikla 15. ledna 2001 jako doplňkový projekt k dnes již neexistující encyklopedii Nupedia. Doména wikipedia.org byla zaregistrována 12. ledna 2001. Zítra proběhne v Praze Večer svobodné kultury, který pořádá spolek Wikimedia ČR.

    Ladislav Hagara | Komentářů: 1
    15.1. 04:44 | Nová verze

    Po více než dvou letech od vydání předchozí verze 2.12 byla vydána nová stabilní verze 2.14 systémového zavaděče GNU GRUB (GRand Unified Bootloader, Wikipedie). Přehled novinek v souboru NEWS a v aktualizované dokumentaci.

    Ladislav Hagara | Komentářů: 2
    15.1. 02:22 | Nová verze

    Google Chrome 144 byl prohlášen za stabilní. Nejnovější stabilní verze 144.0.7559.59 přináší řadu novinek z hlediska uživatelů i vývojářů. Podrobný přehled v poznámkách k vydání. Opraveno bylo 10 bezpečnostních chyb. Vylepšeny byly také nástroje pro vývojáře (YouTube).

    Ladislav Hagara | Komentářů: 4
    Které desktopové prostředí na Linuxu používáte?
     (14%)
     (5%)
     (0%)
     (9%)
     (19%)
     (3%)
     (6%)
     (3%)
     (11%)
     (42%)
    Celkem 463 hlasů
     Komentářů: 12, poslední 14.1. 21:12
    Rozcestník

    Dotaz: Pole v C

    15.12.2019 14:27 Skse
    Pole v C
    Přečteno: 897×
    Zdravím, dostali jsme dobrovolný úkol před testem, Pole v C. Zadání je v příloze (docx. i zdroj. kod), zeleně označeno je hotové a funkční a s červeně označeným si nevím rady. Potřeboval bych program dokončit. Děkuji za všechny rady.

    Odpovědi

    15.12.2019 14:31 Skse
    Rozbalit Rozbalit vše Re: Pole v C
    Zadání
    15.12.2019 14:36 Skse
    Rozbalit Rozbalit vše Re: Pole v C
    Příloha:
    Zde
    15.12.2019 14:36 Skse
    Rozbalit Rozbalit vše Re: Pole v C
    Příloha:
    Zdroj. kod
    15.12.2019 15:20 rastos | skóre: 63 | blog: rastos
    Rozbalit Rozbalit vše Re: Pole v C
    2. Keď hľadáš maximum tak prechádzaš pole, porovnávaš či aktuálny prvok poľa je väčší ako maximum, ktoré si doteraz našiel a ak je, tak si odložíš toto nové maximum. Rovnako si v tom istom cykle môžeš odpamätať aj index, na ktorom si ho našiel.

    3. rozdiel alebo súčin prvkov - ktorých? Ešte pri súčine by sa dalo hádať, že súčin všetkých prvkov poľa. Ale rozdiel ...?

    4. program si na začiatku vypýta počet prvkov. To je jediné miesto, kde vyžaduješ vstup od používateľa. Domnievam sa, že aj v časti č. 4 je potrebné pýtať sa niečo užívateľa: hodnotu s ktorou sa bude robiť porovnanie a to či má vypisovať prvky menšie, alebo väčšie. V druhej časti sa potom program musí spýtať na hranice intervalu.

    5. ak je p[i] deliteľné číslom k, tak platí, že p[i]%k==0. Takže si musíš vypýtať od užívateľa číslo, pre ktoré budeš testovať či p[i]%k==0 a je to.

    Pedant: system("pause") ... je windowsoidný trik, aby commandline-ový program na windowsoch neschoval okno hneď ako skončí. Radšej by som videl niečo ako printf("press enter"); scanf("%*s");

    Pedant: ľahko sa ti môže stať, že 'max' či 'min' budú systémom definované funkcie, alebo makrá a dôjde ku konfliktu pri kompilácii. Odporučil by som pomenovať to nejako inak.
    16.12.2019 13:27 debian+
    Rozbalit Rozbalit vše Re: Pole v C
    Pedant: system("pause") ... je windowsoidný trik, aby commandline-ový program na windowsoch neschoval okno hneď ako skončí. Radšej by som videl niečo ako printf("press enter"); scanf("%*s");
    Lepsie je:
    puts("Stlacenim klavesy program skonci.");
    getchar();
    16.12.2019 14:47 rastos | skóre: 63 | blog: rastos
    Rozbalit Rozbalit vše Re: Pole v C
    Stlačením enter-u. Pokiaľ neprepne terminál do raw módu.
    17.12.2019 02:16 debian+
    Rozbalit Rozbalit vše Re: Pole v C
    Pravda.

    Tak napises hlasku, ze enterom pokracujes.
    NUKE GAZA! 🎆 avatar 15.12.2019 18:41 NUKE GAZA! 🎆 | skóre: 37 | blog: Grétin blogísek | 🇮🇱==❤️ , 🇵🇸==💩 , 🇪🇺==☭
    Rozbalit Rozbalit vše Re: Pole v C

    se tady jako nějak roztrhl s polema pytel nebo co :D :D :D :D

    nóóóóóóóóóó jako já za tede domácák udělám ale ty budeš pro mě taky muset něco udělat. potřebuju na středu 10ti až 15ti minutovou prezentaci v powerpointu s patnácti slajdama na děják. je to něco s husitama žiškou bytvou na žiškově a tak dál. bereš?? jestli jo tak tady je tvuj zdrojáček!!!! ;D

    jo a pozor na místa kde je TODO nebo FIXME tam je jako potřeba něco ještě udělat nebo opravit ;D

     

    #include <stdio.h>      
    #include <stdlib.h>     
    #include <time.h> 
    
    //předpokládám že políčko není seřazený takže musíme projet celý :'(
    //kdybys to chtě někdy jako optimalizovat tak by seřatení podle velikosti měl bejt tvuj první krok si myslim protože s tim se pak dá zajímavě čarovat
    
    //prvky větší než value
    void showGreaterThan(int * arr,unsigned int size,int value)
    {
        printf("Vypis prvku pole vetsich nez %d!!!\n",value);
        unsigned int curr;
        for(curr=0;curr<size;curr++)
            if(arr[curr]>value)
                printf("%d ",arr[curr]);
        printf("\n");
    }
    
    //prvky menší než value
    void showLessThan(int * arr,unsigned int size,int value)
    {
        printf("Vypis prvku pole vetsich nez %d!!!\n",value);
        unsigned int curr;
        for(curr=0;curr<size;curr++)
            if(arr[curr]<value)
                printf("%d ",arr[curr]);
        printf("\n");
    }
    
    //prvky z intervalu
    void showInterval(int * arr,unsigned int size,int intervalMin,int intervalMax)
    {
        printf("Vypis prvku pole z intervalu <%d;%d> !!!\n",intervalMin,intervalMax);
        unsigned int curr;
        unsigned int sum=0;
        for(curr=0;curr<size;curr++)
            //pokud je jako hodnota větší nebo rovna min a současně menší nebo rovna max 
            if(arr[curr]>=intervalMin && arr[curr]<=intervalMax)
            {
                printf("%d ",arr[curr]);
                sum++;
            }
            printf("\nBylo nalezeno %u prvku z intervalu <%d;%d> !!!!!\n",sum,intervalMin,intervalMax);
    }
    
    //si jako myslim že se po nás chce dělitelnost bezezbytku
    void findByDivisibility(int * arr,unsigned int size,int value)
    {
        printf("Vypis prvku pole delitelnych bezezbytku cislem %d!!!\n",value);
        unsigned int curr;
        for(curr=0;curr<size;curr++)
            if(arr[curr]%value==0)
                printf("%d ",arr[curr]);
            printf("\n");
    }
    
    // FIXME otázečce 3. uplně dobře nerozumim :'( se jako po nás chce abysme odevšech prvků jakože něco odečetli nebo je jakože něčim vynásobili a určili pak průměr nebo co jako dopytle?!?! :'( :'( :'(
    //nebo máme jako všecho odsebe odečíst nebo to jako do sebe všecko snásobit?!?!?!
    //ať si ten pitomej kantor jako zajde na kurz srozumitelnýho psaní zadání jako!!!! vyřiď mu jako že ho tam posílá gréta a vraž mu takovou facku až mu odlítnou brejle z vokna!!!!!! tak!!!!!! mi bylo jako jasný že to bude nějaká pitomina už když jsem četla v zadátí to *.docx jako!!!!  >:C
    
    
    void strangeFunction(int * arr, unsigned int size)
    {
        printf("Veliky veci se tady dejou jako!!!!\n");//FIXME
        //prvni prvek zpracujeme pred cyklem 
        int sum=arr[0];
        int product=arr[0];//jakože součin. ten nemuze byt na zacatku nula
        int diff=arr[0];//ze zadani neni jasny co v 'diff' ma bejt nazacatku
        unsigned int curr;
        
        for(curr=1;curr<size;curr++)
        {
            sum+=arr[curr];
            diff-=arr[curr];
            product*=arr[curr];
        }
        
        int avg=sum/size;
        printf("\nRozdil: %d",diff);
        printf("\nSoucin: %d",product);
        printf("\nPrumer: %d",avg);
        printf("\n");
    }
    
    void findMax(int * arr,unsigned int size)
    {
        printf("Hledam maximum!!!\n");
        unsigned int curr;
        unsigned int maxCurr=0;//pozice maxima
        int max=arr[0];//maximální hodnota zatim
        for(curr=1;curr<size;curr++)
        {
           if(arr[curr]>max)
           {
               max=arr[curr];
               maxCurr=curr;
           }
        }
        //normální lidi nejsou moc zvyklí počítat od nuly proto curr +1 ;D 
        printf("Maximalni hodnota v poli je %d a je to %u. prvek pole!!!!\n",max,maxCurr+1);
    }
    
    void findMin(int * arr,unsigned int size)
    {
        printf("Hledam minimum!!!\n");
        unsigned int curr;
        unsigned int minCurr=0;//pozice minima
        int min=arr[0];//minimální hodnota zatim
        for(curr=1;curr<size;curr++)
        {
           if(arr[0]<min)
           {
               min=arr[curr];
               minCurr=curr;
           }
        }
        //normální lidi nejsou moc zvyklí počítat od nuly proto curr +1 ;D 
        printf("Minimalni hodnota v poli je %d a je to %u. prvek pole!!!!\n",min,minCurr+1);
    }
    
    int main()              
    {      
        int i,n,s,max,min,soucet,kolik;
        float prumer;
        
        printf("Zadej pocet prvku pole n =  ");
        scanf("%d", &n);printf("\n");
        
        int p[n];  //Pole n celých čísel.
        
        //Hodnoty se náhodně vygenerují z intervalu <1,100> .
        srand((unsigned) time(NULL));                              
        for (i=0;i<n;i=i+1)  
        p[i]=(rand()%100)+1;
         
        // 0.                            
        //Výpis pole na řádek.
        //si myslim jak je jako ten kantor pitomej tak stopro bude chtít nějaký jakože formátování si myslim. už podle tý zamidrákovaný egocentrický větičky 'co vidím na obrazovce' :D :D
        printf("Prvky pole jsou: ");  
        for (i=0;i<n;i=i+1) 
        printf("%4d",p[i]);
    
        
        s=0;
        
        // 1.
        //Vypíše sudé prvky z pole
        printf("\n");printf("\n");
        printf("Sude prvky pole jsou: ");
        for (i=0;i<n;i=i+1)
            if ((p[i]%2)==0) {
                             printf("%4d",p[i]);
                             s=s+1;
                             }                         
    
        // 1.
        //Určení počtu sudých prvků
        printf("\n");printf("\n");    
        printf("Pocet sudych prvku pole je %d ",s);
        printf("\n");printf("\n");
    
        findMax(p,n);
        findMin(p,n);
        
        strangeFunction(p,n);
        
        // 4.
        //Vypíše prvky podle podmínky větší než zadaná hodnota
        printf("Hledani vetsich prvku nez zadana hodnota\n");
        printf("koukej zadat hodnotu ucitelskej!!!!!\n");
        scanf("%d",&kolik);
        showGreaterThan(p,n,kolik);
        
        
        
        // 4.
        //Vypíše prvky z intervalu zadané uživatelem a určí jejich počet
        //TODO možná by bylo dobrý hlídat jestli je minimum skutečně jako menší než maximum
        int intervalMin,intervalMax;
        printf("Hledani prvku z intervalu\n");
        printf("Zadej minimalni hodnotu intervalu ucitelskej: \n");
        scanf("%d",&intervalMin);
        printf("Zadej maximalni hodnotu intervalu ucitelskej: \n");
        scanf("%d",&intervalMax);
        showInterval(p,n,intervalMin,intervalMax);
        
        
        
        // 5. 
        //Nalezne prvek podle zadane pozice
        //FIXME musis si pohlidat aby kolík byl platnej index toho políčka
        //nemůže bejt menší než nula a větší nebo roven dýlky pole
        //návod máš vtý pojistce dělení pole
        printf("\n");
        printf("Zadej kolikaty prvek z pole chceme: ");
        scanf("%d", &kolik);
        printf(" %d. prvek z pole je: %d",kolik, p[kolik]);
        printf("\n");
        
        // 5.
        //Výpis prvků z pole dělitelné uživatelem
        printf("Hledani prvku bezezbytku delitelnych hodnotou zadanou kantorem\n");
        printf("koukej zadat hodnotu ucitelskej!!!!!\n");
        scanf("%d",&kolik);
        int debilityCounter=0;
        while(kolik==0)
        {
            if(debilityCounter++<10)
            {
                printf("Nulickou delit nejde ty jeden kantore hloupej pitomej jeden!!!\nZadej znova a tentokrat poradně!!!\n");
                scanf("%d",&kolik);
            }
            else
            {
                printf("s tebou to je marny ucitelskej. Cau!!!!\n");
                return 0;
            }
            
        }
        findByDivisibility(p,n,kolik);
    
        printf("\n");
        
        system("pause"); //TODO neni to tady zbytecny?? to je něco pro windows 'terminál' ??  
        return 0;           
    }
    
    15.12.2019 20:23 Radovan
    Rozbalit Rozbalit vše Re: Pole v C
    Čekni Opráski, tam se to Žiškou a Zmikundem hemží ;-)
    NUKE GAZA! 🎆 avatar 17.12.2019 12:38 NUKE GAZA! 🎆 | skóre: 37 | blog: Grétin blogísek | 🇮🇱==❤️ , 🇵🇸==💩 , 🇪🇺==☭
    Rozbalit Rozbalit vše Re: Pole v C
    NUKE GAZA! 🎆 avatar 17.12.2019 12:33 NUKE GAZA! 🎆 | skóre: 37 | blog: Grétin blogísek | 🇮🇱==❤️ , 🇵🇸==💩 , 🇪🇺==☭
    Rozbalit Rozbalit vše Re: Pole v C
    17.12.2019 17:18 Jardik
    Rozbalit Rozbalit vše Re: Pole v C
    Hezke, ale dal bych minimalne o 3 stupne horsi znamku za nepouziti size_t pro velikost pole. :-)
    NUKE GAZA! 🎆 avatar 17.12.2019 17:45 NUKE GAZA! 🎆 | skóre: 37 | blog: Grétin blogísek | 🇮🇱==❤️ , 🇵🇸==💩 , 🇪🇺==☭
    Rozbalit Rozbalit vše Re: Pole v C

    vidiš to a přitom by tě jako mělo trápit že se věci nedějou v co nejmíň cyklech než jakože typedef slovíčkaření ;D

    vylepšim když bude prezentace na zejtra na děják ;D

    Založit nové vláknoNahoru

    Tiskni Sdílej: Linkuj Jaggni to Vybrali.sme.sk Google Del.icio.us Facebook

    ISSN 1214-1267   www.czech-server.cz
    © 1999-2015 Nitemedia s. r. o. Všechna práva vyhrazena.