Příklady ke zkoušce
Completion requirements
Pozn. Kurzívou jsou označena místa, která je třeba doprogramovat. Pokud není řečeno jinak, všechny matice jsou čtvercové. Pole jsou obvykle do podprogramů předávána hodnotou, pokud jsou předávána odkazem, pak je to výslovně uvedeno.
4. Matice
4.1. Přístup k prvkům matice
Čtvercová matice
- Práce se všemi prvky matice:
for (int i = 0; i < n; i++) { for (int j = 0; j < n; j++) { Zde něco s A[i, j] } }
- Práce s hlavní diagonálou:
for (int i = 0; i < n; i++ { Zde něco s A[i, i] }
nebo:
for (int i = 0; i < n; i++) { for (int j = 0; j < n; j++) { if (i == j) { Zde něco s A[i, j] } } }
- Práce s vedlejší diagonálou:
for (int i = 0; i < n; i++) { Zde něco s A[i, n-1-i] }
- Práce s prvky nad hlavní diagonálou:
for (int i = 0; i < n; i++) { for (int j = i + 1; j < n; j++) { Zde něco s A[i, j] } }
- Práce s prvky pod hlavní diagonálou:
//Práce s prvky pod hlavní diagonálou for (int i = 1; i < n; i++) { for(int j = 0; j < i; j++) { Zde něco s A[i, j] } }
- Práce s prvky nad vedlejší diagonálou:
for (int i = 0; i < n - 1; i++) { for (int j = 0; j < n - 1; j++) { Zde něco s A[i, j] } }
- Práce s prvky pod vedlejší diagonálou:
for (int i = 1; i < n; i++) { for (int j = n - i; j < n; j++) { Zde něco s A[i, j] } }
- Práce se svislou osou:
for (int i = 1; i < n; i++) { Zde něco s A[i, n/2] }
- Práce se vodorovnou osou:
for (int i = 1; i < n; i++) { Zde něco s A[n/2,i] }