Polia a matice v jazyku C. Michal Kvasnica

Podobné dokumenty
Programovanie v jazyku C - pole treba poorat...

Import cenových akcií FRESH

Triedenie. Príklad T.1 Vytvorte funkciu, ktorá zistí počet rôznych hodnôt v poli.

Ďalší spôsob, akým je možné vygenerovať maticu je použitie zabudovaných funkcií na generovanie elementárnych matíc.

Matice. Matica typu m x n je tabuľka s m riadkami a n stĺpcami amn. a ij. prvok matice, i j udáva pozíciu prvku

Ťahák - Základy jazyka Python

Programovanie v jazyku C - struktury a polia

Príklad ponuky: Riešenie: vrch. hodnota 3 hodnota 2 hodnota 1

Pole a Funkce. Úvod do programování 1 Tomáš Kühr

Programovanie I. Úvod do programovania Mgr. Stanislav Horal, Katedra informatiky, FPV, UCM

9. lekce Úvod do jazyka C 4. část Funkce, rekurze Editace, kompilace, spuštění Miroslav Jílek

Programovanie v jazyku C - to chce dynamiku

3 Determinanty. 3.1 Determinaty druhého stupňa a sústavy lineárnych rovníc

Úroveň strojového kódu procesor Intel Pentium. Adresovanie pamäte

Dynamická alokácia pamäte a smerníky

Základy jazyka C. Základy programování 1 Martin Kauer (Tomáš Kühr)

Operační systémy. Cvičení 4: Programování v C pod Unixem

Modul HD44780.inc. [ c. Niki 6/2004 rev. 6/2016]

Programování v jazyce C pro chemiky (C2160) 4. Textové řetězce, zápis dat do souboru

Hromadná korešpondencia v programe Word Lektor: Ing. Jaroslav Mišovych

Čo ak program potrebuje pamäť, ktorej veľkosť závisí od konkrétneho vstupu?

Kontrola väzieb výkazu Súvaha a Výkaz ziskov a strát Príručka používateľa

Střední škola pedagogická, hotelnictví a služeb, Litoměříce, příspěvková organizace

Základy algoritmizace a programování

ZÁKLADY TEÓRIE GRAFOV

VÝUKOVÝ MATERIÁL. Bratislavská 2166, Varnsdorf, IČO: tel Číslo projektu

Otimalizácia v tabul kovom procesore Gnumeric

Řešení sady 1. Úvod do programování 1 Tomáš Kühr

Základy programování (IZP)

7.1 Návrhové zobrazenie dotazu

Program "Inventúra program.xlsm"

Základy jazyka C. Základy programování 1 Tomáš Kühr

Struktury a dynamické proměnné

# vstup sa konvertuje na celé číslo a uloží do premennej

Je to voľne dostupný programový balík (free software), ktorý sa používa na meraniach.

Pangea predpis postupu

Algoritmizace a programování

1. lekce. do souboru main.c uložíme následující kód a pomocí F9 ho zkompilujeme a spustíme:

ZÁPOČTOVÝ TEST. Zpracoval Vilém Závodný, #include "stdafx.h" #include "stdio.h"

Teória grafov. Stromy a kostry 1. časť

- jak udělat konstantu long int: L long velka = 78L;

Programování v jazyce C pro chemiky (C2160) 3. Příkaz switch, příkaz cyklu for, operátory ++ a --, pole

1. Formát exportov typu *.gpc (ABO)

Pracovné prostredie MS EXCEL 2003.

BI-PA1 Programování a algoritmizace 1 Katedra teoretické informatiky

Algoritmizace, základy programování, VY_32_INOVACE_PRG_ALGO_01

1. lekce. do souboru main.c uložíme následující kód a pomocí F9 ho zkompilujeme a spustíme:

Vytvorenie účtovnej knihy

Tabuľkový kalkulátor EXCEL Základné operácie v programe Excel

Větvení a cykly. Úvod do programování 1 Tomáš Kühr

17 Metódy Metóda je podprogram. 17 Metódy

5 Přehled operátorů, příkazy, přetypování

Ak stlačíme OK, prebehne výpočet a v bunke B1 je výsledok.

2. lekce Algoritmus, cyklus Miroslav Jílek

VECIT 2006 Tento materiál vznikol v rámci projektu, ktorý je spolufinancovaný Európskou úniou. 1/4

Test z matematiky na prijímacie skúšky do 1. ročníka osemročného štúdia

8. lekce Úvod do jazyka C 3. část Základní příkazy jazyka C Miroslav Jílek

Úrad pre dohľad nad zdravotnou starostlivosťou Žellova 2, Bratislava

BI-PA1 Programování a algoritmizace 1, ZS Katedra teoretické informatiky

ALGORITMY A PROGRAMOVANIE VO VÝVOJOVOM PROSTREDÍ LAZARUS. Vývojové prostredie Lazarus, prvý program

PASCAL zbierka príkladov

Základy jazyka C. Základy programování 1 Martin Kauer (Tomáš Kühr)

NAKUPUJEME A POČÍTAME

Pointery II. Jan Hnilica Počítačové modelování 17

Semestrální projekt. Předmět: Programování v jazyce C. Zadání: Operace s maticemi. Uživatelský manuál. ver. 1.0

Metodické usmernenie č. 10/5/2006 Spracovanie a vykazovanie lekárskych predpisov a lekárskych

Vícerozměrná pole. Úvod do programování 2 Tomáš Kühr

Starý program Program s pointerom

RIEŠENIE NIEKTORÝCH ÚLOH LINEÁRNEJ ALGEBRY V PROSTREDÍ MS EXCEL. 1. Zadáme prvky matice A a B do buniek pracovného hárku zošita MS Excel

IAJCE Přednáška č. 8. double tprumer = (t1 + t2 + t3 + t4 + t5 + t6 + t7) / 7; Console.Write("\nPrumerna teplota je {0}", tprumer);

Základy programování (IZP)

VERZIA WinPAM ročná uzávierka a prechod na euro

Rozklad na prvočinitele. 3. prosince 2010

Úrad pre dohľad nad zdravotnou starostlivosťou Žellova 2, Bratislava

BI-PA1 Programování a algoritmizace 1 Katedra teoretické informatiky

Rozklad problému na podproblémy, rekurze

F-789SGA NÁVOD NA POUŽITIE KULLANIM KILAVUZU

PROGRAMOVÁNÍ V JAZYCE C V PŘÍKLADECH 11 Dynamické datové struktury 11.1 Spojové struktury Příklad PROG_

Jednoduchá aplikácia algoritmu spätného šírenia chyby (backpropagation)

ecotest, s.r.o. Sládkovičova 21, Topoľčany Tel/Fax : 038 / e mail : isternet.sk,

Př. další použití pointerů

Úrad pre dohľad nad zdravotnou starostlivosťou Žellova 2, Bratislava. Dátové rozhranie pre externý subjekt SP

ACCESS základné pojmy

Riešené úlohy Testovania 9/ 2011

ROČNÝ VÝKAZ O VYBRANÝCH DRUHOCH SOCIÁLNYCH SLUŽIEB A O DOMOCH S OPATROVATEĽSKOU SLUŽBOU za rok 2006

Optimik Exporter Inštalácia 1. Otvoriť stránku nabytok.com, v záložke POREZ DTD kliknúť na Stiahnuť Optimik Exporter

Spracovanie informácií

MATLAB (1) - úvod do programovania vedeckých problémov. LS 2017, 8.predn.

Programování v jazyce C

7.CVIČENIE. Základy HTML

Návod k servisnému programu pre fiskálny modul FM2000. manuál. (c)varos

Príručka na rýchlu inštaláciu VDSL pripojenia. Zyxel VMG1312. Volajte na našu Zákaznícku linku: 02/

Vytvorenie používateľov a nastavenie prístupov

Šablony, kontejnery a iterátory

Práce se soubory. Základy programování 2 Tomáš Kühr

POUŽÍVATEĽSKÁ PRÍRUČKA PRE SCHRÁNKU SPRÁV EDESK

Program převod z desítkové na dvojkovou soustavu: /* Prevod desitkove na binarni */ #include <stdio.h>

Programování v jazyce C pro chemiky (C2160) 6. Funkce, struktury

Programovanie v jazyku C - funkcie a makra

Formátová specifikace má tvar (některé sekce nemají smysl pro načítání) %

Transkript:

Polia a matice v jazyku C Michal Kvasnica

Reťazec ako pole znakov reťazcový dátový typ rezervovaná pamäť char retazec[pocet_znakov]; názov premennej

Reťazec ako pole znakov char retazec[pocet_znakov]; char r[5];

Reťazec ako pole znakov char retazec[pocet_znakov]; char r[5];

Reťazec ako pole znakov char retazec[pocet_znakov]; char r[5]; nevyužité miesto A b c \0 znak konca reťazca

Inicializácia poľa znakov je potrebné uvažovať \0! char retazec[4] = Abc ; bez znaku \0 char retazec[4] = { A, b, c, \0 ; char retazec[] = Abc ; vrátane ukončovacieho znaku automatická alokácie pamäte

Prístup k prvkom poľa char retazec[4] = { A, b, \0, c ; for(i=0; i<4; i++) { printf( retazec[%d]: %d\n, i, retazec[i]); retazec[0]: 65 retazec[1]: 98 retazec[2]: 0 retazec[3]: 99

Prístup k prvkom poľa char retazec[4] = { A, b, \0, c ; for(i=0; i<10; i++) { printf( retazec[%d]: %d\n, i, retazec[i]); retazec[0]: 65 retazec[1]: 98 retazec[2]: 0 retazec[3]: 99 retazec[4]: -112 retazec[5]: -94 retazec[6]: -120 retazec[7]: -65 retazec[8]: 0 retazec[9]: 32

Pole čísel dátový typ rezervovaná pamäť int pole[pocet_prvkov]; názov premennej

Inicializácia poľa int pole[4] = {1, 8, 5, 2; int pole[] = {1, 8, 5, 2; automatická alokácie pamäte

Prístup k prvkom poľa int pole[] = {1, 8, 5, 2; int i; for (i=0; i<4; i++) { printf("pozicia: %d, hodnota: %d\n", i, pole[i]); pozicia: 0, hodnota: 1 pozicia: 1, hodnota: 8 pozicia: 2, hodnota: 5 pozicia: 3, hodnota: 2

Zistenie dĺžky poľa int pole[] = {1, 8, 5, 2; int dlzka = sizeof(pole)/sizeof(int); float pole[] = {1, 8, 5, 2; int dlzka = sizeof(pole)/sizeof(float);

Polia - príklad č. 1 Algoritmus: - načítaj z klávesnice celé číslo x - vytvor pole obsahujúce čísla od 1 po x

Polia - príklad č. 1 Algoritmus: - načítaj z klávesnice celé číslo x - vytvor pole obsahujúce čísla od 1 po x int main() { int x; printf("vloz cislo: "); scanf("%d", &x); int pole[x]; int i; for (i=0; i<x; i++) { pole[i] = i+1; for (i=0; i<x; i++) { printf("prvok c. %d = %d\n", i, pole[i]);

Polia - príklad č. 1 Algoritmus: - načítaj z klávesnice celé číslo x - vytvor pole obsahujúce čísla od 1 po x int main() { int x; printf("vloz cislo: "); scanf("%d", &x); int pole[x]; int i; for (i=0; i<x; i++) { pole[i] = i+1; for (i=0; i<x; i++) { printf("prvok c. %d = %d\n", i, pole[i]);

Polia - príklad č. 1 Algoritmus: - načítaj z klávesnice celé číslo x - vytvor pole obsahujúce čísla od 1 po x int main() { int x; printf("vloz cislo: "); scanf("%d", &x); int pole[x]; int i; for (i=0; i<x; i++) { pole[i] = i+1; for (i=0; i<x; i++) { printf("prvok c. %d = %d\n", i, pole[i]);

Polia - príklad č. 1 Algoritmus: - načítaj z klávesnice celé číslo x - vytvor pole obsahujúce čísla od 1 po x int main() { int x; printf("vloz cislo: "); scanf("%d", &x); int pole[x]; int i; for (i=0; i<x; i++) { pole[i] = i+1; for (i=0; i<x; i++) { printf("prvok c. %d = %d\n", i, pole[i]);

Polia - príklad č. 2 Algoritmus: - inicializuj pole prvkov {10, 4, 8, 5 - vytvor nové pole obsahujúce prvky v opačnom poradí

Polia - príklad č. 2 Algoritmus: - inicializuj pole prvkov {10, 4, 8, 5 - vytvor nové pole obsahujúce prvky v opačnom poradí int main() { int povodne[] = {10, 4, 8, 5; int otocene[4]; int i; for (i=0; i<4; i++) { otocene[i] = povodne[3-i]; for (i=0; i<4; i++) { printf("povodne: %d, otocene: %d\n", povodne[i], otocene[i]);

Polia - príklad č. 2 Algoritmus: - inicializuj pole prvkov {10, 4, 8, 5 - vytvor nové pole obsahujúce prvky v opačnom poradí int main() { int povodne[] = {10, 4, 8, 5; int otocene[4]; int i; for (i=0; i<4; i++) { otocene[i] = povodne[3-i]; for (i=0; i<4; i++) { printf("povodne: %d, otocene: %d\n", povodne[i], otocene[i]);

Polia - príklad č. 2 Algoritmus: - inicializuj pole prvkov {10, 4, 8, 5 - vytvor nové pole obsahujúce prvky v opačnom poradí int main() { int povodne[] = {10, 4, 8, 5; int otocene[4]; int i; for (i=0; i<4; i++) { otocene[i] = povodne[3-i]; for (i=0; i<4; i++) { printf("povodne: %d, otocene: %d\n", povodne[i], otocene[i]);

Polia - príklad č. 2 Algoritmus: - inicializuj pole prvkov {10, 4, 8, 5 - vytvor nové pole obsahujúce prvky v opačnom poradí int main() { int povodne[] = {10, 4, 8, 5; int otocene[4]; int i; for (i=0; i<4; i++) { otocene[i] = povodne[3-i]; for (i=0; i<4; i++) { printf("povodne: %d, otocene: %d\n", povodne[i], otocene[i]);

Polia - príklad č. 3 Algoritmus: - z klávesnice načítaj počet prvkov a jednotlivé prvky poľa - na obrazovku vypíš načítané pole

Polia - príklad č. 3 Algoritmus: - z klávesnice načítaj počet prvkov a jednotlivé prvky poľa - na obrazovku vypíš načítané pole int main() { int pocet; printf("pocet prvkov: "); scanf("%d", &pocet); int pole[pocet]; int i; for (i=0; i<pocet; i++) { printf("vloz prvok c. %d: ", i+1); scanf("%d", &pole[i]); for (i=0; i<pocet; i++) { printf("pole[%d] = %d\n", i, pole[i]);

Polia - príklad č. 3 Algoritmus: - z klávesnice načítaj počet prvkov a jednotlivé prvky poľa - na obrazovku vypíš načítané pole int main() { int pocet; printf("pocet prvkov: "); scanf("%d", &pocet); int pole[pocet]; int i; for (i=0; i<pocet; i++) { printf("vloz prvok c. %d: ", i+1); scanf("%d", &pole[i]); for (i=0; i<pocet; i++) { printf("pole[%d] = %d\n", i, pole[i]);

Polia - príklad č. 3 Algoritmus: - z klávesnice načítaj počet prvkov a jednotlivé prvky poľa - na obrazovku vypíš načítané pole int main() { int pocet; printf("pocet prvkov: "); scanf("%d", &pocet); int pole[pocet]; int i; for (i=0; i<pocet; i++) { printf("vloz prvok c. %d: ", i+1); scanf("%d", &pole[i]); for (i=0; i<pocet; i++) { printf("pole[%d] = %d\n", i, pole[i]);

Polia - príklad č. 3 Algoritmus: - z klávesnice načítaj počet prvkov a jednotlivé prvky poľa - na obrazovku vypíš načítané pole int main() { int pocet; printf("pocet prvkov: "); scanf("%d", &pocet); int pole[pocet]; int i; for (i=0; i<pocet; i++) { printf("vloz prvok c. %d: ", i+1); scanf("%d", &pole[i]); for (i=0; i<pocet; i++) { printf("pole[%d] = %d\n", i, pole[i]);

Polia - príklad č. 4 Algoritmus: - z klávesnice načítaj počet prvkov a jednotlivé prvky poľa - na obrazovku vypíš najväčší prvok

Polia - príklad č. 4 Algoritmus: - z klávesnice načítaj počet prvkov a jednotlivé prvky poľa - na obrazovku vypíš najväčší prvok int pocet; printf("pocet prvkov: "); scanf("%d", &pocet); int pole[pocet]; int i; for (i=0; i<pocet; i++) { printf("vloz prvok c. %d: ", i+1); scanf("%d", &pole[i]); int maximum = pole[0]; for (i=1; i<pocet; i++) { if (pole[i] > maximum) { maximum = pole[i]; printf("najvacsi prvok: %d\n", maximum);

Polia - príklad č. 4 Algoritmus: - z klávesnice načítaj počet prvkov a jednotlivé prvky poľa - na obrazovku vypíš najväčší prvok int pocet; printf("pocet prvkov: "); scanf("%d", &pocet); int pole[pocet]; int i; for (i=0; i<pocet; i++) { printf("vloz prvok c. %d: ", i+1); scanf("%d", &pole[i]); int maximum = pole[0]; for (i=1; i<pocet; i++) { if (pole[i] > maximum) { maximum = pole[i]; printf("najvacsi prvok: %d\n", maximum);

Polia - príklad č. 4 Algoritmus: - z klávesnice načítaj počet prvkov a jednotlivé prvky poľa - na obrazovku vypíš najväčší prvok int pocet; printf("pocet prvkov: "); scanf("%d", &pocet); int pole[pocet]; int i; for (i=0; i<pocet; i++) { printf("vloz prvok c. %d: ", i+1); scanf("%d", &pole[i]); int maximum = pole[0]; for (i=1; i<pocet; i++) { if (pole[i] > maximum) { maximum = pole[i]; printf("najvacsi prvok: %d\n", maximum);

Polia - príklad č. 4 Algoritmus: - z klávesnice načítaj počet prvkov a jednotlivé prvky poľa - na obrazovku vypíš najväčší prvok int pocet; printf("pocet prvkov: "); scanf("%d", &pocet); int pole[pocet]; int i; for (i=0; i<pocet; i++) { printf("vloz prvok c. %d: ", i+1); scanf("%d", &pole[i]); int maximum = pole[0]; for (i=1; i<pocet; i++) { if (pole[i] > maximum) { maximum = pole[i]; printf("najvacsi prvok: %d\n", maximum);

Polia - neriešené príklady Pre automaticky inicializované pole čísel {1, -2, -3, 7, 4 zistite: - pozíciu najmenšieho prvku v poli - aritmetický priemer prvkov - počet kladných a záporných prvkov

Matica čísel int matica[pocet_riadkov][pocet_stlpcov]; float matica[pocet_riadkov][pocet_stlpcov];

Matica čísel int a[3][4]; Stĺpec 0 Stĺpec 1 Stĺpec 2 Stĺpec 3 Riadok 0 a[0][0] a[0][1] a[0][2] a[0][3] Riadok 1 a[1][0] a[1][1] a[1][2] a[1][3] Riadok 2 a[2][0] a[2][1] a[2][2] a[2][3]

Inicializácia matice int a[3][4] = { {0, 1, 2, 3, {4, 5, 6, 7, {8, 9, 10, 11 ; Stĺpec 0 Stĺpec 1 Stĺpec 2 Stĺpec 3 Riadok 0 0 1 2 3 Riadok 1 4 5 6 7 Riadok 2 8 9 10 11

Prístup k prvkom matice int a[3][4] = { {0, 1, 2, 3, {4, 5, 6, 7, {8, 9, 10, 11 ; prvok = a[2][1] prvok = a[0][2] prvok = a[3][0] prvok = a[1][4] prvok = a[3][4]

Matice - príklady - inicializuj maticu 2x2 s prvkami [1, 2; 3, 4] - zisti súčet prvkov matice - vytvor novú maticu ako transpozíciu pôvodnej - vypočítaj determinant matice - vypočítaj násobok matice a vektora [5; 6]

Inicializácia matice riadkový aj stĺpcový rozmer int a[3][4] = { {0, 1, 2, 3, {4, 5, 6, 7, {8, 9, 10, 11 ; riadkový rozmer môžeme vynechať int a[][4] = { {0, 1, 2, 3, {4, 5, 6, 7, {8, 9, 10, 11 ;

Zistenie rozmeru matice bytový rozmer celej matice bytový rozmer prvého riadka riadky = sizeof(m)/sizeof(m[0]); stlpce = sizeof(m[0])/sizeof(int); bytový rozmer každého prvku