OPERACJE NA TEKSTACH, Informatyka HELP


OPERACJE NA TEKSTACH

Teksty przechowuje się w tablicach typu char. W tablicy możemy zapamiętać dowolnie długi tekst w postaci łańcucha znaków.

1. char nazwisko[ ] = " ABCDEFGH " ; // powoduje utworzenie tablicy o nazwie nazwisko zawierającej 9 a nie 8 elementów, gdyż ostatnim znakiem tekstu jest znak kończący '\0'

Inicjując tablicę łańcuchem znaków, używamy znaku cudzysłowu "

Przy zapisywaniu pojedynczego znaku wykorzystujemy znak apostrofu ' .

2. char nazwisko [8] = " ABCDEFGH "; // deklaracja błędna, ponieważ brakuje miejsca na znak kończący ' \ 0'.

3. char *nazwisko = " ABCDEFGH " ; // tekst o określonej długości - zadeklarowano wskaźnik nazwisko, wskazujący na początek podanego tekstu (stałej tekstowej).

cout << nazwisko; // wydruk tekstu

4 while ( *nazwisko ) // w przypadku, gdy istnieje potrzeba wydrukowania fragmentu

cout << *nazwisko + + ; // tekstu lub gdy trzeba wykonać pewne operacje na tekście
w trakcie wydruku.

Instrukcja 4-ta jest równoważna fragmentowi :

4a while ( *nazwisko ) // wyprowadzenie znaku wskazywanego przez wskaźnik nazwisko

{

cout << * nazwisko ;

nazwisko + + ; // zwiększenie wskaźnika

}

Gdy chcemy następnie wykonać jakąkolwiek operację na tekście, to musimy dodatkowo zadeklarować wskaźnik pomocniczy, któremu należy przypisać wskazanie na początek tekstu np.

5. char *nazwisko = " ABCDEFGH " ;

char *nz ; // deklaracja wskaźnika pomocniczego

// nz - będzie wskazywał na początek tekstu

5a nz = nazwisko ;

while ( *nz )

cout << *nz + + ;

Wyznaczenie długości tekstu można zrealizować:

6) dl = 0 ;

nz = nazwisko ;

while ( *nz + + )

dl + + ;

cout << " Długość tekstu " << dl ;

W przypadku gdy zachodzi konieczność modyfikacji tekstu, stosujemy deklarację:

char nazwisko[ ] = " ABCDEFGH " ; // Przy tej deklaracji możliwe jest wczytanie pewnego

7) tekstu z zewnątrz, nie większego niż 8 znaków przy pomocy instrukcji

for ( int i = 0 ; i <n ; i + + )

cin >> nazwisko[ i ] ;

Aby wczytać zupełnie nowy tekst, należy napisać:

8) cin >> nazwisko ;

Ćwiczenie 1

Napisać program składający się z podprogramów :

np. okno programu może mieć postać:

Podaj długość tekstu ( <=8 )

... (np. 6)

Podaj tekst

... (np. Kowal)

Kowal - wyświetli napis Kowal

KowalFGH - uzupełni napis Kowal do ośmiu liter pierwszym sposobem

KowalFGH - uzupełni napis Kowal do ośmiu liter drugim sposobem

Długość tekstu 8 - wyświetli napis

Podaj tekst

.... (np. Jan)

Wczytany tekst: Jan

Rozwiązanie

.......................

.......................

Jeżeli chcemy wykonywać pewne operacje na dowolnych tekstach, to musimy zdeklarować tablicę znaków, w której tekst się zmieści:

9) char litery [100] ;

Do wpisywania tekstu do tablicy ( np. kolejnych liter alfabetu ) możemy wykorzystać instrukcję:

char lit ; int i ;

10) for ( lit ='a' , i = 0 ; lit <= 'z' ; lit + +, i + + )

litery[ i ] = lit ;

Trzeba także dodać instrukcję znaku kończącego tekst

litery [ i ] = ' \ 0 ' ;

Wydruk zdefiniowanego tekstu lub jego fragmentu możemy realizować :

cout << litery[ i ] ; // zostanie wyprowadzonych pierwszych 10 liter )

cout << endl ;

cout << *( litery + i ) ; // jej pierwszego elementu

cout << endl ;

Można też do wydruku części końcowych liter tekstu wykorzystać konstrukcję analogiczną jak
w ćwiczeniu 1

wsk = litery ;

wsk + = 10 ; // zwiększenie wskaźnika o 10

while ( *wsk ) // wyprowadzenie i wydruk liter tekstu poczynając od 11 litery

cout << *wsk + + ;

Koniecznie trzeba utworzyć wskaźnik wsk z tego względu, że nazwa tablicy podaje zawsze adres jej pierwszego elementu).

Ćwiczenie 2

Napisać program składający się z podprogramów :

np. okno programu może mieć postać:

Program drukuje tekst w postaci alfabetu od a do z

abcdefg......z

Program drukuje pierwsze 10 liter alfabetu

abcdefghij - pierwszym sposobem

abcdefghij - drugim sposobem

Program drukuje koncowy fragment tekstu od 11 litery

klmnop ..... z

Składowe programu:

- Wygenerowanie tekstu

- Wydruk początkowego fragmentu tekstu (pierwszy sposób)

- Wydruk początkowego fragmentu tekstu (drugi sposób)

- Wydruk końcowy fragmentu tekstu od 11 litery

Operacje na tekstach

4



Wyszukiwarka

Podobne podstrony:
5 TurboPascal Operacje na tekstach
Operacje na tekstach
Operacje na liczbach binarnych, Informatyka
4 Operacje na Plikach ppt
4 operacje na zmiennych I
34 Pliki Operacje na plikach w Pascalu
zadania na kolokwium informatyka, gik, semestr 4, informatyka
Jak podzielić dysk na partycje, Informatyka -all, INFORMATYKA-all
późniak koszałka,bazy?nych, Podstawowe operacje na?zach?nych
załacznik 1 zapyt. ofert. na tablice informacyjne Pługa 2012, Przegrane 2012, Rok 2012, poczta 08.08
Frontex, Frontex (Europejska Agencja Zarządzania Współpracą Operacyjną na Zewnętrznych Granicach Pań
Wskazniki, Informatyka HELP
Operacje na macierzach id 33628 Nieznany
Znieczulenie do operacji na tętnicy szyjnej
Znieczulenie do operacji na tętnicy szyjnej
07 operacje na danychid 7063 ppt

więcej podobnych podstron