Tekstitöötlus Sõne, string.

Slides:



Advertisements
Seotud esitlused
MSE Soojusmajandus ENERGIA TARBIMINE 2 osa.
Advertisements

Eesti maaelu arengukava vahehindamine
Rahvatervise süsteemi kaasajastamine
Tere tulemast kogemuskohtumisele!
Hariduse väljakutsed, üldhariduskoolide võrk ja koolivõrgu programm
Korvpalluri füüsiline ettevalmistus
Täiskasvanu kui enesearengu subjekt
Esitluse väljavõte:

Tekstitöötlus Sõne, string

Tekstitöötlusest Meenutuseks: Sõne/tekst/string on tähemärkidest koosnev massiiv Sõned on jutumärkide vahel, tähemärgid on ülakomade vahel Teksti lõppu tähistab erisümbol '\0’ (null-terminated) char w[] = "Mannavaht" char w[12] = "Mannavaht" Iga täht on tegelikult number vastavalt ASCII tabelile 'A' – 65, 'B' – 66, 'C' – 67 'a' – 97, 'b' – 98, 'c' – 99 '0' – 48, '1' – 49, '2' – 50 '\t' – 9, '\n’ – 10 M a n v h t \0 M a n v h t \0 2019 Risto Heinsar

Sõnede manipuleerimine Me saame võrrelda ja omistada tähemärke word[i] == 'a'; word[i] = 'a'; Tähemärke ükshaaval manipuleerides veendu, et sõned on korrektselt lõpetatud! word[i] = '\0'; Veel näiteid tähemärkide manipuleerimisest https://blue.pri.ee/ttu/programmeerimine-i/koodinaited/characters-c/ 2019 Risto Heinsar

Näide 1 #include <stdio.h> #include <string.h> int main(void) { int i, n; char word[] = "Mannavaht"; for (i = 0, n = strlen(word); i < n; i++) // printf("%c", word[i]) – this is considered wasteful putchar(word[i]); } putchar('\n'); return 0; 2019 Risto Heinsar

Näide 2 #include <stdio.h> #include <string.h> int main(void) { int i, n; char word[] = "Mannavaht"; for (i = 0, n = strlen(word); i < n; i++) if (word[i] == 'a') printf("Letter 'a' found at position %d\n", i + 1); } return 0; 2019 Risto Heinsar

Teegid Sõnedega lihtsamalt toimetamiseks kasutame <string.h> teeki http://www.cplusplus.com/reference/cstring/ Üksikute tähemärkide puhul on abiks <ctype.h> teek http://www.cplusplus.com/reference/cctype/ Kõike võib alati teha puhtalt ASCII tabeli põhjal! 2019 Risto Heinsar

Tunnitöö Lae alla baaskood Andmed on esitatud lihtsustatud CSV formaadis – iga väli on komaga eraldatud. Andmed on antud algväärtustatud massiivina. Koosta kõigile isikutele personaalne meiliaadress. Nimeosaks on 3 tähte eesnimest ja perenimest, millele järgneb domeen. Meiliaadress salvesta uude tähemärgimassiivi ja väljasta selle kaudu! Väljasta inimeste nimed ja loodud meiliaadressid: Nimi: Maria Kask E-post: markas@ttu.ee 2019 Risto Heinsar

Edasijõudnutele Programm peab töötama ka lühemate nimede puhul Ly Kask -> lykask@ttu.ee Lisa igale kasutajale väli personaalse tekstiga, mis võib sisaldada koma kui lause osa. CSV formaati kui sellist rikkuda ei tohi, st kui sellele peaks järgnema veel üks väli, siis on see eristatav. 2019 Risto Heinsar