Şimdi Ara

Reddit, HN, Euler, DH gibi sitelerden iş görüşmesi soruları + ödev soruları (2. sayfa)

Daha Fazla
Bu Konudaki Kullanıcılar: Daha Az
3 Misafir - 3 Masaüstü
5 sn
207
Cevap
17
Favori
11.875
Tıklama
Daha Fazla
İstatistik
  • Konu İstatistikleri Yükleniyor
6 oy
Öne Çıkar
Sayfa: önceki 12345
Sayfaya Git
Git
sonraki
Giriş
Mesaj
  • 2^8 bitin kombinasyonunu göstermekten pek farkı yok bunun harflerin yeri değişmiyor


    int main()
    {
    char str[2][8]={{'A','B','C','D','E','F','G','H'},{'a','b','c','d','e','f','g','h'}};
    for(int x=0;x<256;++x)
    {
    for (int i=0; i < 8; i++)
    printf("%c",str[x >> i & 1 == 1 ][ i ]);
    printf("
    ");
    }
    getchar();
    return 0;
    }

    çıktı

    ABCDEFGH
    aBCDEFGH
    AbCDEFGH
    abCDEFGH
    ABcDEFGH
    aBcDEFGH
    AbcDEFGH
    abcDEFGH
    ABCdEFGH
    aBCdEFGH
    AbCdEFGH
    abCdEFGH
    ABcdEFGH
    aBcdEFGH
    AbcdEFGH
    abcdEFGH
    ABCDeFGH
    aBCDeFGH
    AbCDeFGH
    abCDeFGH
    ABcDeFGH
    aBcDeFGH
    AbcDeFGH
    abcDeFGH
    ABCdeFGH
    aBCdeFGH
    AbCdeFGH
    abCdeFGH
    ABcdeFGH
    aBcdeFGH
    AbcdeFGH
    abcdeFGH
    ABCDEfGH
    aBCDEfGH
    AbCDEfGH
    abCDEfGH
    ABcDEfGH
    aBcDEfGH
    AbcDEfGH
    abcDEfGH
    ABCdEfGH
    aBCdEfGH
    AbCdEfGH
    abCdEfGH
    ABcdEfGH
    aBcdEfGH
    AbcdEfGH
    abcdEfGH
    ABCDefGH
    aBCDefGH
    AbCDefGH
    abCDefGH
    ABcDefGH
    aBcDefGH
    AbcDefGH
    abcDefGH
    ABCdefGH
    aBCdefGH
    AbCdefGH
    abCdefGH
    ABcdefGH
    aBcdefGH
    AbcdefGH
    abcdefGH
    ABCDEFgH
    aBCDEFgH
    AbCDEFgH
    abCDEFgH
    ABcDEFgH
    aBcDEFgH
    AbcDEFgH
    abcDEFgH
    ABCdEFgH
    aBCdEFgH
    AbCdEFgH
    abCdEFgH
    ABcdEFgH
    aBcdEFgH
    AbcdEFgH
    abcdEFgH
    ABCDeFgH
    aBCDeFgH
    AbCDeFgH
    abCDeFgH
    ABcDeFgH
    aBcDeFgH
    AbcDeFgH
    abcDeFgH
    ABCdeFgH
    aBCdeFgH
    AbCdeFgH
    abCdeFgH
    ABcdeFgH
    aBcdeFgH
    AbcdeFgH
    abcdeFgH
    ABCDEfgH
    aBCDEfgH
    AbCDEfgH
    abCDEfgH
    ABcDEfgH
    aBcDEfgH
    AbcDEfgH
    abcDEfgH
    ABCdEfgH
    aBCdEfgH
    AbCdEfgH
    abCdEfgH
    ABcdEfgH
    aBcdEfgH
    AbcdEfgH
    abcdEfgH
    ABCDefgH
    aBCDefgH
    AbCDefgH
    abCDefgH
    ABcDefgH
    aBcDefgH
    AbcDefgH
    abcDefgH
    ABCdefgH
    aBCdefgH
    AbCdefgH
    abCdefgH
    ABcdefgH
    aBcdefgH
    AbcdefgH
    abcdefgH
    ABCDEFGh
    aBCDEFGh
    AbCDEFGh
    abCDEFGh
    ABcDEFGh
    aBcDEFGh
    AbcDEFGh
    abcDEFGh
    ABCdEFGh
    aBCdEFGh
    AbCdEFGh
    abCdEFGh
    ABcdEFGh
    aBcdEFGh
    AbcdEFGh
    abcdEFGh
    ABCDeFGh
    aBCDeFGh
    AbCDeFGh
    abCDeFGh
    ABcDeFGh
    aBcDeFGh
    AbcDeFGh
    abcDeFGh
    ABCdeFGh
    aBCdeFGh
    AbCdeFGh
    abCdeFGh
    ABcdeFGh
    aBcdeFGh
    AbcdeFGh
    abcdeFGh
    ABCDEfGh
    aBCDEfGh
    AbCDEfGh
    abCDEfGh
    ABcDEfGh
    aBcDEfGh
    AbcDEfGh
    abcDEfGh
    ABCdEfGh
    aBCdEfGh
    AbCdEfGh
    abCdEfGh
    ABcdEfGh
    aBcdEfGh
    AbcdEfGh
    abcdEfGh
    ABCDefGh
    aBCDefGh
    AbCDefGh
    abCDefGh
    ABcDefGh
    aBcDefGh
    AbcDefGh
    abcDefGh
    ABCdefGh
    aBCdefGh
    AbCdefGh
    abCdefGh
    ABcdefGh
    aBcdefGh
    AbcdefGh
    abcdefGh
    ABCDEFgh
    aBCDEFgh
    AbCDEFgh
    abCDEFgh
    ABcDEFgh
    aBcDEFgh
    AbcDEFgh
    abcDEFgh
    ABCdEFgh
    aBCdEFgh
    AbCdEFgh
    abCdEFgh
    ABcdEFgh
    aBcdEFgh
    AbcdEFgh
    abcdEFgh
    ABCDeFgh
    aBCDeFgh
    AbCDeFgh
    abCDeFgh
    ABcDeFgh
    aBcDeFgh
    AbcDeFgh
    abcDeFgh
    ABCdeFgh
    aBCdeFgh
    AbCdeFgh
    abCdeFgh
    ABcdeFgh
    aBcdeFgh
    AbcdeFgh
    abcdeFgh
    ABCDEfgh
    aBCDEfgh
    AbCDEfgh
    abCDEfgh
    ABcDEfgh
    aBcDEfgh
    AbcDEfgh
    abcDEfgh
    ABCdEfgh
    aBCdEfgh
    AbCdEfgh
    abCdEfgh
    ABcdEfgh
    aBcdEfgh
    AbcdEfgh
    abcdEfgh
    ABCDefgh
    aBCDefgh
    AbCDefgh
    abCDefgh
    ABcDefgh
    aBcDefgh
    AbcDefgh
    abcDefgh
    ABCdefgh
    aBCdefgh
    AbCdefgh
    abCdefgh
    ABcdefgh
    aBcdefgh
    Abcdefgh
    abcdefgh

    --------------
    sıfırları küçük birleri büyük harf farz edersek aynı sonucu vermiş olur.

    void showbits(int x)
    {
    for (int i=7; i >= 0; --i)
    if (x >> i & 1 == 1)
    putchar('1');
    else
    putchar('0');
    printf("
    ");
    }
    int main()
    {
    for(int x=0;x<256;++x)
    showbits(x);
    getchar();
    return 0;
    }

    çıktı

    00000000
    00000001
    00000010
    00000011
    00000100
    00000101
    00000110
    00000111
    00001000
    00001001
    00001010
    00001011
    00001100
    00001101
    00001110
    00001111
    00010000
    00010001
    00010010
    00010011
    00010100
    00010101
    00010110
    00010111
    00011000
    00011001
    00011010
    00011011
    00011100
    00011101
    00011110
    00011111
    00100000
    00100001
    00100010
    00100011
    00100100
    00100101
    00100110
    00100111
    00101000
    00101001
    00101010
    00101011
    00101100
    00101101
    00101110
    00101111
    00110000
    00110001
    00110010
    00110011
    00110100
    00110101
    00110110
    00110111
    00111000
    00111001
    00111010
    00111011
    00111100
    00111101
    00111110
    00111111
    01000000
    01000001
    01000010
    01000011
    01000100
    01000101
    01000110
    01000111
    01001000
    01001001
    01001010
    01001011
    01001100
    01001101
    01001110
    01001111
    01010000
    01010001
    01010010
    01010011
    01010100
    01010101
    01010110
    01010111
    01011000
    01011001
    01011010
    01011011
    01011100
    01011101
    01011110
    01011111
    01100000
    01100001
    01100010
    01100011
    01100100
    01100101
    01100110
    01100111
    01101000
    01101001
    01101010
    01101011
    01101100
    01101101
    01101110
    01101111
    01110000
    01110001
    01110010
    01110011
    01110100
    01110101
    01110110
    01110111
    01111000
    01111001
    01111010
    01111011
    01111100
    01111101
    01111110
    01111111
    10000000
    10000001
    10000010
    10000011
    10000100
    10000101
    10000110
    10000111
    10001000
    10001001
    10001010
    10001011
    10001100
    10001101
    10001110
    10001111
    10010000
    10010001
    10010010
    10010011
    10010100
    10010101
    10010110
    10010111
    10011000
    10011001
    10011010
    10011011
    10011100
    10011101
    10011110
    10011111
    10100000
    10100001
    10100010
    10100011
    10100100
    10100101
    10100110
    10100111
    10101000
    10101001
    10101010
    10101011
    10101100
    10101101
    10101110
    10101111
    10110000
    10110001
    10110010
    10110011
    10110100
    10110101
    10110110
    10110111
    10111000
    10111001
    10111010
    10111011
    10111100
    10111101
    10111110
    10111111
    11000000
    11000001
    11000010
    11000011
    11000100
    11000101
    11000110
    11000111
    11001000
    11001001
    11001010
    11001011
    11001100
    11001101
    11001110
    11001111
    11010000
    11010001
    11010010
    11010011
    11010100
    11010101
    11010110
    11010111
    11011000
    11011001
    11011010
    11011011
    11011100
    11011101
    11011110
    11011111
    11100000
    11100001
    11100010
    11100011
    11100100
    11100101
    11100110
    11100111
    11101000
    11101001
    11101010
    11101011
    11101100
    11101101
    11101110
    11101111
    11110000
    11110001
    11110010
    11110011
    11110100
    11110101
    11110110
    11110111
    11111000
    11111001
    11111010
    11111011
    11111100
    11111101
    11111110
    11111111



    < Bu mesaj bu kişi tarafından değiştirildi Guest-D992B0457 -- 9 Ağustos 2019; 12:56:16 >




  • Bende ona benzer şekilde yapmıştım.

    #include <stdio.h>
    #include <string.h>
    #include <stdint.h>

    int main(int a, char *argv[])
    {
    char *kelime = argv[1];
    int uzn = strlen(kelime);
    uint64_t maks = (1u << uzn) - 1;

    uint64_t basla = -1;
    do {
    uint64_t deger = ++basla;
    for(int i = 0; i < uzn; ++i) {
    kelime &= ~0x20;
    kelime |= (deger & 1) << 5;
    deger >>= 1;
    }
    printf("%s\n", kelime);
    }
    while(basla != maks);
    return 0;
    }



    < Bu mesaj bu kişi tarafından değiştirildi elektro_gadget_ -- 9 Ağustos 2019; 12:43:0 >
    < Bu ileti mobil sürüm kullanılarak atıldı >
  • dh ye kod yazmak eziyet yazdığım kodlar siliniyor yada saçma <span> bişeyler çıkıyor

    bu işlemi tek satırda yapan c kodu
    Reddit, HN, Euler, DH gibi sitelerden iş görüşmesi soruları + ödev soruları
  • Guest-D992B0457 G kullanıcısına yanıt
    Konumuz yalın kod yazmak ancak esas amaç yeni programlama yöntemlerini etkili biçimde kullanmak. Durum böyleyken sen klasik C kodu yazdın. "{" ile başlayan sıralar dışında 16 sıralık senin C kodu Perl 6'da tek sıra :)

    quote:

    given my $d=3 {for 1..2**$d ->$e {print join("", map {$e +& (2**$_) ?? 1 !! 0}, 0..^$d)~" "}}


    Çalışma anı:
    Reddit, HN, Euler, DH gibi sitelerden iş görüşmesi soruları + ödev soruları


    Şimdi başka bir soru:
    Paskal üçgenini basan kod yazınız.

    5 değerinde Paskal üçgeni için örnek çıktılar:


    $ python paskal-ucgen.py
    [1]
    [1, 1]
    [1, 2, 1]
    [1, 3, 3, 1]
    [1, 4, 6, 4, 1]

    $ perl6.exe paskal-ucgen.pl
    1
    1 1
    1 2 1
    1 3 3 1
    1 4 6 4 1


    Sola yatık de arada virgül olan, dizi operatörü içeren çıktılar da olabilir ancak böyle çıktı daha iyi görünüyor dogal olarak.

    Not: Paskal üçgeninin Wikipedia ile birlikte Internette birçok sitede çözümü var.



    < Bu mesaj bu kişi tarafından değiştirildi Tuğkan-0153 -- 11 Ağustos 2022; 13:8:17 >




  • elektro_gadget_ E kullanıcısına yanıt
    Raku'nun tek sıra kod ile yapılabilen birnesi, C'de 17 sıralık kodla yapmanın avantajını söyle ben de C kullanmaya başlayacağım :)



    < Bu mesaj bu kişi tarafından değiştirildi Tuğkan-0153 -- 15 Eylül 2022; 0:37:7 >
  • quote:

    Orijinalden alıntı: Tuğkan-0153

    Raku'nun tek sıra kod ile yapılabilen birnesi, C'de 17 sıralık kodla yapmanın avantajını söyle ben de C kullanmaya başlayacağım :)
    Şaka dimi?

    < Bu ileti mobil sürüm kullanılarak atıldı >
  • https://forum.donanimhaber.com//mesaj/yonlen/139500699
    Reddit, HN, Euler, DH gibi sitelerden iş görüşmesi soruları + ödev soruları

    tek satır



    < Bu mesaj bu kişi tarafından değiştirildi Guest-D992B0457 -- 9 Ağustos 2019; 16:22:47 >




  • Guest-D992B0457 G kullanıcısına yanıt
    Kodu denedim, güzel düşünce, C'nin for döngüsü içinde birden komut komut içerme olanağını, ASCII koduna 32 ekleyince A -> a olması, bitsel aritmetiği iyi kullanıyor ancak kod kırılgan. Benim Windows taki GCC 5.1 ile ilk denemede doğru çalışmadı.
    Reddit, HN, Euler, DH gibi sitelerden iş görüşmesi soruları + ödev soruları



    < Bu mesaj bu kişi tarafından değiştirildi Tuğkan-0153 -- 15 Eylül 2022; 0:38:16 >
  • devc++ uyarı dahi yok kod temiz
    Reddit, HN, Euler, DH gibi sitelerden iş görüşmesi soruları + ödev soruları

    edit: x 256 yerine 2048 den küçükse yazman lazım.



    < Bu mesaj bu kişi tarafından değiştirildi Guest-D992B0457 -- 9 Ağustos 2019; 17:1:22 >
  • elektro_gadget_ E kullanıcısına yanıt
    Şaka doğal olarak ancak gerçeklik payı var: Karışık dizi, yazı işlemlerini C ile programlayarak yeni programcılık yöntemlerini öğrenmek yada kullanmak cok zor.

    Gözünüze iliştiyse, Raku (eski adıyla Perl 6) for döngüsü kullanmadan dizileri işleyebiliyor de Haskell örnek alınarak eklenen yeni özellikler sayesinde dizi üzerinde en karışık işlemleri bile en kısa biçimde kodlayabiliyorsunuz. Bu özellikler Python'da yok.

    Perl (5) bilen biri olarak Raku'da dizileri virgülsüz tanımlama özelliği ilgimi çektiği için öğreneyim dedim, yeni özelliklerini öyle açımlamaya başladım.

    2-3 haftadır Raku kullanıyorum. Perl 5'te ('Ertunc', 'Fatma', 'Hasan') biçiminde tanımlanabilen string dizisi, Raku 'da <Ertunc Fatma Hasan> olarak tanımlanabiliyor, bu hem kolay okunan bir görüntü hem de pratik programlama olanağı sağlıyor.



    < Bu mesaj bu kişi tarafından değiştirildi Tuğkan-0153 -- 11 Ağustos 2022; 13:12:18 >




  • Guest-D992B0457 G kullanıcısına yanıt
    printf'nin parantezini yanlış yerde kapatmışım düzeltince çalıştı ancak görülebildiği ölçüde yalnızca ardışık karakterler üzerinde çalışıyor dolayısıyla örneğin "importance" gibi bir sözcük üzerinde özdeş işlemi yaptırmak olası değil:

    Reddit, HN, Euler, DH gibi sitelerden iş görüşmesi soruları + ödev soruları


    Neyse, sonraki soru üzerine yorumları alayım. Paskal üçgenini en kısa nasıl kodlayabilrsiniz :)



    < Bu mesaj bu kişi tarafından değiştirildi Tuğkan-0153 -- 11 Ağustos 2022; 13:14:11 >
  • char str[2][8]={{'A','B','C','D','E','F','G','H'},{'a','b','c','d','e','f','g','h'}};

    bu tanımlamayı şöyle de yapabiliriz char str[2][10]={{"ABCDEFGH"},{"abcdefgh"}};

    c dili belli amaçlar için oluşturulmadığı halde bukadar iş çıkarması nekadar başarılı olduğunu gösteriyor.
  • Guest-D992B0457 G kullanıcısına yanıt
    C bilimsel problemleri kodlamak için değil, Unix'i programlamak üzere tasarlanmış.

    Ha, tasarımı cok başarılı olduğundan temel bilimsel problemlerde de kullanılıyor o ayrı. Sonuçta problem biraz karışıklaştığında C zor durumda kalır.

    paskal üçgenini Scheme ile kodladım. 10 sıra sürdü ancak pak sonuç verdi. Esasında paskal ücgeni C ile 10 satırı cok aşmayacak biçimde kodlanabilir ancka Scheme'de kodu yazarken deneme olanağı var, C'de yok o yüzden bu tür problemleri geliştirmek daha zor. Scheme'de üstteki pencerede yazıyorum 2 komutla anında alttaki pencerede kodu deneyebiliyorum:

    Reddit, HN, Euler, DH gibi sitelerden iş görüşmesi soruları + ödev soruları



    < Bu mesaj bu kişi tarafından değiştirildi Tuğkan-0153 -- 11 Ağustos 2022; 13:16:35 >




  • https://rosettacode.org/wiki/Pascal%27s_triangle#Perl_6

    her dilde var



    < Bu mesaj bu kişi tarafından değiştirildi Gökşen PASLI -- 13 Ağustos 2019; 12:12:2 >
  • doğrusu bu koddan hiç bir şey anlamadım hazır fonksiyon varmı?

    @Gökşen PASLI'nın verdiği linkte c diliyle hazır fonksiyon olmadan 6-7 satırla yapılmış.

    void pascaltriangle(unsigned int n)
    {
    unsigned int c, i, j, k;

    for(i=0; i < n; i++) {
    c = 1;
    for(j=1; j <= 2*(n-1-i); j++) printf(" ");
    for(k=0; k <= i; k++) {
    printf("%3d ", c);
    c = c * (i-k)/(k+1);
    }
    printf("\n");
    }
    }
  • Guest-D992B0457 G kullanıcısına yanıt
    Paskal üçgeni Fibonacci dizisi ile özdeş ilerleyişe iye bir tek gösterimi değişik (wikipedia'da paskal - fibonacci ilişkisi gösteriliyor)

    burada cok büyük olasılıkla fibonacci gibi matematiksel formül tanımı üzerinden giderek çözüyor olmalı ki bu programcı çözümünden cok matematik formulün C ile uygulanması oluyor başka deyişle bu çözümün programcılık açısından pek bir esprisi yok.

    Onun bir altında C ile rekürsif çözüm var o iyi görünmekle beraber gerçek rekürsif çözüm değil cunku iterasyon (döngü) var, gerçek rekürsif kodda iterasyon olmaz. Daha ötesi paskal üçgenindeki bir önceki sırayı tutmak üzere bir integer dizisi daha tanımlıyor ki gerçek rekürsif çözümde ona da gerek kalmaz.

    rekürsif çözümü doğru uygulayan Scheme kodu. Gözünüze iliştiyse o kodda hiçbir dizi yada listeyi önceden tanımlamıyor. Bununla beraber Scheme kodunda da birkaç eksik yakaladım, birincisi Scheme'deki isteğe bağlı (optional) argüman kullanarak kodu 3 sıra kısaltabilirsiniz, ikincisi ana işlemi iki rekürsif fonksiyona bölmek yerine yerine tek fonksiyon içinde duble rekürsif olarak da yazabilirsiniz böylelikle kod 2 sıra daha kısalabilir. Buradaki "kısaltma" ile amacımız kodun boyutunu kısaltmaktan cok, "daha az sayıda kod ile daha çok nes anlatmak" :)



    < Bu mesaj bu kişi tarafından değiştirildi Tuğkan-0153 -- 11 Ağustos 2022; 13:21:41 >




  • rekürsif kodda neden döngü olmasın böyle bir kuralmı var?
  • Guest-D992B0457 G kullanıcısına yanıt
    Rekürsif kodun içinde döngü (iterasyon) olması futbol maçında topu elle oynamak gibi bir nes :)



    < Bu mesaj bu kişi tarafından değiştirildi Tuğkan-0153 -- 11 Ağustos 2022; 13:22:38 >
  • quote:

    Orijinalden alıntı: Tuğkan-0153

    Rekürsif kodun içinde döngü (iterasyon) olması futbol maçında topu elle oynamak gibi bir nes :)
    bu bakış açısı bana mazoşizmi hatırlattı yazımı en kolay performansı en iyi olan benim için en iyi koddur.
  • Guest-D992B0457 G kullanıcısına yanıt
    Bakış açısı değil, teknik.

    Universidad Rey Juan Carlos'tan CompSci PhD'li Manuel Rubio Sánchez ile Harvard'tan CompSci PhD'li Paul Graham, rekürsif kodlama tekniği üzerine anlatılar, tutoriallar yayınlamış, bu tekniğin iterasyona göre etkin de geleceğin programcılık tekniği olduğunu belirtmişler.

    Sence ben onların bilgi ile deneyimine mi bakarım, yoksa her bir nesi C şablonunda çözmeye çalışan birinin bir twit uzunluğundaki yorumuna mı



    < Bu mesaj bu kişi tarafından değiştirildi Tuğkan-0153 -- 11 Ağustos 2022; 13:26:26 >
    < Bu ileti mini sürüm kullanılarak atıldı >
  • 
Sayfa: önceki 12345
Sayfaya Git
Git
sonraki
- x
Bildirim
mesajınız kopyalandı (ctrl+v) yapıştırmak istediğiniz yere yapıştırabilirsiniz.