Şimdi Ara

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

Daha Fazla
Bu Konudaki Kullanıcılar: Daha Az
5 Misafir (3 Mobil) - 2 Masaüstü3 Mobil
5 sn
4.172
Cevap
118
Favori
169.389
Tıklama
Daha Fazla
İstatistik
  • Konu İstatistikleri Yükleniyor
3 oy
Öne Çıkar
Sayfa: önceki 12345
Sayfaya Git
Git
sonraki
Giriş
Mesaj
  • Sinirlayicilarin icteki forlarin disinda olmasina dikkat et yoksa sonsuz donguye girer.
  • quote:

    Orijinalden alıntı: Shelden

    arkadaslar output u

    x x x x x
    - x x x x
    - - x x x
    - - - x x
    - - - - x

    şeklinde olan programı For döngüsüyle nasıl yazabilirim?

    #include<stdio.h> 

    int main()
    {
    int i,j,n,k,x;
    n=0;
    x=5;
    for(k=1;k<=5;k++)
    {
    for(j=1;j<=n;j++)
    {
    printf("- ");

    }
    for(i=1;i<=x;i++)
    {
    printf("x ");
    }
    n++;
    x--;
    printf("\n");
    }
    }
  • quote:

    Orijinalden alıntı: Shelden

    arkadaslar output u

    x x x x x
    - x x x x
    - - x x x
    - - - x x
    - - - - x

    şeklinde olan programı For döngüsüyle nasıl yazabilirim?

    Arkadaşlar for döngüsü ile yapmışlar geç kaldım ben Bende varsayilan argüman'lar ile yaptım. Eğer class-yapici fonksiyon biliyorsan incele yada bir kenara kaydet, ilerde ihtiyacın olur

     

    #include <iostream>
    #include <string>
    using namespace std;

    class argumanlar{
    string a1,b2,c3,d4,e5;
    public:
    argumanlar(string a="X", string b="X", string c="X", string d="X", string e="X"){
    a1=a;
    b2=b;
    c3=c;
    d4=d;
    e5=e;
    goster();
    }

    void goster(){
    cout << "Varsayilan Argumanla Yazdirma : " << a1 << b2 << c3 << d4 << e5 << endl;
    }
    };

    main(){
    argumanlar();
    argumanlar("-");
    argumanlar("-","-");
    argumanlar("-","-","-");
    argumanlar("-","-","-","-");

    system("PAUSE");
    return 0;
    }





  • quote:

    Orijinalden alıntı: meteorgeliyor

    Acaba elinde C soruları olan varsa gönderebilir mi ? Cevaplı olursa çok daha iyi olur teşekkürler.

    Bende yok malesef olsa yollardım. Fakat konuyu takip ederek, birçok c/c++ soru-cevaplarına ulaşabilirsin.
  • quote:

    Orijinalden alıntı: £XE

    Arkadaşlar buraya böyle bir konu açma ihtiyacı duydum. C/C++ da takıldığınız yerler olursa bu konu altında paylaşın. Ben ve diğer arkadaşlar elimizden geldikçe yardımcı olalım.



      
    #include <stdio.h>

    int main()
    {
    char dizi[100];
    void ters(const char * const);

    printf("Metin giriniz:\n");
    gets(dizi);

    printf("\nGirdiğiniz metnin tersten yazılışı:\n");
    ters(dizi);

    return 0;
    }

    void ters(const char * const sPtr)
    {
    if(sPtr[0]=='\0')
    return;

    else{
    ters(&sPtr[1]);
    putchar(sPtr[0]);
    }
    }





    Program girilen metni tersten yazdırıyor.Anlamadığım üç şey var:

    1)Prototipi neden main içine yazdık? Deitel den çalışıyorum diğer kodlarda prototip hep önlemcilerden sonra geliyor.

    2)PrototiptEki ikinci const u anlayamadım.

    3)ters fonksiyonunda else kısmını anlamadım. Orda ters Ve putchar ne iş yapar ?

    Şimdiden çok saol.




  • quote:

    Orijinalden alıntı: Optimumo

    quote:

    Orijinalden alıntı: £XE

    Arkadaşlar buraya böyle bir konu açma ihtiyacı duydum. C/C++ da takıldığınız yerler olursa bu konu altında paylaşın. Ben ve diğer arkadaşlar elimizden geldikçe yardımcı olalım.



      
    #include <stdio.h>

    int main()
    {
    char dizi[100];
    void ters(const char * const);

    printf("Metin giriniz:\n");
    gets(dizi);

    printf("\nGirdiğiniz metnin tersten yazılışı:\n");
    ters(dizi);

    return 0;
    }

    void ters(const char * const sPtr)
    {
    if(sPtr[0]=='\0')
    return;

    else{
    ters(&sPtr[1]);
    putchar(sPtr[0]);
    }
    }





    Program girilen metni tersten yazdırıyor.Anlamadığım üç şey var:

    1)Prototipi neden main içine yazdık? Deitel den çalışıyorum diğer kodlarda prototip hep önlemcilerden sonra geliyor.

    2)PrototiptEki ikinci const u anlayamadım.

    3)ters fonksiyonunda else kısmını anlamadım. Orda ters Ve putchar ne iş yapar ?

    Şimdiden çok saol.

    C bilmiyorum. C++ biliyorum. Ama elimden geldikçe cevap vereceğim. Umarım C konusunda uzman arkadaşlarda sorununa el atarlar

    1- Prototipi istersen main dışına yaz. Farkı olmayacaktır.

    2- Sanırım 2.const'taki *sPtr 'yi anlayamadın. Onun için internetten bir örnek buldum. Kısa açıklamalar yaptım. İncele, *sPtr'nin ne yaptığı konusunda kafandaki soru işaretleri kalkacatır.

     

    #include <iostream> // input-output kütüphanem
    #include <conio.h> // getch(); için

    main(){

    char c[] = "Hello boy"; // c karakterine Hello boy atadık.
    char *sPtr = c; // c karakterini, *sPtr 'ye atadık.
    for ( ; *sPtr != 'y'; sPtr++ ) //*sPtr ile programı çalıştırınca sende göreceksin, y harfini yazdırmayacak
    cout << *sPtr; // döngü sayesinde hello bo yazdırdık.

    getch(); // programın kapanmaması için.
    return 0;

    }



    3-Else bölüümnde ters() yazan yer, bizim önceden belirttiğimiz fonksiyonumuz. sPtr'ye 1 değerini gönderiyoruz burada.
    Putchar'a ise şöyle bir örnek vereyim : bu kod, ABCD.......Z alfabeyi yazdıracaktır.
     

    int main ()
    {
    char c;
    for (c = 'A' ; c <= 'Z' ; c++) {
    putchar (c);
    }
    return 0;
    }



    NOT: Eğer yazıyı tersten yazdırma gibi bir program istiyorsan, basit bir for döngüsü ilede rahatlıkla yapabilirsin.

     

    #include <iostream>
    using namespace std;

    main(){

    char yazi[10];
    cout << "Bir metin girin : " ;
    cin >> yazi;

    for(int i=9;i>=0;i--){
    cout << yazi[i] << endl;
    }


    system("pause");
    return 0;
    }






  • quote:


    Prototipi istersen main dışına yaz. Farkı olmayacaktır.


    Elbette farkı olacak. Prototipi main() dışında (yani global olarak) tanımlarsan o fonksiyonu istediğin fonksiyon içinde kullanabilirsin. Ancak main() içinde tanımlarsan fonksiyon lokalde tanımlı olduğu için yalnız main()'de kullanabilirsin, hiçbir fonksiyon içinde o fonksiyonu kullanamazsın.



    < Bu mesaj bu kişi tarafından değiştirildi keftar -- 2 Ağustos 2012; 9:14:26 >
  • quote:

    Orijinalden alıntı: keftar

    quote:


    Prototipi istersen main dışına yaz. Farkı olmayacaktır.


    Elbette farkı olacak. Prototipi main() dışında (yani global olarak) tanımlarsan o fonksiyonu istediğin fonksiyon içinde kullanabilirsin. Ancak main() içinde tanımlarsan fonksiyon lokalde tanımlı olduğu için yalnız main()'de kullanabilirsin, hiçbir fonksiyon içinde o fonksiyonu kullanamazsın.

    Arkadaşın verdiği programın çalışmasında bir hata olmaz. Onu kast etmek istedim.. Yoksa tabii ki dediğinde haklısın.



    < Bu mesaj bu kişi tarafından değiştirildi £XE -- 2 Ağustos 2012; 11:50:42 >
  • Evet bende c++ ile ilgilenmeye başladım. Mesajım bulunsun illa ki lazım olacak. Teşekkürler bu arada
  • quote:

    Orijinalden alıntı: igneli

    Evet bende c++ ile ilgilenmeye başladım. Mesajım bulunsun illa ki lazım olacak. Teşekkürler bu arada

    Rica ederim. Sorularını bekliyorum
  • arkadaslar su koda bı bakar mısınız cok basıt aslında ama takıldım.



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

    int main (void)
    {
    int a=2;

    int bayrak=1;

    while (bayrak)
    {
    a*=2;
    printf("%d %d\n",a ,bayrak);
    if(a>100)
    bayrak=0;

    }
    getch();
    return 0;
    }


    simdi ciktisi soyle oluyor
    4 1
    8 1
    16 1
    32 1
    64 1
    128 1


    128 0 olmasi gerekmiyor mu sonuncu da. cunku if (a>100) ise bayrak=o demis. bi aciklayan olursa sevinirim.
  • quote:

    Orijinalden alıntı: jely

    arkadaslar su koda bı bakar mısınız cok basıt aslında ama takıldım.



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

    int main (void)
    {
    int a=2;

    int bayrak=1;

    while (bayrak)
    {
    a*=2;
    printf("%d %d\n",a ,bayrak);
    if(a>100)
    bayrak=0;

    }
    getch();
    return 0;
    }


    simdi ciktisi soyle oluyor
    4 1
    8 1
    16 1
    32 1
    64 1
    128 1


    128 0 olmasi gerekmiyor mu sonuncu da. cunku if (a>100) ise bayrak=o demis. bi aciklayan olursa sevinirim.

    en son 0 a eşitledikten sonra while'ın içine bir daha girmeyip direkt programı sonlandırıyor sorunun burda.




  • tesekkurler rafsancani
  • quote:

    Orijinalden alıntı: jely

    tesekkurler rafsancani

    While ın içindeki if i printf in üzerine yazarsan sorunun kalmaz
  • #include<stdio.h>
    #include<conio.h>

    int main (void)
    {
    int k=1;
    double son,ilk;

    do{
    printf("sayi gir:");
    scanf("%lf",&son);
    if(k==1)
    ilk=son;
    k++;
    }


    while (k<=5);




    printf("ilk sayi=%0.2f\nson sayi=%0.2f",ilk,son);



    getch();
    return 0;
    }

    kodu aciklayabilir misnz arkadaslar.?
    son degerleri sirasiyla 2.6 5.3 -12.8 3 6.6 girilecek.
    bu eleman, ilk ve sonu kendisi nasil algiliyor?



    < Bu mesaj bu kişi tarafından değiştirildi jely -- 4 Ağustos 2012; 1:31:08 >
  • quote:

    Orijinalden alıntı: jely

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

    int main (void)
    {
    int k=1;
    double son,ilk;

    do{
    printf("sayi gir:");
    scanf("%lf",&son);
    if(k==1)
    ilk=son;
    k++;
    }


    while (k<=5);




    printf("ilk sayi=%0.2f\nson sayi=%0.2f",ilk,son);



    getch();
    return 0;
    }

    kodu aciklayabilir misnz arkadaslar.?
    son degerleri sirasiyla 2.6 5.3 -12.8 3 6.6 girilecek.
    bu eleman, ilk ve sonu kendisi nasil algiliyor?


     

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

    int main (void)
    {
    int k=1;
    double son,ilk; // değişkenlerimiz.

    do{
    printf("sayi gir:"); // sayi girmesini istedik.
    scanf("%lf",&son); // sayiyi son değişkeni olarak aldık.
    if(k==1) // üsttede tanımlamıştık k=1 diye. şimdi bunu if'e soktuk. eğer k=1 ise,
    ilk=son; // ilk değişkenimizi, girilen değere atadık.
    k++; // k'yı arttır dedik.
    }


    while (k<=5); // yukardakileride k 5'e küçük ve eşit olana kadar yaptırdık.




    printf("ilk sayi=%0.2f\nson sayi=%0.2f",ilk,son); // işlem bölümümüz.



    getch(); // programın kapanmaması için.
    return 0;
    }






  • quote:

    Orijinalden alıntı: jely

    tesekkurler rafsancani

    Rafsancani arkadaşında dediği gibi


    if(a>100) {
    bayrak=0;
    }

    bu şekilde yazabilirsin printf'in üzerine. printf'in altına yazdığın zaman if'in bir değeri kalmaz. program algılayamaz onu.
  • cok tesekkur ederim arkadaslar cok sag olun.
    bir sorum daha olacak :
    #include<stdio.h>
    #include<conio.h>

    int main (void)
    {
    int sayi,m=5,j;
    sayi=0;
    while(m<=8)
    { j=10-m;
    printf('"%d"j);

    while(j%3) //anlayamadim bunun sonucu 1 oldugu zaman mi altta kalani yapiyor acaba??
    { if(m/2!=0)
    sayi+=2;
    j-=2;
    }
    ++m;
    }
    printf("%3d%3d\n",m,j);
    getch ();
    return 0;
    }

    burda da sunu anlamadim cikti soyle cikiyor (5 4 3 2 9 0) su sondaki sifir yerine 2 olmasi gerekmiyor mu j nin ne ara sifirlandi ki?



    < Bu mesaj bu kişi tarafından değiştirildi jely -- 4 Ağustos 2012; 13:44:55 >
  • #include<stdio.h>
    #include<conio.h>

    int main (void)
    {

    int i,j,k=4;
    for(i=1;i<8;i++)
    {
    if(k>=100)
    k=k/3;
    else
    k=k*2;
    j=k;
    while(j%5>0)
    j++;
    printf("%5d\n",j);
    }




    getch();
    return 0;
    }


    arkadaslar bu programda ciktilari ben cok farkli buldum 9 17 33 65 129 43 85 diye buldum ama oyle degil cevap.
    anlamiyorum bu nasil bir olaydir. ne olur yardim edin cikti su sekilde 10 20 35 65 130 45 85

    hatta soyle anlatayim derdimi. ilk for dongusunde i=1 den basladik. k=4 oluyor. if kosulu saglanmadigi icin else blogundaki islemi yapiyor. oradan k=k*2 den k nin yeni degeri 8 oldu mesela.
    derken j=k demis bu durumda j 9 oldu. ve son olarak j yi bir arttir demis ve printf le yaz demis. e bu durumda j 9 oluyor nasil 10 cikiyor ekrana. ??



    < Bu mesaj bu kişi tarafından değiştirildi jely -- 4 Ağustos 2012; 4:17:44 >




  • quote:

    Orijinalden alıntı: jely

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

    int main (void)
    {

    int i,j,k=4;
    for(i=1;i<8;i++)
    {
    if(k>=100)
    k=k/3;
    else
    k=k*2;
    j=k;
    while(j%5>0)
    j++;
    printf("%5d\n",j);
    }




    getch();
    return 0;
    }


    arkadaslar bu programda ciktilari ben cok farkli buldum 9 17 33 65 129 43 85 diye buldum ama oyle degil cevap.
    anlamiyorum bu nasil bir olaydir. ne olur yardim edin cikti su sekilde 10 20 35 65 130 45 85

    hatta soyle anlatayim derdimi. ilk for dongusunde i=1 den basladik. k=4 oluyor. if kosulu saglanmadigi icin else blogundaki islemi yapiyor. oradan k=k*2 den k nin yeni degeri 8 oldu mesela.
    derken j=k demis bu durumda j 9 oldu. ve son olarak j yi bir arttir demis ve printf le yaz demis. e bu durumda j 9 oluyor nasil 10 cikiyor ekrana. ??

    while döngüsünde 5 e göre modunu alıyor ilk while a geldiğinde 9 oluyor sonra tekrar while a giriyor 9 un mod 5 i 4 olduğu için bir daha while a giriyor ve 10 yapıyor j yi. Burdan devam edersen sorunu sende çözersin herhalde.




  • 
Sayfa: önceki 12345
Sayfaya Git
Git
sonraki
- x
Bildirim
mesajınız kopyalandı (ctrl+v) yapıştırmak istediğiniz yere yapıştırabilirsiniz.