#include // Na nasledujicim radku definujeme konstantu, kterou pak muzeme pouzit kdekoliv // v nasledujicim kodu a prekladac nam za ni dosadi danou hodnotu. // Vyhoda: Pokud se rozhodneme sirku matice zmenit, staci to udelat na jednom miste #define SIRKA_MATICE 10 // Jednoducha funkce pro vypsani obsahu matice // Je potreba jiz pri prekladu znat jeji sirku, pokud je dana jako argument void vypsat_matici(int matice[][SIRKA_MATICE], int vyska) { // Prochazime od indexu 0 az po index o jedna mensi nez je delka pro obe dve dimenze // (coz je index posledniho prvku) int i = 0; while (i < vyska) { int j = 0; while (j < SIRKA_MATICE) { // Vypise obsah bunky (oddeluje tabulatorem) a posune iterator j o 1 printf("%d\t", matice[i][j]); j = j+1; } // Zalomi radek printf("\n"); // Posune na dalsi radek i = i+1; } } // Vytvor matici a vypln ji nulami void matice_nulova() { // Vytvorime si matici celych cisel o rozmerech 5 x 10 int vyska = 5; int matice[vyska][SIRKA_MATICE]; // Vyska matice smi byt zadana promennou, // pouze pokud zna prekladac jeji hodnotu // Vynulujeme ji int i = 0; // Zde si uchovavame index radku while (i < vyska) { int j = 0; // A zde index sloupce while (j < SIRKA_MATICE) { matice[i][j] = 0; j = j + 1; } i = i + 1; } // Vypiseme jeji obsah vypsat_matici(matice, vyska); } // Vytvor matici a vypln ji hodnotami z tabulky velke nasobilky void matice_nasobilka() { // Vytvorime si matici celych cisel o rozmerech 10 x 10 int vyska = 10; int matice[vyska][SIRKA_MATICE]; // Vyplnime ji int i = 0; // Zde si uchovavame index radku while (i < vyska) { int j = 0; // A zde index sloupce while (j < SIRKA_MATICE) { matice[i][j] = (i+1)*(j+1); // Indexujeme od 0, proto pricitame 1 j = j + 1; } i = i + 1; } // Vypiseme jeji obsah vypsat_matici(matice, vyska); } // Hlavni program int main() { printf("Nulova matice:\n"); matice_nulova(); printf("\n"); printf("Velka nasobilka:\n"); matice_nasobilka(); printf("\n"); // Uzivatel si precte vystup a stiskne Enter getchar(); }