Arama butonu
Bu konudaki kullanıcılar: 1 misafir
4171
Cevap
167867
Tıklama
3
Öne Çıkarma
C/C++/C# Sorularınız Buraya. . .(GÜNCEL)
£
13 yıl
Yüzbaşı
Konu Sahibi

Arkadaşlar buraya böyle bir konu açma ihtiyacı duydum. C/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.

NOT : Bana şu programı yazabilir misiniz ? Tarzında sorulara cevap vermeyeceğim. Önce kendiniz yapabildiğiniz kadar yapın, takıldığınız yerlerde kodu koyup sorun yardımcı olalım..





İyi Çalışmalar.





< Bu mesaj bu kişi tarafından değiştirildi £XE -- 31 Ağustos 2012; 16:48:31 >

O
13 yıl
Yüzbaşı

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.



Merhaba

C dilinde Procedures konusunu bol örnekli şekilde anlatabilir misiniz ?


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

quote:

Orijinalden alıntı: ot

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.



Merhaba

C dilinde Procedures konusunu bol örnekli şekilde anlatabilir misiniz ?

Aslına bakarsak şahsen C++ ilgili sorularla ilgilenmek istiyordum. C diliyle alakalı değilim. Fakat C/C++ yakın diller olduğu için başka arkadaşlarda yardım ederler diye düşündüm. Ben c++ da procedures diye bir konu görmedim maalesef . Ama bulduğum birkaç örneği paylaşayım :

 

// Fonksiyon ve Prosedür arasındaki fark.
#include<iostream>

using namespace std;

//fonksiyon
bool checkIfPositive(int x)
{
if(x >= 0)
return true;
return false;
}

//procedure
void printIfPositive(int x)
{
bool isPositive = checkIfPositive(x);
if(isPositive)
cout<<"x is positive and its value is "<<x<<endl;
}

int main()
{
printIfPositive(3);
printIfPositive(-54);
printIfPositive(710);
system("PAUSE");
return 0;
}





Ayrıca buradaki örneği incele bi..

http://en.wikibooks.org/wiki/C_Programming/Procedures_and_functions



Örneğin sende şunu yazmaya çalış :
Bir sayının ekrana tek veya çift olduğunu bulup yazdıran prosedür.

Saygılarımla.


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

Güzel başlık olmuş bence hocam forumun C ye olan ilgisi mi azaldı ne yaptı pek göremiyoruz. Şu sınavımı atlatıyım bende başlığı canlı tutacağım çok sorum olacak benimde , elektro_gadget hocamın da uğraması yakındır


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

wiki linki için ingilizcem az yanlız :/

fonksiyonlarla beraber almışlar, benim öğrendiğim kaynaktaki fonksiyonlar kısmında görürüm belki.

zaten şu an lazım olan birşey değildi.


birde register değişkenleri açıklayabilir misiniz ?





< Bu mesaj bu kişi tarafından değiştirildi ot -- 29 Temmuz 2012; 4:16:52 >
Bu mesaja 3 cevap geldi.
S
13 yıl
Binbaşı

Forumdan bir arkadaş sormuştu sayısı istenen yıldızlarla nasıl eşkenar üçgen yapılabilir diye yaptım ama pek temiz ve kısa olmadı , nerelerden nasıl kısaltılabilir ? Veya en baştan nasıl bir kod yazılabilir ?



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

int main(int argc, char *argv[])
{

int yildiz,sayac=0,fark=2,bosluk=0,sayac2,sayac3,sayac4=2,sayac5;
printf("lutfen istediginiz es kenar ucgen icin yildiz sayisini giriniz");
scanf("%d",&yildiz);

while(sayac!=yildiz) // ust kenarın yapımı
{
sayac++;
printf("* "); }

printf("\n");

while(bosluk!=1)
{
bosluk=(((yildiz-2)*2)+1)-fark; // ilk satır icin yıldızlar arasındaki boslugun hesaplanması
fark=fark+2; // her satırdaki boslugun 2 er azaltılması
sayac4++;
for(sayac3=2;sayac3<sayac4;sayac3++) // her satırdaki ilk yıldız icin bosluk bırakılması
{printf(" ");}
printf("*");

for(sayac2=0;sayac2<bosluk;sayac2++)
{ printf(" ");}
printf("*\n"); }

for(sayac3=1;sayac3<sayac4;sayac3++) //sondaki tek yıldız icin bosluk bırakılması
{printf(" ");}
printf("*\n\n\n\n");


system("PAUSE");
return 0;
}



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

REGISTER VARIABLE

Bildiğiniz gibi c de bir değişken kullanıldığında bu memoryde bir bölgeye yazılır. Ve bu variable kullanılcağı zaman cpu bu veriyi bellekten alır kullanır ve tekrar geri yazar.Ama register variable kullandığımız zaman bu variable memory den bir bölgeye yazılmaz ve cpu nun register larında tutulur.Böylece erişim süresi çok kısalmış ve bir performans artışı salamış oluruz.

Örn:
#include <iostream> 
using namespace std;

int main()
{

register int a;
a=4;
cout << a << endl;
return 0;
};


ÖNEMLİ NOT:Registerları yukarıdaki gibi basit şekilde kullanmak pek fazla önerilmez , özellikle performansın çok önemli olduğu uygulamalarda for while gibi loop ların içindeki variable lar gibi çok fazla erişim gerektiren variable lar için kullanmak akıllıca olucaktır.

ÖNEMLİ NOT_2:Register variable nın cpu nun registerlarında tutulucağı garanti edilmez siz register olarak tanımlasanız bile compliler bunu gerekli görmeyim variableyı memory de tuta bilir.

ÇOK ÖNEMLİ NOT_3:Register variableların addreslerini adress-of operatorü(&) ile almanız mümkün değildir.örn int *p = &c // bir register oldğunu var sayarsak compiler time error üretir.Tabi bu söyledipim sadece C için geçerli Aynı şeyi C++ da yaparsanız error almazsınız ve kodunuz çalışırı hatta adresini de alırsınız çünkü c++ compiler register variable ın adressi aldığınızı anlar ve register ifadesini ignore eder auto bir variable mış gibi çaltırır.





< Bu mesaj bu kişi tarafından değiştirildi 256colors -- 29 Temmuz 2012; 11:41:57 >

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

quote:

Orijinalden alıntı: ot

wiki linki için ingilizcem az yanlız :/

fonksiyonlarla beraber almışlar, benim öğrendiğim kaynaktaki fonksiyonlar kısmında görürüm belki.

zaten şu an lazım olan birşey değildi.


birde register değişkenleri açıklayabilir misiniz ?

Fakat açıkcası ben 1 Kere bile kullanmadım o prosedürleri bana daha çok işin teknik kısmı gibi geldi.
-------------------------------
Register Değişkenler.

Eğer bir değişken register sınıfından tanımlanmışsa, derleyici onu makinenin hızlı bellek yazmaçlarına yerleştirmeye çalışır. Bu tür yazmaçlardan sınırlı sayıda olduğu için, sadece ilk birkaç register değişkeni gerçekten yazmaçlarda saklanır, diğerleri otomatik değişkenler gibi işlem görürler. Yani, bir register bildirimi derleyiciye sadece bir öneri özelliği taşır. Böylece, eğer bir önceki alt kısımda tanımlanmış değişkenlere gerçekten hızlı erişmeyi istiyorsak.. Ayrıca Register değişkenlerin önüne & işaretçi operatörü koyularak kullanılamaz; işlemci saklayıcısının adresi olmaz.

(Bu açıklama yeterli diye düşünüyorum.)



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

quote:

Orijinalden alıntı: strahd_von_zarovich

Forumdan bir arkadaş sormuştu sayısı istenen yıldızlarla nasıl eşkenar üçgen yapılabilir diye yaptım ama pek temiz ve kısa olmadı , nerelerden nasıl kısaltılabilir ? Veya en baştan nasıl bir kod yazılabilir ?



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

int main(int argc, char *argv[])
{

int yildiz,sayac=0,fark=2,bosluk=0,sayac2,sayac3,sayac4=2,sayac5;
printf("lutfen istediginiz es kenar ucgen icin yildiz sayisini giriniz");
scanf("%d",&yildiz);

while(sayac!=yildiz) // ust kenarın yapımı
{
sayac++;
printf("* "); }

printf("\n");

while(bosluk!=1)
{
bosluk=(((yildiz-2)*2)+1)-fark; // ilk satır icin yıldızlar arasındaki boslugun hesaplanması
fark=fark+2; // her satırdaki boslugun 2 er azaltılması
sayac4++;
for(sayac3=2;sayac3<sayac4;sayac3++) // her satırdaki ilk yıldız icin bosluk bırakılması
{printf(" ");}
printf("*");

for(sayac2=0;sayac2<bosluk;sayac2++)
{ printf(" ");}
printf("*\n"); }

for(sayac3=1;sayac3<sayac4;sayac3++) //sondaki tek yıldız icin bosluk bırakılması
{printf(" ");}
printf("*\n\n\n\n");


system("PAUSE");
return 0;
}



Bana kalırsa temiz olmuş. Yani herhangi bir düzenlemeye gerek görmedim. Fakat mesela
for()
prinf(); Bu kısımları alt alta yazmak yerine aralarında birer boşluk bırakırsan kodlar daha rahat anlaşılır.



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

quote:

Orijinalden alıntı: ot

wiki linki için ingilizcem az yanlız :/

fonksiyonlarla beraber almışlar, benim öğrendiğim kaynaktaki fonksiyonlar kısmında görürüm belki.

zaten şu an lazım olan birşey değildi.


birde register değişkenleri açıklayabilir misiniz ?

Açıklamaya basit bir örnek ile devam edelim. Ama tekrar belirteyim bunlar bana işin sözel kısmı gibi geliyor. Yani pek kullanıldığını düşünmüyorum.

 

#include <iostream>
using namespace std;

main()
{

register int a,b; // register'lar ile performans sağlamış oluyoruz biraz daha.
cout << "2 say giriniz : ";
cin >> a >> b;

cout << "Sayilarin toplami : " << a+b << endl;

system("PAUSE");
return 0;


}




Bu mesaja 3 cevap geldi.
O
13 yıl
Yüzbaşı

quote:

Orijinalden alıntı: £XE

quote:

Orijinalden alıntı: ot

wiki linki için ingilizcem az yanlız :/

fonksiyonlarla beraber almışlar, benim öğrendiğim kaynaktaki fonksiyonlar kısmında görürüm belki.

zaten şu an lazım olan birşey değildi.


birde register değişkenleri açıklayabilir misiniz ?

Açıklamaya basit bir örnek ile devam edelim. Ama tekrar belirteyim bunlar bana işin sözel kısmı gibi geliyor. Yani pek kullanıldığını düşünmüyorum.

 

#include <iostream>
using namespace std;

main()
{

register int a,b; // register'lar ile performans sağlamış oluyoruz biraz daha.
cout << "2 say giriniz : ";
cin >> a >> b;

cout << "Sayilarin toplami : " << a+b << endl;

system("PAUSE");
return 0;


}




Bu c++ herhalde :)

cevaplar için teşekkür ederim.birde kritik bir örnek varsa verebilir misiniz ? Tam register kullanmalik



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

O
13 yıl
Yüzbaşı

quote:

Orijinalden alıntı: £XE





quote:

Orijinalden alıntı: salto?fb


arkadaşlar acil bir konu var :

öğrendiğim yerde
Basit Veri Giriş Çıkışlarının altındaki

Standart Çıkış Birimine Yapılacak Çıkışlar
İşareti ile Başlayan Kontroller
Klavyeden Veri Girişleri

bu dosyalar bozulmuş. yardımcı olabilir misiniz bu konuda da


internete de bakıyorum şimdi


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

quote:

Orijinalden alıntı: ot

quote:

Orijinalden alıntı: £XE





quote:

Orijinalden alıntı: salto?fb


arkadaşlar acil bir konu var :

öğrendiğim yerde
Basit Veri Giriş Çıkışlarının altındaki

Standart Çıkış Birimine Yapılacak Çıkışlar
İşareti ile Başlayan Kontroller
Klavyeden Veri Girişleri

bu dosyalar bozulmuş. yardımcı olabilir misiniz bu konuda da


internete de bakıyorum şimdi


Biraz daha açarmısın.. #include bölümünde mi bir eksikliğin var ?





< Bu mesaj bu kişi tarafından değiştirildi £XE -- 29 Temmuz 2012; 18:50:28 >
Bu mesaja 1 cevap geldi.
O
13 yıl
Yüzbaşı

quote:

Orijinalden alıntı: £XE

quote:

Orijinalden alıntı: ot

quote:

Orijinalden alıntı: £XE





quote:

Orijinalden alıntı: salto?fb


arkadaşlar acil bir konu var :

öğrendiğim yerde
Basit Veri Giriş Çıkışlarının altındaki

Standart Çıkış Birimine Yapılacak Çıkışlar
İşareti ile Başlayan Kontroller
Klavyeden Veri Girişleri

bu dosyalar bozulmuş. yardımcı olabilir misiniz bu konuda da


internete de bakıyorum şimdi


Biraz daha açarmısın.. #include bölümünde mi bir eksikliğin var ?

Sanirim şu print olaylarını anlatmış



< Bu ileti tablet sürüm kullanılarak atıldı >
Bu mesaja 1 cevap geldi.
£
13 yıl
Yüzbaşı
Konu Sahibi

quote:

Orijinalden alıntı: ot


quote:

Orijinalden alıntı: £XE

quote:

Orijinalden alıntı: ot

quote:

Orijinalden alıntı: £XE





quote:

Orijinalden alıntı: salto?fb


arkadaşlar acil bir konu var :

öğrendiğim yerde
Basit Veri Giriş Çıkışlarının altındaki

Standart Çıkış Birimine Yapılacak Çıkışlar
İşareti ile Başlayan Kontroller
Klavyeden Veri Girişleri

bu dosyalar bozulmuş. yardımcı olabilir misiniz bu konuda da


internete de bakıyorum şimdi


Biraz daha açarmısın.. #include bölümünde mi bir eksikliğin var ?

Sanirim şu print olaylarını anlatmış

Kardeş kime yazıyorsun anlamadım vallahi.. Sorunu ayrıntılı bir şekilde açıkalr mısın ?


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

quote:

Orijinalden alıntı: £XE

quote:

Orijinalden alıntı: ot


quote:

Orijinalden alıntı: £XE

quote:

Orijinalden alıntı: ot

quote:

Orijinalden alıntı: £XE





quote:

Orijinalden alıntı: salto?fb


arkadaşlar acil bir konu var :

öğrendiğim yerde
Basit Veri Giriş Çıkışlarının altındaki

Standart Çıkış Birimine Yapılacak Çıkışlar
İşareti ile Başlayan Kontroller
Klavyeden Veri Girişleri

bu dosyalar bozulmuş. yardımcı olabilir misiniz bu konuda da


internete de bakıyorum şimdi


Biraz daha açarmısın.. #include bölümünde mi bir eksikliğin var ?

Sanirim şu print olaylarını anlatmış

Kardeş kime yazıyorsun anlamadım vallahi.. Sorunu ayrıntılı bir şekilde açıkalr mısın ?

Kusura bakma az önce bilgisayarı yaktım kafam yerinde.değil.



< Bu ileti tablet sürüm kullanılarak atıldı >
Bu mesaja 1 cevap geldi.
£
13 yıl
Yüzbaşı
Konu Sahibi

Tamam sorun değil. Takıldığın yeri ayrıntılı bir şekilde açıklaki yardımcı olabilelim.


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

/* '*'ler kullanarak kenar uzunlugu verilen kareyi cizer */ 

#include<stdio.h>
int main( void )
{
int kenar;
int i;
int j;

printf("Karenin kenar uzunlugu: ");
scanf("%d", &kenar);

/* Gecerli bir deger mi */
while((kenar < 0) || (kenar > 20)) {

printf("Lutfen 0 ile 20 arasinda bi deger giriniz.");
printf("Karenin kenar uzunlugu");
scanf("%d", &kenar);
}

/* karenin cizilmesi */
for(i = 1; i <= kenar; i++) {

if(kenar == 0)
break;

/* alt ve üst kenarlarin cizimi */
if((i == 1) || (i == kenar)) {

for(j = 1; j <= kenar; j++)
printf("*");
printf("\n");
continue;
} /* if sonu */

/* sag ve sol kenarlarin cizimi */
for(j = 1; j <= kenar; j++)
if((j == 1) || (j == kenar))
printf("*");
else
printf(" ");

printf("\n");
} /* for sonu */

return 0;
}



merhaba arkadaslar. C sinavim var iki gun sonra. bana yardim ederseniz cok sevinirim.. for dongusunu anlamakta gucluk cekiyorum biraz.
yazdigim koddaki ic ice for lari bana anlatirsaniz cok sevinirim. ozellikle "sag ve sol kenarlarin cizimi" ile ilgili olan for u anlamakta guclukk cektim. bi sag kenara bi sol kenara yildiz koyuyor arada bosluk birakiyor,
bunu yazdiran satir neresi? ornegin biz kenari 5 girdik diyelim output soyle oluyor:
*****
* *
* *
* *
*****

simdiden cok tesekkur ederim

NOT:sekli cizerkenki bosluklari yazdim ama nedense yazmamisim gibi gorunmus anlamadim niye





< Bu mesaj bu kişi tarafından değiştirildi jely -- 29 Temmuz 2012; 23:34:32 >
Bu mesaja 2 cevap geldi.
T
13 yıl
Yüzbaşı

for'un tam olarak nesini anlamadın ? For'un görevi ( ;orta ; ) kısmındaki koşul sağlanana kadar altındaki işlemi tekrarlamaktır. Senin koduna detaylı bakmadım ama herhalde. Bir tane for * ların arasına boşluk veriyordur bide if ile kontrol sağlanıyordur. if koşulu sağlamadığında da sonuna yıldız koyuyordur.


Bu mesaja 1 cevap geldi.
A
13 yıl
Onbaşı

Merhaba arkadaşlar
Fortran dilindeki bir matematiksel ifadeyi C e aktarıyorum hata ile karşılaşıyorum.
Fortran da real ile tanımlanmış bir değişkenin cos' unu alıyorum.aynı sonucu C de float tanımladığım değişken ile yapıyorum sonuclar farklı cıkıyor...Nedendir acaba.?


Bu mesaja 1 cevap geldi.