Příklady ke zkoušce
4. Matice
4.4. Operace s prvky - lehčí příklady
- Maximum v reálné matici:
double m; // m ... libovolný prvek m = libovolný prvek matice např. levý horní Pro všechny indexy řádků Pro všechny indexy sloupců Je-li (m < prvek na pozici [i, j]), pak do m ulož prvek na pozici [i, j] Navrátit m
- Průměr prvků reálné matice:
double m = 0; Pro všechny indexy řádek Pro všechny indexy sloupců Přičíst prvek v pozici[i, j] do m Navrátit podíl m a druhé mocniny rozměru matice
Z celočíselné matice vytvořit boolovskou, false pro liché, true pro sudé:
static void CopyIPoleToBPole(int n, int[,] iPole, bool[,] bPole) { Pro všechny indexy řádků Pro všechny indexy sloupců Jsou 3 možnosti: a) bPole[i, j] = iPole[i, j] % 2 == 0; b) bPole[i, j] = (iPole[i, j] % 2 == 0) ? true : false; c) if (iPole[i, j] % 2 == 0) bPole[i, j] = true; else BPole[i, j] = false; }
- Záměna řádek v matici (první za druhý):
static void ZamenRadky(int n, int[,] a, int prvy, int druhy) { int t; Pro všechny indexy sloupců i { t = prvek ve sloupci i prvního řádku prvek ve sloupci i prvního řádku = prvek ve sloupci i druhého řádku prvek ve sloupci i druhého řádku = t; } }
- Zjištění počtu sudých prvků v matici:
int k = 0;
Pro všechny indexy řádků
Pro všechny indexy sloupců
Je-li prvek matice sudý, pak navýšit k
Navrátit k- Průměr z prvků mimo diagonály:
// kolik ... počet prvků mimo diagonály Deklarovat a nulovat kolik // m ... součet hodnot prvků mimo diagonály Deklarovat a nulovat m Pro všechny indexy řádků Pro všechny indexy sloupců Je-li prvek mimo diagonály, pak přičíst hodnotu prvku do m a navýšit kolik Je-li kolik různé od nuly, navrátit podíl m a kolik, jinak navrátit nulu
- Součet matic:
static void SectiMatice(int n, int[,] iPole, int[,] iPole1, int[,] iPole2) { Pro všechny indexy řádků Pro všechny indexy sloupců Do prvku matice iPole naplnit součet prvků matice iPole1 a iPole2 v odpovídající pozici }
- První a druhá nejvyšší hodnota v celočíselné matici:
static (int, int) PrvniADruhaNejvyssi(int n, int[,] a) { Deklarovat prvni a naplnit prvkem z a[0, 0] // nebo kterýkoliv jiný Deklarovat druha a naplnit hodnotou nejmenšího celého čísla Pro všechny indexy řádků Pro všechny indexy sloupců Je-li (prvni < prvek matice), pak prvni = prvek matice Pro všechny indexy řádků Pro všechny indexy sloupců Je-li (druha < prvek matice && prvek matice < prvni), pak druha = prvek matice Navrátit prvni a druha }
- Kolik je prvočísel v matici:
Naprogramovat test na prvočíslo static int KolikVyskytu(int n, int[,] a) { Deklarovat a nulovat pocet Pro všechny indexy řádků Pro všechny indexy sloupců Je-li hodnota prvku prvočíslo, pak navýšit pocet Navrátit pocet }
- Je součet hodnot na hlavní diagonále větší než na vedlejší:
Deklarovat a nulovat soucetNaHlavni a soucetNaVedlejsi Pro hodnoty indexu od 0 do rozměru matice – 1 Přičíst hodnotu prvku na hlavní diagonále do soucetNaHlavni Přičíst hodnotu prvku na vedlejší diagonále do soucetNaVedlejsi Navrátit true, pokud soucetNaHlavni je větší než soucetNaVedlejsi, jinak navrátit false
- Je součet hodnot na lichých řádcích a lichých sloupcích matice větším, než součet na sudých řádcích a sudých sloupcích:
Deklarovat a nulovat lichlich a sudsud Pro všechny indexy řádků Pro všechny indexy sloupců Je-li index řádku lichý a index sloupce lichý, pak navýšit lichlich o hodnotu prvku matice Je-li index řádku sudý a index sloupce sudý, pak navýšit sudsud o hodnotu prvku matice Navrátit true, pokud je lichlich větší než sudsud, jinak navrátit false