Advertisement
Aseron

Prog_3

Oct 29th, 2017
477
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C 3.45 KB | None | 0 0
  1. #include <stdio.h>
  2. #include <stdlib.h>
  3. #include <string.h>
  4.  
  5. int main()
  6. {
  7.     char* s1 = "Csernok";
  8.     char* s2 = "Eszes";
  9.     char* s3 = "Kobor";
  10.  
  11.     //most megnezzuk ki a legmajerebb
  12.  
  13.     char* sorted[3];
  14.  
  15.     /*
  16.     csak if-ekell lehet megoldani, ezért
  17.     mindig azt néztem, hogy melyik a legnagyobb(lexikografikusan),
  18.     aztán már csak két feltétel, hogy
  19.     a maradék kettő közül melyik lesz a nagyobb.
  20.     */
  21.     if(strcmp(s1,s2) > 0){
  22.         if(strcmp(s1,s3) > 0){
  23.             if(strcmp(s2,s3) > 0){
  24.                 sorted[0] = s1;
  25.                 sorted[1] = s2;
  26.                 sorted[2] = s3;
  27.             }else{
  28.                 sorted[0] = s1;
  29.                 sorted[1] = s3;
  30.                 sorted[2] = s2;
  31.             }
  32.         }
  33.     }
  34.     if(strcmp(s2,s1) > 0){
  35.         if(strcmp(s2,s3) > 0){
  36.             if(strcmp(s1,s3) > 0){
  37.                 sorted[0] = s2;
  38.                 sorted[1] = s1;
  39.                 sorted[2] = s3;
  40.             }else{
  41.                 sorted[0] = s2;
  42.                 sorted[1] = s3;
  43.                 sorted[2] = s1;
  44.             }
  45.         }
  46.     }
  47.     if(strcmp(s3,s1) > 0){
  48.         if(strcmp(s3,s2) > 0){
  49.             if(strcmp(s1,s2) > 0){
  50.                 sorted[0] = s3;
  51.                 sorted[1] = s1;
  52.                 sorted[2] = s2;
  53.             }else{
  54.                 sorted[0] = s3;
  55.                 sorted[1] = s2;
  56.                 sorted[2] = s1;
  57.             }
  58.         }
  59.     }
  60.  
  61.  
  62.  
  63.     int i;
  64.  
  65.     for(i = 0; i<3; i++){
  66.         printf("%s\n",sorted[i]);
  67.     }
  68.  
  69.     /* Szerintem ezt érti a megfelelő memóriakezelés alatt...
  70.     free(s1);
  71.     free(s2);
  72.     free(s3);
  73.     free(sorted);
  74.     */
  75.  
  76.     char* cim = "6666.Roma utca.08.";
  77.  
  78.     int utcahossz = strlen(cim)-9; //strlen() -> stringhossz
  79.  
  80.     // megadjuk a mereteket (plusz 1db 0, azaz a string vege)
  81.     char ir[5];
  82.     char ut[utcahossz+1];
  83.     char szam[3];
  84.  
  85.     ir[4] = 0;
  86.     ut[utcahossz] = 0;
  87.     szam[2] = 0;
  88.  
  89.     strncpy(ir,cim,4); // 4 karakterig masol ir-be cim-bol
  90.     strncpy(ut,cim+5,utcahossz); // (4 helyett 5 a +1 pont miatt) cim+5 bol masol ut-ba utcahossz karakternyit
  91.     strncpy(szam,cim+5+utcahossz+1,2); // asd.
  92.  
  93.     printf("%s %s %s\n", ir, ut, szam);
  94.  
  95.     /*
  96.     free(cim);
  97.     */
  98.  
  99.     // a zoldfulu herbalhippi
  100.     char* keresztnev = "Kakiba";
  101.     char* vezeteknev = "Matata";
  102.  
  103.  
  104.     int nevhossz = strlen(keresztnev)+strlen(vezeteknev)+1; //ket string hossza +1 a lezaro karakter miatt
  105.     char nev[nevhossz+1];
  106.  
  107.     nev[nevhossz] = 0;
  108.  
  109.     strcpy(nev,vezeteknev); //eloszor a nevbe masoljuk a vezeteknevet
  110.     strcat(nev,"-");  // ez mar csak hozzafuz
  111.     strcat(nev,keresztnev); // ezisdik
  112.  
  113.     printf("%s\n", nev);
  114.  
  115.     /* Szerintem ezt érti a megfelelő memóriakezelés alatt...
  116.     free(keresztnev);
  117.     free(vezeteknev);
  118.     */
  119.  
  120.     char* szoveg = strdup("Gyakori cigany nev a lakatos!");
  121.     // strdup() -> mintha char[] lenne, ha mar annyira ezt keri a feladat... :P
  122.  
  123.     int j;
  124.  
  125.     for(i = 0; i < strlen(szoveg); i++){ // vegigszantunk a szovegen
  126.         if(!strncmp(szoveg+i,"lakatos",7)){ // 0-t (hamis) ad vissza, ha megegyezik, ezért kell a '!', így ofc igaz lesz.
  127.             for(j = i; j < i+7; j++){
  128.                 szoveg[j]-=32; // ANSII
  129.             }
  130.         }
  131.     }
  132.  
  133.     if(1){
  134.         printf("alma");
  135.     }
  136.  
  137.     printf("%s", szoveg);
  138.  
  139.     /* ...és a biztonságos memóriakezelés alatt is.
  140.     free(szoveg);
  141.     */
  142.  
  143.     return 0;
  144. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement