folder Tahribat.com Forumları
linefolder C - C++
linefolder C Ogrenen İnsana En Buyuk Yardim - Onun Yazdigi Kodu Usulune Uygun Ve Efektif Calisacak Bir Sekilde Yenilemek



C Ogrenen İnsana En Buyuk Yardim - Onun Yazdigi Kodu Usulune Uygun Ve Efektif Calisacak Bir Sekilde Yenilemek

  1. KısayolKısayol reportŞikayet pmÖzel Mesaj
    end
    end's avatar
    Kayıt Tarihi: 16/Ekim/2016
    Erkek
    #include<stdio.h>
    #include<string.h>
    #include <ctype.h>
    
     
    int main()
    {
        char str[256];
        char res[256];
        printf("Ferolamak istedigin yaziyi gir: ");
        scanf("%[^\n]", &str);
    
        int doubleCt = 1;
        for (int i = 0; i <  strlen(str); i++)
        {
            if (str[i] != ' ') {
                if (doubleCt >= 2) {
                    sprintf(res + strlen(res), "%c ", toupper(str[i]));
                    doubleCt = 1;
                } else {
                    sprintf(res + strlen(res), "%c", toupper(str[i]));
                    doubleCt++;
                }
            }
        }
    
        printf("\nFEROLANAN METIN: %s\n\nORIJINAL METIN: %s\n", res, str);
        return 0;
    }

    Inputtan gelen veriyi al, buyult ve iki harfe bir bosluk koy.

    Bunun en dogru ve efektif yazimi nasil olmalidir? 


    0x0480 takilin madem
  2. KısayolKısayol reportŞikayet pmÖzel Mesaj
    fly_on_the_shit
    fly_on_the_shit's avatar
    Kayıt Tarihi: 11/Haziran/2007
    Erkek

    her ucuncu karakter space olacagi icin soyle yapabilirsin, ayrica scanf e arrayin kendisini direkt vermen lazim & ile degil.

    #include <stdio.h>
    #include <string.h>
    #include <ctype.h>
    
    int main()
    {
        int n = 0;
        char str[256];
        char c, *p = str, res[256] = {0};
    
        printf("Ferolamak istedigin yaziyi gir: ");
        scanf("%[^\n]", str);
    
        while ((c = *p++)) {
            if (c != ' ') {
                if ((n + 1) % 3 == 0) {
                    res[n++] = ' ';
                }
                res[n++] = toupper(c);
            }
        }
    
        printf("\nFEROLANAN METIN: %s\n\nORIJINAL METIN: %s\n", res, str);
        return 0;
    }

     


    Copyright (c) 2012
  3. KısayolKısayol reportŞikayet pmÖzel Mesaj
    emirhan-exp
    emirhan-exp's avatar
    Kayıt Tarihi: 10/Ocak/2010
    Erkek

    Strcpy(tmp,str);

    Str=(Char *)malloc(strlen(tmp)*2)

    For(int i=1;i<=strlen(tmp);i++)

    If(tmp[i]!=' ') strcat(str,*tmp[i]+28);

    Strcat(str,' ');?

    }

    //print

     

    Bu tarz birsey mobildeyim de hata cikabilir.

     

     

     

     

    emirhan-exp tarafından 12/Eki/19 18:21 tarihinde düzenlenmiştir
  4. KısayolKısayol reportŞikayet pmÖzel Mesaj
    end
    end's avatar
    Kayıt Tarihi: 16/Ekim/2016
    Erkek

    Cok tiskurlerrr

    #include<stdio.h>
    #include<string.h>
    #include <ctype.h>
    
     
    int main()
    {
        char str[256], res[256];
        int y = 0;
    
        printf("Ferolamak istedigin yaziyi gir: ");
        scanf("%[^\n]", str);
    
        for (int i = 0; i < strlen(str); i++)
        {
            char syllable[5] = "%c";
    
            if (str[i] == ' ') {
                y -= 2;
                continue;
            }   
    
            if (y % 2 == 1)
                    strcat(syllable, " ");
       
            sprintf(res + strlen(res), syllable, toupper(str[i]));
            y++;
        }
    
        printf("\nFEROLANAN METIN: %s\n\nORIJINAL METIN: %s\n", res, str);
        return 0;
    }

    Bu hale getirdim orneklere bakinarak


    0x0480 takilin madem
  5. KısayolKısayol reportŞikayet pmÖzel Mesaj
    GuArDiAn55
    GuArDiAn55's avatar
    Kayıt Tarihi: 26/Haziran/2015
    Erkek

    http://www.lojikprob.com/category/c/ belki konuya giren birinin işine yarar diye linki kopyalayayım dedim buyursunlar efem.


    HACKEROKAN!
  6. KısayolKısayol reportŞikayet pmÖzel Mesaj
    emirhan-exp
    emirhan-exp's avatar
    Kayıt Tarihi: 10/Ocak/2010
    Erkek
    end bunu yazdı

    Cok tiskurlerrr

    #include
    #include
    #include 
    
     
    int main()
    {
        char str[256], res[256];
        int y = 0;
    
        printf("Ferolamak istedigin yaziyi gir: ");
        scanf("%[^\n]", str);
    
        for (int i = 0; i < strlen(str); i++)
        {
            char syllable[5] = "%c";
    
            if (str[i] == ' ') {
                y -= 2;
                continue;
            }   
    
            if (y % 2 == 1)
                    strcat(syllable, " ");
       
            sprintf(res + strlen(res), syllable, toupper(str[i]));
            y++;
        }
    
        printf("\nFEROLANAN METIN: %s\n\nORIJINAL METIN: %s\n", res, str);
        return 0;
    }

    Bu hale getirdim orneklere bakinarak

    Hocu moduler aritmetigi katlettin.

  7. KısayolKısayol reportŞikayet pmÖzel Mesaj
    end
    end's avatar
    Kayıt Tarihi: 16/Ekim/2016
    Erkek
    emirhan-exp bunu yazdı
    end bunu yazdı

    Cok tiskurlerrr

    #include
    #include
    #include 
    
     
    int main()
    {
        char str[256], res[256];
        int y = 0;
    
        printf("Ferolamak istedigin yaziyi gir: ");
        scanf("%[^\n]", str);
    
        for (int i = 0; i < strlen(str); i++)
        {
            char syllable[5] = "%c";
    
            if (str[i] == ' ') {
                y -= 2;
                continue;
            }   
    
            if (y % 2 == 1)
                    strcat(syllable, " ");
       
            sprintf(res + strlen(res), syllable, toupper(str[i]));
            y++;
        }
    
        printf("\nFEROLANAN METIN: %s\n\nORIJINAL METIN: %s\n", res, str);
        return 0;
    }

    Bu hale getirdim orneklere bakinarak

    Hocu moduler aritmetigi katlettin.

    yanlis bir sey yok?

    modunu aldigim sayiya 1 eklesem 0 kalanli olacakti, gerek yok.


    0x0480 takilin madem
  8. KısayolKısayol reportŞikayet pmÖzel Mesaj
    YeniHarman
    YeniHarman's avatar
    Kayıt Tarihi: 17/Haziran/2012
    Erkek
    end bunu yazdı
    #include
    #include
    #include 
    
     
    int main()
    {
        char str[256];
        char res[256];
        printf("Ferolamak istedigin yaziyi gir: ");
        scanf("%[^\n]", &str);
    
        int doubleCt = 1;
        for (int i = 0; i <  strlen(str); i++)
        {
            if (str[i] != ' ') {
                if (doubleCt >= 2) {
                    sprintf(res + strlen(res), "%c ", toupper(str[i]));
                    doubleCt = 1;
                } else {
                    sprintf(res + strlen(res), "%c", toupper(str[i]));
                    doubleCt++;
                }
            }
        }
    
        printf("\nFEROLANAN METIN: %s\n\nORIJINAL METIN: %s\n", res, str);
        return 0;
    }

    Inputtan gelen veriyi al, buyult ve iki harfe bir bosluk koy.

    Bunun en dogru ve efektif yazimi nasil olmalidir? 

    stdin'e atıyorum 257 karakter girsem ne olacak? (Hayır, char dizisi her zaman null ile bitmek zorunda değil! Elemanları char olan bir dizi sadece)

    strlen yerine null terminated olduğunu bildiğimiz için while (x != null) gibi de dönülebilir.

    toupper yerine 32'yi de çıkarabiliriz. Tabi istediğimiz aralıkta olduğuna emin olduktan sonra. Örneğin:

    if (chr >= 97 && chr <= 122) { chr-=32;}


    Olaylara karışmayın!
  9. KısayolKısayol reportŞikayet pmÖzel Mesaj
    end
    end's avatar
    Kayıt Tarihi: 16/Ekim/2016
    Erkek
    YeniHarman bunu yazdı
    end bunu yazdı
    #include
    #include
    #include 
    
     
    int main()
    {
        char str[256];
        char res[256];
        printf("Ferolamak istedigin yaziyi gir: ");
        scanf("%[^\n]", &str);
    
        int doubleCt = 1;
        for (int i = 0; i <  strlen(str); i++)
        {
            if (str[i] != ' ') {
                if (doubleCt >= 2) {
                    sprintf(res + strlen(res), "%c ", toupper(str[i]));
                    doubleCt = 1;
                } else {
                    sprintf(res + strlen(res), "%c", toupper(str[i]));
                    doubleCt++;
                }
            }
        }
    
        printf("\nFEROLANAN METIN: %s\n\nORIJINAL METIN: %s\n", res, str);
        return 0;
    }

    Inputtan gelen veriyi al, buyult ve iki harfe bir bosluk koy.

    Bunun en dogru ve efektif yazimi nasil olmalidir? 

    stdin'e atıyorum 257 karakter girsem ne olacak? (Hayır, char dizisi her zaman null ile bitmek zorunda değil! Elemanları char olan bir dizi sadece)

    strlen yerine null terminated olduğunu bildiğimiz için while (x != null) gibi de dönülebilir.

    toupper yerine 32'yi de çıkarabiliriz. Tabi istediğimiz aralıkta olduğuna emin olduktan sonra. Örneğin:

    if (chr >= 97 && chr <= 122) { chr-=32;}

    malloc diye bir sey varmis galiba bunun icin


    0x0480 takilin madem
  10. KısayolKısayol reportŞikayet pmÖzel Mesaj
    NoktaliVirgul
    NoktaliVirgul's avatar
    Kayıt Tarihi: 02/Temmuz/2007
    Erkek

    TA MA MD AE ĞE RK EL İM EN İN HE CE Sİ 3H AR FL İİ SE SO RU NO LU R.

    ---

    Kardeşim pazartesi pazartesi işim çok, benim aklıma şöyle şeyler sokmayın :D

    Python alternatifi:

    def get_syllables(word):
        syllables = []
        bits = ''.join(['1' if l in 'aeıioöuü' else '0' for l in word])
        seperators = (('101', 1),('1001', 2),('10001', 3))
        index, cut_start_pos = 0, 0
        while index < len(bits):
            for seperator_pattern, seperator_cut_pos in seperators:
                if bits[index:].startswith(seperator_pattern):
                    syllables.append(word[cut_start_pos:index + seperator_cut_pos])
                    index += seperator_cut_pos
                    cut_start_pos = index
                    break
            index += 1
        syllables.append(word[cut_start_pos:])
        return syllables
    cumle = input("Ferola: ")
    print(" ".join(" ".join(get_syllables(cumle.replace("(","").replace(")","").replace("'",""))).upper().split()))



    Heceleme fonksiyonu credits: https://gist.github.com/miratcan/9196ae2591b1f34ab645520a767ced17

    GİRDİ:

    Katlanarak her an katlanarak Before trap vakit geçerdi hep sallanarak (trap) Geriye dön bak deme lan bakamam (let's go) Rakama değil lan adama feat ver Beni de bi' ince seviyo kitlem Darlama buradan bi' siktir git len! Basını, tizini, midini bilmem Heceler geçerim, alayı dinler Hedefi seçerim, elimde pimler Bi' günde çıkarım, bi' ömür inmem İvmem yükselir inmem Şarkılarım fıtık gibi kulaklarda nüksedip inler Piller bitmedi birden (yok yok) Trenime bin nigga korkma demirden

    ÇIKTI:

    KAT LA NA RAK HER AN KAT LA NA RAK BE FO RE T RAP VA KIT GE ÇER DI HEP SAL LA NA RAK TRAP GE RI YE DÖN BAK DE ME LAN BA KA MAM LETS GO RA KA MA DE ĞIL LAN A DA MA FEAT VER BE NI DE BI IN CE SE VI YO KIT LEM DAR LA MA BU RA DAN BI SIK TIR GIT LEN! BA SI NI, TI ZI NI, MI DI NI BIL MEM HE CE LER GE ÇE RIM, A LA YI DIN LER HE DE FI SE ÇE RIM, E LIM DE PIM LER BI GÜN DE ÇI KA RIM, BI Ö MÜR IN MEM İVMEM YÜK SE LIR IN MEM ŞAR KI LA RIM FI TIK GI BI KU LAK LAR DA NÜK SE DIP IN LER PIL LER BIT ME DI BIR DEN YOK YOK TRE NI ME BIN NIG GA KORK MA DE MIR DEN

    BUG:

    parantezler sorun çıkıyor
    kesme işaretleri bazen sorun çıkarıyor
    ingilizce kelimeler sorun çıkartıyor (çünkü heceleme fonksiyonu türkçe için)

    kalın işaretlediğim kelimeyi tek başına ayırıyor ancak uzun cümlede sapıttı, sebebini bilmiyorum

    NoktaliVirgul tarafından 14/Eki/19 10:16 tarihinde düzenlenmiştir

    If my calculations are correct, when this baby hits eighty-eight miles per hour... you"re gonna see some serious shit.
  11. KısayolKısayol reportŞikayet pmÖzel Mesaj
    YeniHarman
    YeniHarman's avatar
    Kayıt Tarihi: 17/Haziran/2012
    Erkek
    end bunu yazdı

    malloc diye bir sey varmis galiba bunun icin

    calloc, malloc, free vs. hepsi dinamik bellek kullanımı için. Sorunun cevabı bu değil yani. Doğru cevap 

    scanf("%254c", str) olmalı.

    Bu arada res dizisinde taşma olur çünkü ekleme yapılıyor. En kötü durumda n + (n / 2) boyutunda olmalı.


    Olaylara karışmayın!
Toplam Hit: 1266 Toplam Mesaj: 11
c ogrenmek c dersleri c 2019