• Nie Znaleziono Wyników

Politechnika Białostocka

N/A
N/A
Protected

Academic year: 2021

Share "Politechnika Białostocka "

Copied!
12
0
0

Pełen tekst

(1)

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

(2)

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;)

(3)

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

(4)

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 };

(5)

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;

(6)

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;

(7)

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

(8)

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

(9)

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);

(10)

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

(11)

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

(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

 Zwraca długość łańcucha znaków, nie uwzględnia znaku ' \0' strcpy() char *strcpy(char *s1, const char *s2);. strlen() size_t strlen(const

 Jeśli wykonanie zakończyło się poprawnie, to funkcja zwraca wskazanie do łańcucha buf.  Jeśli wystąpił błąd lub podczas wczytywania został napotkany znacznik

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

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

Podstawę do zaliczenia przedmiotu (uzyskanie punktów ECTS) stanowi Podstawę do zaliczenia przedmiotu (uzyskanie punktów ECTS) stanowi Podstawę do zaliczenia przedmiotu

Podstawę do zaliczenia przedmiotu (uzyskanie punktów ECTS) stanowi stwierdzenie, że każdy z założonych efektów uczenia się został osiągnięty w co najmniej

 Dostęp do pól struktury możliwy jest dzięki konstrukcji typu:.

 Listy i wyliczenia:  To jest przykład tekstu ciągłego, który jest trudny do przeczytania.. To jest To jest przykład tekstu ciągłego, który jest trudny