Na tych zaj ciach poznamy tablice liczb, zarówno jedno jak i wielowymiarowe.



Podobne dokumenty
tablica: dane_liczbowe

TABLICE W JĘZYKU C/C++ typ_elementu nazwa_tablicy [wymiar_1][wymiar_2]... [wymiar_n] ;

Programowanie w C Wartości pseudolosowe i pomiar czasu

Helena Boguta, klasa 8W, rok szkolny 2018/2019

Tablice. Monika Wrzosek (IM UG) Podstawy Programowania 96 / 119

int tab[5]; tab[1]; ciągły obszar pamięci, w którym umieszczone są elementy tego samego typu macierz [ ] - dwuargumentowy operator indeksowania

ZAJ CIA 4. Podstawowe informacje o algorytmie. Operatory relacyjne i logiczne, instrukcja warunkowa if

INSTRUKCJE REPETYCYJNE PĘTLE

PROGRAMOWANIE OBIEKTOWE W C++ cz. 2. Dziedziczenie, operacje wej cia-wyj cia, przeładowanie operatorów.

Wstęp do programowania

Installation of EuroCert software for qualified electronic signature

Spis treści JĘZYK C - TABLICE JEDNOWYMIAROWE. Informatyka 1. Instrukcja do pracowni specjalistycznej z przedmiotu. Numer ćwiczenia INF05Z

1. Wprowadzenie do C/C++

PROGRAMOWANIE SYSTEMÓW CZASU RZECZYWISTEGO

Metodyki i Techniki Programowania MECHANIZM POWSTAWANIA PROGRAMU W JĘZYKU C PODSTAWOWE POJĘCIA

1. Wprowadzenie do C/C++

Lab 8. Tablice liczbowe cd,. Operacje macierzowo-wektorowe, memcpy, memmove, memset. Wyrażenie warunkowe.

Struktury, unie, formatowanie, wskaźniki

W większości języków programowania(nie we wszystkich) wymaga się, żeby użyte w programie zmienne były wcześniej zadeklarowane:

Wymiar musi być wyrażeniem stałym typu całkowitego, tzn. takim, które może obliczyć kompilator. Przykłady:

Niezwykłe tablice Poznane typy danych pozwalają przechowywać pojedyncze liczby. Dzięki tablicom zgromadzimy wiele wartości w jednym miejscu.

OpenPoland.net API Documentation

Programowanie obiektowe W3

Temat 1: Podstawowe pojęcia: program, kompilacja, kod

Deklaracje. W większości języków programowania(nie we wszystkich) wymaga się, żeby użyte w programie zmienne były wcześniej zadeklarowane:

Karpacz, plan miasta 1:10 000: Panorama Karkonoszy, mapa szlakow turystycznych (Polish Edition)

Zmienne i struktury dynamiczne

Machine Learning for Data Science (CS4786) Lecture11. Random Projections & Canonical Correlation Analysis

Zakopane, plan miasta: Skala ok. 1: = City map (Polish Edition)

Camspot 4.4 Camspot 4.5

Stargard Szczecinski i okolice (Polish Edition)

Instrukcja logowania do aplikacji ING Agent

PROGRAMOWANIE OBIEKTOWE W C++ - cz 1. Definicja klasy, składniki klasy, prawa dost pu, definiowanie funkcji składowych, konstruktory i destruktory.

Konfiguracja programu Outlook 2007 do pracy z nowym serwerem poczty (Exchange)

Tablice i struktury. czyli złożone typy danych. Programowanie Proceduralne 1

Spis treści JĘZYK C - TABLICE DWUWYMIAROWE, OPERACJE NA TABLICACH. Metodyki i techniki programowania

Programowanie Komputerów

G PROGRAMMING. Part #4

EXCEL PL PROGRAMOWANIE PDF

Spis treści JĘZYK C - TABLICE DWU- I WIELOWYMIAROWE, OPERACJE NA TABLICACH. Informatyka 2. Instrukcja do pracowni specjalistycznej z przedmiotu

Proste typy zmiennych języka C++ *) Zapis 3.4 e-38 jest równoważny zapisowi 3,

Spis treści JĘZYK C - TABLICE DWUWYMIAROWE, OPERACJE NA TABLICACH. Informatyka 1. Instrukcja do pracowni specjalistycznej z przedmiotu

METODY I JĘZYKI PROGRAMOWANIA PROGRAMOWANIE STRUKTURALNE. Wykład 02

Surname. Other Names. For Examiner s Use Centre Number. Candidate Number. Candidate Signature

MaPlan Sp. z O.O. Click here if your download doesn"t start automatically

Skitch for Android Instrukcja obsługi 2012 Evernote Corporation Wszelkie prawa zastrzeżone Opublikowano: Jun 19, 2012

1. Podstawy budowania wyra e regularnych (Regex)

Oprogramowanie klawiatury matrycowej i alfanumerycznego wyświetlacza LCD

wykład III uzupełnienie notatek: dr Jerzy Białkowski Programowanie C/C++ Język C - zarządzanie pamięcią, struktury,

INSTRUKCJE JAK AKTYWOWAĆ SWOJE KONTO PAYLUTION

Stałe, znaki, łańcuchy znaków, wejście i wyjście sformatowane

Podstawy programowania w języku C

for (i=0; i<10; i=i+1) instrukcja; instrukcja zostanie wykonana 10 razy for (inicjalizacja; test; aktualizacja) instrukcja;

Podstawy programowania C. dr. Krystyna Łapin

Tablice (jedno i wielowymiarowe), łańcuchy znaków

Zestawienie czasów angielskich

PLSH1 (JUN14PLSH101) General Certificate of Education Advanced Subsidiary Examination June Reading and Writing TOTAL

Katowice, plan miasta: Skala 1: = City map = Stadtplan (Polish Edition)

Programowanie w językach wysokiego poziomu

Co to jest sterta? Sterta (ang. heap) to obszar pamięci udostępniany przez system operacyjny wszystkim działającym programom (procesom).

ZASADY PROGRAMOWANIA KOMPUTERÓW ZAP zima 2015

Spis treści WSKAŹNIKI. DYNAMICZNY PRZYDZIAŁ PAMIĘCI W JĘZYKU C. Informatyka 2. Instrukcja do pracowni specjalistycznej z przedmiotu

Zmienne, stałe i operatory

Revenue Maximization. Sept. 25, 2018

Testy jednostkowe - zastosowanie oprogramowania JUNIT 4.0 Zofia Kruczkiewicz

Zadeklarowanie tablicy przypomina analogiczną operację dla zwykłych (skalarnych) zmiennych. Może zatem wyglądać na przykład tak:

Rev Źródło:

Wstęp do programowania

Programowanie w C++ Wykład 5. Katarzyna Grzelak. 26 marca kwietnia K.Grzelak (Wykład 1) Programowanie w C++ 1 / 40

Tablice jednowymiarowe

SSW1.1, HFW Fry #20, Zeno #25 Benchmark: Qtr.1. Fry #65, Zeno #67. like

Jzyk C++ cz 3. Jarosław Gramacki Instytut Informatyki i Elektroniki ( $)*)+' *, - ( ' )*'.' '',*/ *, ','*0) 1 / ) %*+ 2'' 2" ( $%%) )'20 )*0) 1 / )

REJESTRACJA NA LEKTORATY Z JĘZYKÓW OBCYCH

Wojewodztwo Koszalinskie: Obiekty i walory krajoznawcze (Inwentaryzacja krajoznawcza Polski) (Polish Edition)

Uzupełnienie dot. przekazywania argumentów

Podstawy Programowania C++

Materiał Typy zmiennych Instrukcje warunkowe Pętle Tablice statyczne Wskaźniki Tablice dynamiczne Referencje Funkcje

Ćwiczenie 4 z Podstaw programowania. Język C++, programy pisane w nieobiektowym stylu programowania. Zofia Kruczkiewicz

Temat: Dynamiczne przydzielanie i zwalnianie pamięci. Struktura listy operacje wstawiania, wyszukiwania oraz usuwania danych.

Wykład 1_2 Algorytmy sortowania tablic Sortowanie bąbelkowe

Podstawy programowania. Wykład: 6. Tablice statyczne. dr Artur Bartoszewski -Podstawy programowania, sem 1 - WYKŁAD

EGZAMIN MATURALNY Z JĘZYKA ANGIELSKIEGO POZIOM ROZSZERZONY MAJ 2010 CZĘŚĆ I. Czas pracy: 120 minut. Liczba punktów do uzyskania: 23 WPISUJE ZDAJĄCY

Tablice mgr Tomasz Xięski, Instytut Informatyki, Uniwersytet Śląski Katowice, 2011

Sieciowa komunikacja procesów - XDR i RPC

Laboratorium 3: Tablice, tablice znaków i funkcje operujące na ciągach znaków. dr inż. Arkadiusz Chrobot dr inż. Grzegorz Łukawski

Instrukcja wyboru, pętle. 2 wykład. Podstawy programowania - Paskal

Pracownia internetowa w każdej szkole. Opiekun pracowni internetowej SBS 2003 PING

INFORMATYKA Studia Niestacjonarne Elektrotechnika

Konfiguracja Wyszukiwarki


Tychy, plan miasta: Skala 1: (Polish Edition)

Instrukcja instalacji programu Plantator oraz transferu pliku danych z/do PC kolektor danych PT-20

Stałe, tablice dynamiczne i wielowymiarowe

WYKŁAD 8. Funkcje i algorytmy rekurencyjne Proste przykłady. Programy: c3_1.c..., c3_6.c. Tomasz Zieliński

Wstęp do programowania

Spis treści JĘZYK C - WSKAŹNIKI, DYNAMICZNY PRZYDZIAŁ PAMIĘCI. Informatyka 2. Instrukcja do pracowni specjalistycznej z przedmiotu

z programowania z przykładowymi rozwiązaniami

Kopia zapasowa i odzyskiwanie Podręcznik użytkownika

Podstawy Informatyki sem. I 2014/2015 studia zaoczne Elektronika i Telekomunikacja!

Transkrypt:

du Metodyki i techniki programowania 1 2008/2009 ZAJ CIA 7. Tablice Na tych zaj ciach poznamy tablice liczb, zarówno jedno jak i wielowymiarowe. Tworzymy je, gdy mamy do czynienia z ilo ci powi zanych ze sob danych. Bo jak inaczej wyobrazi s sobie mo na ledzenie np. miesi cznych zarobków, wyników na giełdzie, czy ilo ci dziennych opadów. Takie dane przechowywane wła nie w tablicach jednowymiarowych. Tablic dwuwymiarow mo e by np. rozkład barw poszczególnych pikseli na ekranie monitora, a tablic trójwymiarow np. rozkład temperatury w jakim pomieszczeniu. TABLICE s Tablica elementów jest ci głym obszarem pami ci. W tym obszarze elementy przechowywane obok siebie. Deklaruj c tablic nale y poda typ elementów oraz ich ilo. DEKLARACJA TABLICY JEDNOWYMIAROWEJ Przykład 1.: int tab[5] ; tab nazwa tablicy i jednocze nie adres pierwszego elementu int - typ jej elementów [ ] - operator indeksu Jak wida w tablicy musz znajdowa si elementy tego samego typu. W powy szym przykładzie tych elementów b dzie 5. W j zyku C tablice indeksujemy od 0. INICJALIZACJA TABLICY Przypisanie poszczególnym komórkom tablicy (pami ci) konkretnych danych robi si w sposób nast puj cy: lub inaczej: tab[0] = 3; tab[1] = 5; tab[2] = 4; tab[3] = 7; tab[4] = 8; tab[5] = 3,5,4,7,8; mgr in. Adam Id kowski 1

TABLICE DWUWYMIAROWE DEKLARACJA Przykład 2: int tab [3] [4]; int typ elementów tab nazwa tablicy [3] liczba wierszy (w tym przypadku 3) [4] liczba kolumn (w tym przypadku 4) INICJALIZACJA TABLICY tab [3] [4] = 1,3,5,2,5,4,7,8,6,4,5,6; S lub inaczej: tab [3] [4] = 1,3,5,2,5,4,7,8,6,4,5,6; WI CEJ O INICJALIZACJI TABLIC trzy rodzaje tablic: zewn trzne, statyczne i automatyczne. Warto wiedzie, e je li zapomnimy zainicjowa tablic, to je li jest ona zewn trzna lub statyczna - b dzie ona domy lnie wypełniona zerami. Z kolei je li jest ona automatyczna - mo e mie ona dowoln warto. Kompilator wykorzystuje po prostu przypadkowe dane, które znajduj si w obszarze pami ci przeznaczonym na tablic. Przykład 3. #include <stdio.h> #include <conio.h> #define ROZMIAR 4 int zewntab[rozmiar]; // niezainicjalizowana tablica zewnetrzna int main (void) static int statab[rozmiar]; // niezainicjalizowana tablica statyczna int autab [ROZMIAR]; // niezainicjalizowana tablica automatyczna int i; for (i=0; i<rozmiar; i++) printf( %10d %10d %10d\n,zewntab[i], statab[i], autab[i]); getch(); mgr in. Adam Id kowski 2

Po zrobieniu tego przykładu sprawd co b dzie je eli zainicjujemy tablice cz ciowo (tzn. podaj c np. po 2 elementy). WPISYWANIE ELEMENTÓW Z KLAWIATURY DO TABLICY DWUWYMIAROWEJ I WY WIETLENIE WPISANYCH ELEMENTÓW NA EKRANIE Przykład 4.: #include<stdio.h> #include<conio.h> int main (void) int tab [3][4]; int i, j; // wpisywanie elementow do tablicy z klawiatury printf( Podaj element %d,%d /n,i,j ); scanf( %d, &tab[i][j]); printf( \n ); printf( %3d, tab[i][j] ); // wypisywanie ich wszystkich na ekran getch(); mgr in. Adam Id kowski 3

GENEROWANIE LOSOWYCH LICZB Z ZAKRESU OD 0 DO 99 DO TABLICY DWUWYMIAROWEJ Przykład 5.: #include<stdio.h> #include<conio.h> #include<stdlib.h> #include<time.h> // funkcje srand, rand // funkcja time int main (void) int tab [3][4]; int i, j; srand(time(0)); //uruchamia generator liczb losowych korzysta z //zegara wewn trznego komputera tab[i][j]=rand()%100; printf(" \n"); printf( "%3d ", tab[i][j] ); getch(); // wpisanie losowych liczb do tablicy //wyswietlenie tablicy mgr in. Adam Id kowski 4

ZADANIA 1. Napisz program, który policzy ilo zerowych elementów w tablicy jednowymiarowej 15-elementowej z liczbami typu int. Zainicjuj tablice z 15 liczbami, wsród nich umie w dowolnych miejscach kilka zer. 2. Napisz program który b dzie liczył sum liczb w tablicy n-elementowej. Liczba elementów n oraz elementy maj by podawane z klawiatury. 3. Napisz program, który policzy ilo zerowych elementów w tablicy dwuwymiarowej 3x4 z liczbami typu int. Zainicjuj tablice z liczbami, wsród nich umie w dowolnych miejscach kilka zer. 4. Napisz program, który zapisze do tablicy jednowymiarowej 20 wygenerowanych losowo liczb całkowitych z zakresu < 48, 122 >. Traktuj c te liczby jako kody ASCII program ma podawa liczb liter, cyfr, i innych znaków wyst puj cych w tablicy. Kody ASCII: Cyfry od 48 do 57 Litery od 65 do 90 i od 97 do 122 Inne znaki od 58 do 64 i od 91 do 96 mgr in. Adam Id kowski 5

Dodatek o u ywaniu funkcji generuj cych liczby losowe Random Numbers There may be times when you need to generate and use random numbers in your programs. Maybe you are writing code for a game program in which you need to simulate rolling dice. If you truly want to have a fair game, you should use random numbers. The code to generate random numbers differs depending on your compiler. In this tutorial, I am assuming you are using Dev's C++ compiler. How do random numbers get generated? Well, every computer has an internal clock and this clock makes it possible to seed random numbers. In standard C++, the statement: srand(unsigned(time(&t))); initializes, or "seeds", the random number generator. You must use this code before attempting to get any random number. You should only use this statement once in a program. It does not generate a random number; it simply gets the generator ready. t must be declared as: time_t t; You also must include the following two header files: #include <stdlib.h> // for srand ( ) and rand ( ) #include <time.h> // for time ( ) and time_t To get a random number in the range 0 to 100, you could use: int x = rand ( ) % 101; Suppose you want to generate random numbers in the range -15 to 33. After initializing the random number generator, use: var = rand ( ) % 49-15; In general, use the following form depending on the range of random numbers you wish to generate: rand ( ) % [number of integers in desired range] + [lowerbound]; Example: Write code that will fill the contents of an integer array, MAXSIZE of 50 integers, named intarr with randomly chosen numbers in the range -10 to 110. NOTE: If you are not familiar with arrays, see [One- Dimensional Arrays (section 8)]. srand(unsigned(time(&t))); time_t t; for (int k = 0; k < 50; k++) intarr[k] = rand() % 121-10; Our next topic is the member functions which are built in to C++ that allow programmers to perform operations necessary for programs to complete their overall purpose. Read on for more... mgr in. Adam Id kowski 6