Şimdi Ara

C/C++/C# Sorularınız Buraya. . .(GÜNCEL) (63. sayfa)

Daha Fazla
Bu Konudaki Kullanıcılar: Daha Az
2 Misafir - 2 Masaüstü
5 sn
4.172
Cevap
118
Favori
170.223
Tıklama
Daha Fazla
İstatistik
  • Konu İstatistikleri Yükleniyor
3 oy
Öne Çıkar
Sayfa: önceki 6162636465
Sayfaya Git
Git
sonraki
Giriş
Mesaj
  • quote:

    Orijinalden alıntı: ► v-s-l ◄

    C++ da ilginç bir hata

    #include <iostream> 
    using namespace std;

    int main()
    {
    char a;
    for (a=126; a<=128; a++)
    cout << a << endl;
    return 0;
    }


    Bu kodu derlediğimde sonsuz döngüye girmiş gibi karakterler akıyor. Bir hata mı var ?

    Char ın sınırını aşıyorsun, değişken tiplerini çalış.
  • quote:

    Orijinalden alıntı: ► v-s-l ◄

    C++ da ilginç bir hata

    #include <iostream> 
    using namespace std;

    int main()
    {
    char a;
    for (a=126; a<=128; a++)
    cout << a << endl;
    return 0;
    }


    Bu kodu derlediğimde sonsuz döngüye girmiş gibi karakterler akıyor. Bir hata mı var ?

    C++'dan kaynaklı bir hata yok.

    char 0 ile 127 arasında değer tutar.
    a = 128 olduğu zaman bit işlemlerinden dolayı sayı -128 olur.
    Daha açık olursam en büyük char bit olarak 01111111 dir. Sen buna 1 eklersen sayı 10000000 olur. En soldaki bit işaret bitidir. 1 olursa eksi demektir. Yani sayımız artık -128 dir. -128 < 128 olduğu için for'a devam edecektir. Bu şekilde sonsuz bir döngüye girer.
  • quote:

    Orijinalden alıntı: uykusu gelen adam

    merhaba,
    Visual studio c# ta bir program yazdığımda konsolda çıktı olarak istediğim çıkıyor ancak değişiklik yaptığımda yine bir önceki program çıktısı çıkıyor.
    örneğin ekranda ahmet yazısını çıkartıyorum sonra kapatıp kodları ahmet mehmet yazacak şekilde düzenliyorum çalıştırıyorum yine ahmet çıkıyor.
    yeni proje açtığımda düzeliyor ancak yine değişiklik yaptığımda aynı çıktıyı veriyor. yardımcı olur musunuz?

    Kodu tekrar derlemen lazım.
  • quote:

    Orijinalden alıntı: Seviyeli Yarbay

    quote:

    Orijinalden alıntı: Seviyeli Yarbay

    arkadaşlar c++'ta 3x3'lük bir dizide rastgele 1-8 arası sayılar atamak istiyorum rastgele ve atanan sayı bir daha atanmasın. tek terim de boş kalsın oraya kullanıcıdan değer alacağım. bu yapmaya uğraştığım şeyin bir kısmı fakat tıkandım. yardımcı olabilir misiniz ?

    yani şöyle olsun mesela

    1 3 5
    2 7
    4 6 8

    buna benzer şeyler çıkarsın ekrana, o boşluktaki kısma kullanıcıdan değer alıp işlem yaptıracağım ama önce burayı halletmem lazım

    ??

    Bu kod istediğini yapıyor. Gerisini halledersin umarım.

     
    #include <iostream>
    #include <algorithm>
    #include <ctime>
    #include <cstdlib>

    void yazdir(int dizi[][3])
    {
    int i, j;

    for(i = 0; i < 3; ++i) {
    for(j = 0; j < 3; ++j) {
    int sayi = dizi[i][j];
    if(sayi)
    std::cout << sayi << ' ';
    else
    std::cout << " ";
    }
    std::cout << std::endl;
    }
    }

    int main()
    {
    int d2[3][3] = {0, 1, 2, 3, 4, 5, 6, 7, 8};

    srand(time(0));
    std::random_shuffle((int *) d2, ((int *) d2) + 9);

    yazdir(d2);
    return 0;
    }


    Biraz değiştirdim.



    < Bu mesaj bu kişi tarafından değiştirildi Guest-BF8E9B238 -- 27 Şubat 2013; 2:10:26 >




  • quote:

    Orijinalden alıntı: Seviyeli Yarbay

    quote:

    Orijinalden alıntı: Seviyeli Yarbay

    arkadaşlar c++'ta 3x3'lük bir dizide rastgele 1-8 arası sayılar atamak istiyorum rastgele ve atanan sayı bir daha atanmasın. tek terim de boş kalsın oraya kullanıcıdan değer alacağım. bu yapmaya uğraştığım şeyin bir kısmı fakat tıkandım. yardımcı olabilir misiniz ?

    yani şöyle olsun mesela

    1 3 5
    2 7
    4 6 8

    buna benzer şeyler çıkarsın ekrana, o boşluktaki kısma kullanıcıdan değer alıp işlem yaptıracağım ama önce burayı halletmem lazım

    ??

    5. yeri boşluk olarak varsayıyorum.

     
    srand(time(0));
    int matris[3][3] = {0};
    matris[1][1] = -1;
    int cikmislar[8] = {0};
    int sayi = 0;
    for(int i = 0; i < 3; i++)
    {
    for(int j = 0; j < 3; j++)
    {
    if(i == 1 && j == 1)
    continue;
    sayi = rand() % 8;
    while(cikmislar[sayi] == 1)
    {
    sayi = rand() % 8;
    }

    matris[i][j] = sayi;
    cikmislar[sayi] = 1;
    }
    }


    Ayrıca sorular üzerinde pek düşünmüyorsun herhalde. Biraz uğraşma ile yapılabilecek bir soru. Zorlandığın yerde kağıdı kalemi al kağıt üzerinde çözmeyi dene.

    Edit: Ben yazana kadar cevap gelmiş. Diğer cevabı görmeden yayınlamışım mesajı.



    < Bu mesaj bu kişi tarafından değiştirildi -Source- -- 27 Şubat 2013; 1:27:05 >




  • quote:

    Orijinalden alıntı: Seviyeli Yarbay

    Atama yaparken önceden atama yapılıp yapılmadığını test etmek için başta tek boyutlu bir dizi de sayıları bulup , sonra matrisine yerleştirirsen işin kolaylaşır. Bu şekilde yapabilirsin :

    #include <stdio.h> 
    #include <stdlib.h>
    #include <time.h>

    int main()
    {

    int dizi[9],asilDizi[3][3];
    int sayac=0,kontrolcu=-1,sayac2=-1,i,j;

    srand(time(NULL));

    dizi[0]=rand()%9;

    while(sayac<8)
    {
    sayac++;

    dizi[sayac]=rand()%9;

    while(kontrolcu<sayac-1)
    {
    kontrolcu++;
    if(dizi[kontrolcu]==dizi[sayac])
    {
    kontrolcu=-1;
    dizi[sayac]=rand()%9;
    }
    }
    kontrolcu=-1;
    }
    for(i=0;i<=2;i++)
    {
    for(j=0;j<=2;j++)
    {
    sayac2++;
    asilDizi[i][j]=dizi[sayac2];

    if(asilDizi[i][j]==0)
    printf("? ");

    else
    printf("%d ",asilDizi[i][j]);
    }
    printf("\n");
    }


    system("PAUSE");
    return 0;
    }




  • 1. Uzunluğu dışarıdan girilen(n) bir dizinin elemanları 0-99 arasında rastgele atanacaktır.
     Dizinin rastgele seçilen iki elemanının yerleri değiştirilecektir.
     Değişim işlemi yapıldıktan sonra kullanıcıya tekrardan aynı işlemin yapılmasını isteyip
    istemediği sorulacak ve cevap evet olduğu sürecek işlem tekrarlanacaktır

    şöyle bir problem var c++ kodu nasıl olur acaba yardım edebilir misiniz biraz yeniyimde bu konuda
  • quote:

    Orijinalden alıntı: elektro_gadget

    quote:

    Orijinalden alıntı: Seviyeli Yarbay

    quote:

    Orijinalden alıntı: Seviyeli Yarbay

    arkadaşlar c++'ta 3x3'lük bir dizide rastgele 1-8 arası sayılar atamak istiyorum rastgele ve atanan sayı bir daha atanmasın. tek terim de boş kalsın oraya kullanıcıdan değer alacağım. bu yapmaya uğraştığım şeyin bir kısmı fakat tıkandım. yardımcı olabilir misiniz ?

    yani şöyle olsun mesela

    1 3 5
    2 7
    4 6 8

    buna benzer şeyler çıkarsın ekrana, o boşluktaki kısma kullanıcıdan değer alıp işlem yaptıracağım ama önce burayı halletmem lazım

    ??

    Bu kod istediğini yapıyor. Gerisini halledersin umarım.

     
    #include <iostream>
    #include <algorithm>
    #include <ctime>
    #include <cstdlib>

    void yazdir(int dizi[][3])
    {
    int i, j;

    for(i = 0; i < 3; ++i) {
    for(j = 0; j < 3; ++j) {
    int sayi = dizi[i][j];
    if(sayi)
    std::cout << sayi << ' ';
    else
    std::cout << " ";
    }
    std::cout << std::endl;
    }
    }

    int main()
    {
    int d2[3][3] = {0, 1, 2, 3, 4, 5, 6, 7, 8};

    srand(time(0));
    std::random_shuffle((int *) d2, ((int *) d2) + 9);

    yazdir(d2);
    return 0;
    }


    Biraz değiştirdim.

    Tekrar derliyordum zaten. Vs yi silip tekrar kurdum sorun duzeldi

    < Bu ileti mobil sürüm kullanılarak atıldı >




  • arkadaşlar uğraşanlara çok teşekkür ediyorum.
    haklısınız kolay olabilir, emin olun uğraşıyorum.
    1 kere bilgisayar programlama dersi almadan bunu aldirdilar şimdi, ve mecburen katlaniyorum. ne seviyorum ne ilgi duyuyorum o yüzden biraz uğraştıktan sonra ister istemez birakiyorum ilgi alanim olsa baska bi ders olsa sabaha kadar ugrasirim ama bilgisayar programlamayla hic isim olmaz o yuzden bu donem idare edecegim mecburen.

    cevap verenlere cok tesekkur ediyorum tekrar

    < Bu ileti mobil sürüm kullanılarak atıldı >
  • merhaba arkadaşlar
    c++ ile basit bir işlem yapmak istiyorum. Konsoldan enter tuşuna basılına kadar programın devam etmesini istiyorum. Kullanıcı başka birşey girmeden sadece enter tuşuna basarsa programın sonlanması gerekiyor...


     
    void main()
    {
    char name[80];
    do
    {
    cin>>name;
    //kullanıcı birşey yazmadan enter tuşuna basarsa programın sonlanması gerekiyor
    cout<<name<<endl;

    }while(name!=NULL);
    }


    yardımcı olursanız çok sevinirim
  • YARDIMCI OLABİLİR MİSİNİZ ÇOK ACİİİL!!


    Factoring of integers. Write a program that asks the user for an
    integer and then prints out all its factors.
    For example, when the user
    enters 150, the program should print:
    2
    3
    5
    5
  • C++ da yazmam lazım yardımcı olabilecek var mı
  • quote:

    Orijinalden alıntı: melisozyurt

    C++ da yazmam lazım yardımcı olabilecek var mı

    Bir şeyler yazsaydınız yardımcı olabilirdik, hazır ödev teslim etmiyoruz istisnalar dışında.
  • #include <conio.h>
    #include <string.h>
    #include <stdio.h>

    main()
    {char cumle;
    int b=0,i;
    printf("cumleyi giriniz\n");
    gets(cumle);
    for(i=0;i<strlen(cumle);i++)
    if(cumle=="A"||cumle=="a") b++;
    printf("%u",b);
    getch();
    }

    bu program niye çalışmıyor biri bana açıklayabilir mi?
  • random_shuffle fonksiyonu yerine daha basit ve ayni isi yapacak bisey var mi?

    < Bu ileti mobil sürüm kullanılarak atıldı >
  • yeni başlayanllar için küçük program kodları ve kısa açıklammalar
    www.zeynelakcay.com
    Zeynel Akçay - Kişisel Blog - Bilgisayar Mühendisi
    http://www.zeynelakcay.com
  • quote:

    Orijinalden alıntı: zeynelak61

    yeni başlayanllar için küçük program kodları ve kısa açıklammalar http://www.zeynelakcay.com

    bence iyi olmuş, yeni mi burası ? daha da geliştirilebilirse çok iyi olur.
  • quote:

    Orijinalden alıntı: FutureEngineer

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

    main()
    {char cumle;
    int b=0,i;
    printf("cumleyi giriniz\n");
    gets(cumle);
    for(i=0;i<strlen(cumle);i++)
    if(cumle=="A"||cumle=="a") b++;
    printf("%u",b);
    getch();
    }

    bu program niye çalışmıyor biri bana açıklayabilir mi?

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

    main()
    {
    char cumle[20]; //
    int b=0,i;

    printf("cumleyi giriniz\n");
    gets(cumle);

    for(i=0;i<strlen(cumle);i++)
    {
    if(cumle[i]=='A'||cumle[i]=='a') //
    b++;
    }

    printf("%d",b);
    getch();
    }




  • quote:

    Orijinalden alıntı: strahd_von_zarovich

    quote:

    Orijinalden alıntı: FutureEngineer

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

    main()
    {char cumle;
    int b=0,i;
    printf("cumleyi giriniz\n");
    gets(cumle);
    for(i=0;i<strlen(cumle);i++)
    if(cumle=="A"||cumle=="a") b++;
    printf("%u",b);
    getch();
    }

    bu program niye çalışmıyor biri bana açıklayabilir mi?

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

    main()
    {
    char cumle[20]; //
    int b=0,i;

    printf("cumleyi giriniz\n");
    gets(cumle);

    for(i=0;i<strlen(cumle);i++)
    {
    if(cumle[i]=='A'||cumle[i]=='a') //
    b++;
    }

    printf("%d",b);
    getch();
    }


    öncelikle teşekkürler.
    char cumle yerine char *cumle yazsaydık nasıl olurdu peki.
    pointerlar kafamı karıştırıyor ama hoca pointer kullanmamızı istiyor.




  • öncelikle teşekkürler, evet yeni yaklaşık bir iki aya yakın oluyor siteyi düzenleyeli fırsat buldukça yeni kodalar ve açıklamalar ekleyecegim...
  • 
Sayfa: önceki 6162636465
Sayfaya Git
Git
sonraki
- x
Bildirim
mesajınız kopyalandı (ctrl+v) yapıştırmak istediğiniz yere yapıştırabilirsiniz.