Tyto stránky již nejsou udržovány. Obsah je postupně přesouván/aktualizován na adrese chytrosti.marrek.cz.

1/1

Zdrojové soubory z výuky

Na této stránce jsou k dispozici zdrojové soubory, které jsem vytvářel při výkladu během výuky. Nejsou to ukázkové a bezchybné zdrojové soubory. Ba naopak, jsou to pracovní neučesané verze, které vznikaly interaktivně ve výuce, často s cílem ukázat, že "takto se to nemá".

20120112-Thu-nahodny-obrazek.c
   1 /*
   2  * Soubor:  20120105-Thu-matice-obrazek.c
   3  * Datum:   05.01.2012 08:27
   4  * Autor:   Marek Nožka, nozka <@t> spseol <d.t> cz
   5  * Licence: GNU/GPL 
   6  * Úloha:   
   7  * Popis:   
   8  ****************************************************/
   9 #define _ISOC99_SOURCE
  10 #define _GNU_SOURCE
  11 #include <stdio.h>
  12 #include <stdbool.h>
  13 #include <stdlib.h>
  14 #include <ctype.h>
  15 
  16 #define RADKU 128
  17 #define SLOUPCU 128
  18 #define ABCD ('z'-'a'+1)
  19 
  20 
  21 /****************************************************
  22  *               Hlavní program.
  23  ****************************************************/
  24 int main(void)
  25 {
  26     int i, j;
  27     int znak;
  28     char matice[RADKU][SLOUPCU];
  29 
  30 /* - je černá 
  31  * + je bílá */
  32 
  33     /* naplním matici daty */
  34     i = 0;
  35     while ((znak = getchar()) != EOF && i < RADKU * SLOUPCU) {
  36         znak = tolower(znak);
  37         if ( isalpha(znak) ) {
  38             matice[0][i] = znak;
  39             i++;
  40         }
  41     }
  42     j=0;
  43     while (i < RADKU * SLOUPCU) {
  44         matice[0][i] = matice[0][j];
  45         i++;
  46         j++;
  47     }
  48 
  49     /* uložím matici do obrázku */
  50     FILE *soubor;
  51     soubor = fopen("matice.xpm", "w");
  52     fprintf(soubor, "! XPM2\n%d %d %d 1\n", RADKU, SLOUPCU, ABCD);
  53     for (i = 0; i < ABCD; i++) {
  54         fprintf(soubor, "%c c #%02x%02x%02x\n", 'a' + i,
  55                 rand() % 256, rand() % 256, rand() % 256);
  56     }
  57     for (i = 0; i < RADKU; i++) {
  58         for (j = 0; j < SLOUPCU; j++) {
  59             fputc(matice[i][j], soubor);
  60         }
  61         fputc('\n', soubor);
  62     }
  63 
  64     fclose(soubor);
  65 
  66 
  67 
  68     return 0;
  69 }
`--> stáhnout

Licence Creative Commons Valid XHTML 1.0 Strict Valid CSS! Antispam.er.cz Blog: Tlapicka.net