• Nie Znaleziono Wyników

Pracownia nr 1 Pracownia nr 1

N/A
N/A
Protected

Academic year: 2021

Share "Pracownia nr 1 Pracownia nr 1"

Copied!
3
0
0

Pełen tekst

(1)

Informatyka 2 Informatyka 2

Politechnika Białostocka

Politechnika Białostocka -- Wydział Elektryczny Wydział Elektryczny

Elektrotechnika, semestr III, studia stacjonarne I stopnia Elektrotechnika, semestr III, studia stacjonarne I stopnia

Rok akademicki 2018/2019 Rok akademicki 2018/2019

Pracownia nr 1 Pracownia nr 1

dr inż. Jarosław Forenc

Informatyka 2, studia stacjonarne I stopnia dr inż. Jarosław Forenc

Rok akademicki 2018/2019, Pracownia nr 1 2/12

Deklaracja tablicy dwuwymiarowej Deklaracja tablicy dwuwymiarowej

int tab[3][4];

liczba wierszy liczba kolumn liczba wierszy nazwa tablicy typ elementów rozmiar tablicy to wartość:

– całkowita, dodatnia

– znana na etapie kompilacji programu

(stała liczbowa: 5, #define N 5, const int n = 5;)

Informatyka 2, studia stacjonarne I stopnia dr inż. Jarosław Forenc

Rok akademicki 2018/2019, Pracownia nr 1 3/12

Odwołania do elementów tablicy Odwołania do elementów tablicy

indeks (numer) kolumny indeks (numer) wiersza

tab[1][2] = 10;

indeks (numer) wiersza

indeks:

– liczba, np. 0, 1, 10

– zmienna, np. i, idx

– wyrażenie, np. i*j+5

Informatyka 2, studia stacjonarne I stopnia dr inż. Jarosław Forenc

Rok akademicki 2018/2019, Pracownia nr 1 4/12

Inicjalizacja elementów tablicy Inicjalizacja elementów tablicy

int tab[2][3] = {{ 3, 6, 2 } , { 4, 1, 7 }};

int tab[2][3] = { 3, 6, 2, 4, 1, 7 };

3 0

6 2 1 2

4 1 7

0

1

int tab[2][3] = { 3, 6, 2, 4, 1, 7 };

int tab[2][3] = { 3, 6, 2, 4 };

3

0

6 2 1 2

4 0 0

0 1

int tab[2][3] = { 0 };

(2)

Informatyka 2, studia stacjonarne I stopnia dr inż. Jarosław Forenc

Rok akademicki 2018/2019, Pracownia nr 1 5/12

Przykład

Przykład -- operacje na macierzy operacje na macierzy

#include <stdio.h>

#include <stdlib.h>

#include <time.h>

#define N 3 /* liczba wierszy */

#define M 3 /* liczba kolumn */

#define N 3 /* liczba wierszy */

#define M 3 /* liczba kolumn */

int main() {

int tab[N][M];

int i, j;

Informatyka 2, studia stacjonarne I stopnia dr inż. Jarosław Forenc

Rok akademicki 2018/2019, Pracownia nr 1 6/12

Przykład

Przykład -- operacje na macierzy operacje na macierzy

/* generowanie pseudolosowe elementow macierzy */

srand(time(NULL));

for (i=0; i<N; i++) for (j=0; j<M; j++) for (j=0; j<M; j++)

tab[i][j] = rand() % 10;

Informatyka 2, studia stacjonarne I stopnia dr inż. Jarosław Forenc

Rok akademicki 2018/2019, Pracownia nr 1 7/12

Przykład

Przykład -- operacje na macierzy operacje na macierzy

/* wyswietlenie elementow macierzy */

for (i=0; i<N; i++) {

for (j=0; j<M; j++)

printf("%3d",tab[i][j]);

for (j=0; j<M; j++)

printf("%3d",tab[i][j]);

printf("\n");

}

printf("\n");

5 4 5 6 8 2 1 6 4

Informatyka 2, studia stacjonarne I stopnia dr inż. Jarosław Forenc

Rok akademicki 2018/2019, Pracownia nr 1 8/12

Przykład

Przykład -- operacje na macierzy operacje na macierzy

/* poszukiwanie elementu o wartosci maksymalnej */

int max;

max = tab[0][0];

for (i=0; i<N; i++) for (i=0; i<N; i++)

for (j=0; j<M; j++) if (tab[i][j] > max)

max = tab[i][j];

printf("Wartosc max: %d\n\n",max); Wartosc max: 8

(3)

Informatyka 2, studia stacjonarne I stopnia dr inż. Jarosław Forenc

Rok akademicki 2018/2019, Pracownia nr 1 9/12

Przykład

Przykład -- operacje na macierzy operacje na macierzy

/* suma i srednia arytmetyczna elementow */

int suma;

float srednia;

suma = 0;

suma = 0;

for (i=0; i<N; i++) for (j=0; j<M; j++)

suma = suma + tab[i][j];

srednia = (float) suma/(N*M);

printf("Suma elementow: %d\n",suma);

printf("Srednia arytmetyczna: %f\n\n",srednia);

Informatyka 2, studia stacjonarne I stopnia dr inż. Jarosław Forenc

Rok akademicki 2018/2019, Pracownia nr 1 10/12

Przykład

Przykład -- operacje na macierzy operacje na macierzy

/* suma i srednia arytmetyczna elementow */

int suma;

float srednia;

suma = 0;

suma = 0;

for (i=0; i<N; i++) for (j=0; j<M; j++)

suma = suma + tab[i][j];

srednia = (float) suma/(N*M);

printf("Suma elementow: %d\n",suma);

printf("Srednia arytmetyczna: %f\n\n",srednia);

Suma elementow: 41

Srednia arytmetyczna: 4.555555

Informatyka 2, studia stacjonarne I stopnia dr inż. Jarosław Forenc

Rok akademicki 2018/2019, Pracownia nr 1 11/12

Przykład

Przykład -- operacje na macierzy operacje na macierzy

/* sumy elementow w poszczegolnych wierszach */

for (i=0; i<N; i++) {

suma = 0;

for (j=0; j<M; j++) suma = 0;

for (j=0; j<M; j++)

suma = suma + tab[i][j];

printf("Suma wiersza %d = %d\n",i,suma);

}

printf("\n");

Suma wiersza 0 = 14 Suma wiersza 1 = 16 Suma wiersza 2 = 11

Informatyka 2, studia stacjonarne I stopnia dr inż. Jarosław Forenc

Rok akademicki 2018/2019, Pracownia nr 1 12/12

Przykład

Przykład -- operacje na macierzy operacje na macierzy

/* sumy elementow w poszczegolnych kolumnach */

for (j=0; j<M; j++) {

suma = 0;

for (i=0; i<N; i++) suma = 0;

for (i=0; i<N; i++)

suma = suma + tab[i][j];

printf("Suma kolumny%d = %d\n",j,suma);

}

printf("\n");

Suma kolumny 0 = 12 Suma kolumny 1 = 18 Suma kolumny 2 = 11

Cytaty

Powiązane dokumenty

umieć definiować funkcje bezargumentowe lub z argumentami, zwracające lub niezwracające wartości oraz odpowiednio je wywoływać umieć definiować tablice dwuwymiarowe i

definiuje i wykorzystuje własne funkcje oraz stosuje operacje zapisu i odczytu plików w samodzielnie napisanych programach komputerowych w języku C definiuje i wykorzystuje

umieć pisać proste skrypty i funkcje w programie Matlab rozwiązujące typowe zadania inżynierskie występujące w elektrotechnice.. Efekty kształcenia (EK6) Efekty

Student, który zalicza na ocenę bardzo dobry (5) powinien (oprócz wymagań na ocenę 4):. umieć opracować kilka serii danych i umieszczać je na jednym wykresie przy

umieć pisać proste skrypty i funkcje w programie Matlab rozwiązujące typowe zadania inżynierskie występujące w elektrotechnice. Informatyka 1, studia stacjonarne I stopnia

nazwa tablicy typ elementów rozmiar tablicy to wartość:. –

definiuje i wykorzystuje własne funkcje oraz stosuje operacje zapisu i odczytu plików w samodzielnie napisanych programach komputerowych w języku C definiuje i wykorzystuje

Student, który zalicza na ocenę bardzo dobry (5) powinien (oprócz wymagań na ocenę 4):. znać podstawowe funkcje macierzowe oraz poprawnie je stosować w ramach