1 / 18

Школа Рајак Програмерска радионица

Школа Рајак Програмерска радионица. ПОКАЗИВАЧИ И СТРИНГОВИ Предавач: Себастиан Новак Техничка подршка: Илија Рајак, Ким Новак www.rajak.rs. “ Bubble sort ” Алгоритам. ПОЧЕТАК. Целобројни х [4] = { 6 , 5, 1 , 3 } Целобројни i,j , temp. i=n. T. Сортиран низ. i>0. КРАЈ. T. j=1. T.

luigi
Download Presentation

Школа Рајак Програмерска радионица

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. Школа РајакПрограмерска радионица ПОКАЗИВАЧИ И СТРИНГОВИПредавач: Себастиан НовакТехничка подршка: Илија Рајак, Ким Новак www.rajak.rs

  2. “Bubble sort” Алгоритам ПОЧЕТАК Целобројни х[4] = { 6 , 5, 1, 3} Целобројни i,j, temp i=n T Сортиран низ i>0 КРАЈ T j=1 T j<=i i- - www.rajak.rs T x[j-1] >x[j] T j++ T temp=x[j-1]x[j-1]=x[j]x[j] = temp

  3. “Bubble sort” анимација Укључи / Искључи Wikipediaанимације i 6 1 5 3 j www.rajak.rs

  4. Низови и показивачи • Име низа је показивач на нулти члан низа. • Пример: Доказ да је име низа показивач на нулти члан: www.rajak.rs

  5. Низови у меморији рачунара www.rajak.rs

  6. Низови у меморији рачунара • Низови, када је реч о програмском језику C, се заузимају као један непрекидан блок дела меморије. • На пример низ целих бројева од 10 елемената се заузима као 10 промељивих целобројног типа, са једном разликом. Код низа су сви елементи један поред другог у меморији. 10 различитих променљивих могу да буду било где у меморији, на 10 различитих локација, нимало близу једна другој. • Оператор индексирања [ ] даје приступ елементу тако увећава адресу нултог члана за индекс елемента кога тражимо.&X[1] = &X[0] +1 • Зашто је ово важно?Због ове чињенице се низови преко функција обрађују исто као и у главном потпрограму. www.rajak.rs

  7. Пример 1: Испис низа употребом функцијеи показивача Помери слику кода Целобројни ispisNiza( Целобројни* P, Целобројни brEle) ПОЧЕТАК Целобројни i Целобројни Х[10] Целобројни rez i=0; ispisNiza(X,10) T i<brEle rez www.rajak.rs T i++ Врати 0 P[i] T T rez == 0 Успешно извршен програм Неуспешно извршен програм КРАЈ

  8. Пример 1: Испис низа употребом функцијеи показивача www.rajak.rs

  9. Пример 2: Измена низа употребом функције и показивача www.rajak.rs Сви подаци испод 20 су грешке при преносу, или грешка уређаја.Санирају се постављањем вредности тих елемената на 0.

  10. Пример 2: Измена низа употребом функције и показивача obradiPodatke(Целобројни* P, Целобрoјни n) ПОЧЕТАК Целобројни i Целобројни i Целобројни X[4] i=0 Т preuzmiPodatke(X, 4) i<n i++ Т obradiPodatke(X, 4) www.rajak.rs Т P[i]<100 ispisNiza(X,4) Т Обрађени подаци P[i]=0 КРАЈ Врати се одакле си позван

  11. Пример 2: Измена низа употребом функције и показивача www.rajak.rs

  12. ASCII табела www.rajak.rs

  13. Пример 3: Играње са начином конвертовања јединица и нула из меморије у вредности променљивих www.rajak.rs

  14. Пример 3: Играње са начином конвертовања јединица и нула из меморије у вредности променљивих www.rajak.rs

  15. Стрингови • Стрингови су само обичан низ типа char. Са једном битном особином. Последњи елемент мора да буде знак NULL односно ‘\0’. • Знак NULL даје смисао обичном низу знакова и говори је у питању стринг. • NULL је неопходан, да би функције које обрађују стрингове знале где је његов крај. • Примери неких стрингова: www.rajak.rs

  16. УНОС СТРИНГА • Strings.h • Stdio.h www.rajak.rs

  17. GETS / PUTS #include <stdio.h>#include <strings.h>int main(){ char str [10];scanf(“%s”, str);printf(“%s”, str); gets(str); puts(str); return 0; } www.rajak.rs

  18. Пример 4: Бројање самогласника у стрингу prebrojSamoglasnika(Знаковни* S) ПОЧЕТАК Целобројни i,n,brSm=0 Знаковни str[10] Целобројни brSmgls i=0 str i<n T prebrojSamoglasnike(str) www.rajak.rs T i++ Врати brSm brSmgls S[i] samoglasnik? T T brSmgls brSm++ КРАЈ

More Related