1 / 8

Simboliskā tipa mainīgie, simbolu virkne kā simbolu masīvs.

Simboliskā tipa mainīgie, simbolu virkne kā simbolu masīvs. Mērķis: jāmacas sradat ar simbolu masīviem. Uzdevumi: Apskatit strukturu simboliskos datu tipus Jāmacas izmantot iebūvētās funkcijas simbolu virkņu apstrādē ( virkņu salīdzināšana, apakšvirknes atdalīšana, simbolu virkņu kopēšana ).

gwen
Download Presentation

Simboliskā tipa mainīgie, simbolu virkne kā simbolu masīvs.

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. Simboliskā tipa mainīgie, simboluvirkne kā simbolu masīvs.

  2. Mērķis: jāmacas sradat ar simbolu masīviem Uzdevumi: • Apskatit strukturu simboliskos datu tipus • Jāmacas izmantot iebūvētāsfunkcijas simbolu virkņu apstrādē (virkņusalīdzināšana, apakšvirknes atdalīšana,simbolu virkņu kopēšana)

  3. Simbolu virknes С stilā (char*) Simbolu virkne valodā С ir viendimensijas simbolu masīvs, kas beidzas ar nulles baitu '\0'. Piemēram: char s[8]="Borland“ glabājas atmiņā kā B|o|r|l|a|n|d|\0. Simbolu numerācija sākas ar nulli!

  4. Darbam ar virknēm valodā C funkcijam • strlen(s) - virknes garums (simbolu skaits, neskaitot pedējo baitu '\0'). • strcpy(s1,s2) - virknes s2 kopēšana virknē s1 • strcat(s1,s2) - pievienot virkni s2 virknei s1; • strncat(s1,s2,n) - pievienot virknei s1 virknes s2 pirmos n simbolus; • atoi(s) - vesels skaitlis, kas ierakstīts virknē s (ANSIstring to int); • atof(s) - reāls skaitlis, kas ierakstīts virknē s (ANSIstring to float);

  5. 1.piemērs. Programma pieprasa simbolu virkni un paziņo, cik tajā ir lielo latīņu burtu. #include <iostream.h> int main() { char s[80]; int k,x; cout << "s="; gets(s) ; // s - simbolu virkne x=0; // x - lielo latīņu burtu skaits virknē s for(k=0; k<strlen(s); k++) if ((s[k]>='A')&&(s[k]<='Z')) x++; cout << "\n x=" << x; }

  6. 2. piemērs. Virknē s aizvietot visas jautājuma zīmes ar izsaukuma zīmēm. #include <iostream.h> int main() { char s[80]; int k; cout << "s="; gets(s); for (k=0; k<strlen(s); k++) if (s[k]=='?') s[k]='!'; cout << "\n s=" << s; }

  7. 3. piemērs.Cik vārdu ir virknē s? Blakus esošie vārdi ir atdalīti ar vienu tukšuma zīmi. #include <iostream.h> Int main() { char s[80]; int k,x; cout << "\n Enter a String: "; gets(s); // ievadīt virkni, kurā ir tukšuma zīmes (stdio.h) // Vispirms, ja virkne beidzas ar tukšuma zīmi (-ēm), iznīcināsim to: x=0; // x - tukšuma zīmju skaits virknē S for (k=0; k<strlen(s); k++) if (s[k]==' ') x++; cout << "\n x=" << x;// vārdu būs par 1 vairāk nekā tukšuma zīmju }

  8. 4. piemērs. Vai virknē S1 ir kaut viens fragments, kas ir vienāds ar virkni S2?. #include <iostream.h> int main() { char S1[80], S2[80], *s; cout << "\n S1="; gets(S1); // virkņu ievade cout << "\n S2="; gets(S2); s=strstr(S1,S2); // rādītājs uz S2 sākumu virknē S1 if (s) cout << "\n Yes"; // vai: if (s==0) cout << "\n No"; else cout << "\n No"; // else cout << "\n Yes"; }

More Related