Arama butonu
Bu konudaki kullanıcılar: 5 misafir, 3 mobil kullanıcı
4171
Cevap
168019
Tıklama
3
Öne Çıkarma
Cevap: C/C++/C# Sorularınız Buraya. . .(GÜNCEL) (4. sayfa)
O
13 yıl
Yüzbaşı

quote:

Orijinalden alıntı: £XE

Çok ingilizce gerekmiyor. Oradaki kod örneklerine bakarakta anlayabilirsin.

Tekrar teşekkür ederim.


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

quote:

Orijinalden alıntı: ot

quote:

Orijinalden alıntı: £XE

Çok ingilizce gerekmiyor. Oradaki kod örneklerine bakarakta anlayabilirsin.

Tekrar teşekkür ederim.

Rica ederim.


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

bana yardim edecek kimse yok mu??



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

quote:

Orijinalden alıntı: jely



£XE
inceledim guzel aciklamissin aslinda su kismi anlayamiyorum. sag ve sol kenarlari yaparken, bi yildiz koyuyo,bosluk koyuyor,sonra gene bi yildiz geliyor.bu tam olarak nasil saglaniyor?
yukardaki for dongusunde i ve j yi kullanmisiz, alttaki for dongusunde ise iki tane for kullanmisiz j ile. i kullanmamisiz.
printf("*");
printf(" ");
printf("/n")
hangileri donuguye dahil oluyor hangisi sadece bir kere yaziliyor onu anlayamiyorum bir de sanirim.

bir de if(kenar == 0) // fakat girilen kenar sayısı 0 ise, işlem yapamayacağımız için bırak diyoruz.
break;

kodu yerine,asadigaki while i (kenar<=0.....) diye de tanimlayabilirdik degil mi?

while((kenar < 0) || (kenar > 20)) { // eğer bu kenar uzunluğu , 0 dan küçükse ve 20 den büyükse,
// 0 ile 20 arasında bir deger girmesini istedik. Programımızın mantığına göre
printf("Lutfen 0 ile 20 arasinda bi deger giriniz.");
printf("Karenin kenar uzunlugu");
scanf("%d", &kenar);



printf("*");
printf(" ");
printf("/n") Bunlar ve for-if 'ler sayesinde, bir yıldız koyup boşluk bırakıyor, sonra tekrar gene yıldız koyuyor.
Sanırım alttaki 2 tane for döngüsünü kullanmamızın sebebi, sağlı sollu kenarları çizdirmemiz içindir.

printf("*");
printf(" ");
printf("/n") bunların hepsi, programa göre döngüye dahil oluyor. yıldızlar arası boşluk bırakarak ilerliyor.


if(kenar==0) kullanman, while kullanmandan daha mantıklı. Çünkü while ve if tam olarak aynı değiller. İf biraz daha kesinlik ifade eder. While 'da ise tam bir kesinlik yoktur. Yani burada if kullanman daha mantıklı.


Bu mesaja 1 cevap geldi.
S
13 yıl
Teğmen

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?


Bu mesaja 4 cevap geldi.
M
13 yıl
Onbaşı

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


Bu mesaja 1 cevap geldi.
S
13 yıl
Binbaşı

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> 
#include <stdlib.h>

int main(int argc, char *argv[])
{
int sayac,sayac1,sayac2,sayac3,sinirlayici1=1,sinirlayici2=4;

for(sayac=0;sayac<5;sayac++) // ilk satirin yazimi
{
printf("x");
}

printf("\n");

for(sayac2=1;sayac2<5;sayac2++) //ic kisim 4 kez donucek , 4 satir kaldigindan
{

for(sayac1=0;sayac1<sinirlayici1;sayac1++) //en basta 1 kez donecek sonrasinda sinirlayici1 in artmasiyla diger turda 2 kez donecek ve artarak devam edecek
{
printf("-");
}
sinirlayici1++;

for(sayac3=0;sayac3<sinirlayici2;sayac3++) // en basta 4 kez donecek sonrasinda sinirlayici2 nin azalmasiyla 3 kez donecek ve azalarak devam edecek
{
printf("x"); }
sinirlayici2--;

printf("\n"); //her turdan sonra 1 alt satira gecilmesi gerek


}

system("PAUSE");
return 0;
}


Bu mesaja 1 cevap geldi.
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