Telaryon

String alapok (karaktertömb használatával)

Mar 13th, 2017
94
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C 2.43 KB | None | 0 0
  1. #include <stdio.h>
  2. #include <stdlib.h>
  3. #include <ctype.h>
  4. #include <string.h>
  5.  
  6. void beolvas(char *p);
  7. int stringlenght(char*p);
  8. char *sztringforditas(char*p);
  9. int karakterszamolo(char *p, char ch);
  10. void karakter_beolvas(char *ch);
  11.  
  12. int main(void){
  13.     char str1[] = "This is a test string";
  14.     char str2[100];
  15.  
  16.     beolvas(str2);
  17.     printf("Elso szoveg: %s", str1);
  18.     printf("Masodik szoveg: %s", str2);
  19. /*
  20.     int h1 = stringlenght(str2);
  21.     int h2 = strlen(str2);
  22.     printf("A masodik szoveg hossza:%d, %d", h1, h2);
  23.  
  24.     char *q = sztringforditas(str1);
  25.     printf("Elso szoveg forditva : %s\n", q);
  26.     printf("Elso szoveg: %s", str1);
  27.  
  28.     char ch;
  29.     karakter_beolvas(&ch);
  30.     int kar_db = karakterszamolo(str1, ch);
  31.     printf("Text: %s, %c karakterek szama: %d\n", str1, ch, karakterszamolo);
  32.     */
  33.     //sztring osszehasonlitas
  34.     int e = strcmp(str1, str2);
  35.     printf("%s", e>0 ? "A masodik a hoszabb." : "Az elso a hoszabb.");
  36.  
  37.     //reszstring kereses
  38.     printf("Megtalalt reszsztring:\n %s", strstr(str1, str2));
  39.  
  40.     //Karakterkereses
  41.     printf("Megtalalt karakter: %s\n", strchr(str1, 'a'));
  42.  
  43.     //Sztringosszefuzes
  44.     printf("Osszefuzve %s\n", strcat(str2, str1));
  45.  
  46.     //sztringmasolas
  47.     printf("Masolt string: %s\n", strcpy(str2, str1));
  48.  
  49.     //Sztring_osszehasonlitas
  50.     int f = strcmp(str1, str2);
  51.     printf("%s", f==0 ? "A ket string azonos." : "A ket string kulombozo.");
  52.     return 0;
  53. }
  54.  
  55. void beolvas(char *p){
  56.     printf("Adj meg egy szoveget max 100 karakter");
  57.     //scanf("%s", p);
  58.     int i = 0;
  59.     char ch;
  60.  
  61.     while((ch = getchar())!=27){//ESC + Enter-re lealldgd
  62.         p[i] = ch;
  63.         i++;
  64.     }
  65.     p[i]='\0';
  66.     return ;
  67. }
  68.  
  69. int stringlenght(char*p){
  70.     int db = 0;
  71.  
  72.     while(*p){
  73.         db++;
  74.         p++;
  75.     }
  76.     return db;
  77. }
  78.  
  79. char * sztringforditas(char*p){
  80.     int i;
  81.     char seged;
  82.     char *start = p;
  83.     int hossz = stringlenght(p);
  84.  
  85.     for(i = 0; i < hossz/2; i++){
  86.         //helycsere
  87.         seged = p[i];
  88.         p[i] = p[hossz-1-i];
  89.         p[hossz-1-i] = seged;
  90.     }
  91.  
  92.     return start;
  93. }
  94.  
  95. int karakterszamolo(char *p, char ch){
  96.     int db = 0;
  97.     int i = 0;
  98.  
  99.     for(i = 0; p[i]!='\0'; i++){
  100.         if(p[i]==tolower(ch) || p[i]==toupper(ch)){
  101.         }
  102.     }
  103.  
  104.     return db;
  105. }
  106.  
  107. void karakter_beolvas(char *ch){
  108.     printf("Add meg a keresendo karaktert: ");
  109.     scanf(" %c", ch);
  110.  
  111.     return ;
  112. }
Advertisement
Add Comment
Please, Sign In to add comment