Arama butonu
Bu konudaki kullanıcılar: 2 misafir
4171
Cevap
167894
Tıklama
3
Öne Çıkarma
Cevap: C/C++/C# Sorularınız Buraya. . .(GÜNCEL) (3. sayfa)
S
13 yıl
Binbaşı

Sinirlayicilarin icteki forlarin disinda olmasina dikkat et yoksa sonsuz donguye girer.



T
13 yıl
Yüzbaşı

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");
}
}



£
13 yıl
Yüzbaşı
Konu Sahibi

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;
}




£
13 yıl
Yüzbaşı
Konu Sahibi

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.



O
13 yıl
Onbaşı

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.


Bu mesaja 1 cevap geldi.
£
13 yıl
Yüzbaşı
Konu Sahibi

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;
}




Bu mesaja 1 cevap geldi.
K
13 yıl
Yüzbaşı

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 >
Bu mesaja 1 cevap geldi.
£
13 yıl
Yüzbaşı
Konu Sahibi

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 >
Bu mesaja 1 cevap geldi.
İ
13 yıl
Binbaşı

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


Bu mesaja 1 cevap geldi.
£
13 yıl
Yüzbaşı
Konu Sahibi

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


Bu mesaja 1 cevap geldi.
J
13 yıl
Er

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.


Bu mesaja 1 cevap geldi.
T
13 yıl
Yüzbaşı

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.


Bu mesaja 1 cevap geldi.
J
13 yıl
Er

T
13 yıl
Yüzbaşı

quote:

Orijinalden alıntı: jely

tesekkurler rafsancani

While ın içindeki if i printf in üzerine yazarsan sorunun kalmaz


Bu mesaja 1 cevap geldi.
J
13 yıl
Er

#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 >
Bu mesaja 1 cevap geldi.
£
13 yıl
Yüzbaşı
Konu Sahibi

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;
}





£
13 yıl
Yüzbaşı
Konu Sahibi

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.


Bu mesaja 2 cevap geldi.
J
13 yıl
Er

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 >
Bu mesaja 2 cevap geldi.
J
13 yıl
Er

#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 >
Bu mesaja 1 cevap geldi.
T
13 yıl
Yüzbaşı

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.


Bu mesaja 120 cevap geldi.