Konuyu görüntüle
IUCODERS FORUM > Programlama > C / C++ > Bmg deki Lamba sorusunun kodları
Yazar
tubish


avatar

banlandı
Kayıt: 09.04.2008
18.06.2008-17:42 #46779
Normal de zor bir soru olarak görünen sorunun kodlarını vereyim dedim...bakın görün sizde ne kadar kolay olduğunu göreceksiniz...Bol c li günler diliyorum...:D:D:D:

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

main()

{
	int i,sayi=1,k;

	while(1==1)
	{
		i++;
		if(i%50000000==0)
		{
			sayi=sayi%3+1;

			system("cls");

			if(sayi==1)
			{
			
				printf("         ___ 
"
					   "        | K |
"
					   "        -----
"
					   "        |   |
"
					   "        -----
"
					   "        |   |
"
					   "        -----
");
					             
				for(k=0;k<1000000000;k++)
				{
				}
			
			}
			else if(sayi==2)
			{
				
				printf("         ___ 
"
					   "        |   |
"
					   "        -----
"
					   "        | S |
"
					   "        -----
"
					   "        |   |
"
					   "        -----
");
				for(k=0;k<1000000000;k++)
				{}
					             
			
			
			}

			else
			{
				printf("         ___ 
"
					   "        |   |
"
					   "        -----
"
					   "        |   |
"
					   "        -----
"
					   "        | Y |
"
					   "        -----
");
				for(k=0;k<1000000000;k++);
				{}
			
			
			}
		
		
		}
	
	}

return 0;
}








Yazar
neurorebel


avatar

Kayıt: 15.08.2007
18.06.2008-18:18 #46784
merak ettim soruyu birileri yazabilir mi acaba ?





Do weird and difficult things.

Yazar
naranja


avatar
Kraliyet Ailesinden
Kayıt: 18.10.2007
18.06.2008-18:45 #46787
programı bekletmek için 1 milyara kadar döngü oluşturmak çok garip bir yöntem thinking





Kaybolur hayatIn tarifsiz ahengi;
Zaman bir tablodur düser duvarlardan.






Yazar
spino


avatar

Kayıt: 22.01.2006
18.06.2008-18:57 #46790
integer görmeyeli baya gelişmiş laughing





Yazar
thetide


avatar
underground
Kayıt: 19.04.2008
18.06.2008-19:10 #46794
bende böyle bişey yapmıştımapplauseclownpeace
benim printf yapım daha farklıydı
moral oldu şu dönemde bana bmg finalitongue
inşallah kalan sınavlarda böyle geçerangelpraying





http://www.bilisimdergi.com
http://www.ceturk.com/
Yazar
clairvoyant


avatar
Antalya
Kayıt: 05.05.2006
18.06.2008-19:36 #46798
Merhaba, yukarıdaki koddaki i değişkenini ne amaçla kullandığını anlayamadım. Bir döngü yaratmak için bir sayıyı arttırmak zorunda değilsiniz. Yani bu kodda i değişkenine gerek yok (eğer başka bir yerde kullanılıp da gözümden kaçtıysa özür dilerim) Ama zaten ilk değeri de verilmeden döngüye girdiyse eminim bir görevi yoktur:)

Döngüyü aşağıdakilerden biri gibi yapsaydınız daha uygun olurdu bence (çünkü 1==1 işleminin sonucu zaten 1 eder)
while(1) {
	// dongu icindeki kodlar
}

// ya da
for(;;) {
	// dongu icindeki kodlar
}

// ya da
do {
	// dongu icindeki kodlar
} while(1);

Bir de zaman geçirmek için
for(k=0;k<1000000000;k++)   { }

gibi bir kod yerine _sleep fonksiyonunu kullanırsanız işlemci boş yere yorulmuş olmaz. Örn:
_sleep(1000); // 1000 milisaniye (1 saniye) bekletir

_sleep fonksiyonunu kullanmak için yanlış hatırlamıyorsam stdlib.h kütüphanesini koda import etmek gerekiyor.

Kolay gelsin.





Let`s make this world a better place to live !

Yazar
fundagulkaya


avatar
istanbul
Kayıt: 07.11.2007
18.06.2008-21:24 #46810
neurorebel yazdi
 
merak ettim soruyu birileri yazabilir mi acaba ?

soru şu ki:
_
|K|
--
|S|
--
|Y|
--
Şeklinde görülen bir trafik lambasını ekrana çizen ve belirli süreler içinde K,belirli süreler içinde S ve belirli süreler içinde Y nin yazılmasını saglayan bir program yazınız.





Yazar
mrcan321


avatar
Mersin
Kayıt: 27.07.2007
18.06.2008-22:50 #46827
bence zamanla ilgili bi komut, fonksiyon olmadan çözülmez soru. i<10000000000 gibi bişey bence "sağlıksız" . thinking





Yazar
rcpdmrbs


avatar

Kayıt: 19.02.2008
19.06.2008-07:23 #46874
kod üzerinde değiştirilebilecek birkaç detay var.
i değişkenine ilk değer atanmamış mesela veya programı bekletme kısmı 3 defa yazılmış.
bu tür eksikleri gördükçe yazdığınız her yeni kod eskisinden daha hızlı, güvenli ve anlaşılır olur.bu esnada aynı işi yapmak için daha az kod yazacak olmanız da cabası. tavsiyem sizene diyip kestirip atmayın.





havan batsin.
Yazar
neurorebel


avatar

Kayıt: 15.08.2007
19.06.2008-08:31 #46875
buyrun birazcık daha temizi merak edenler için
#include <stdlib.h>
#include <stdio.h>

void hit_the_lights (int which)
{
	int i;
	printf(" --- ENDL");  
	printf(which == 0 ? "| K |ENDL" : "|   |ENDL");
	printf(" --- ENDL");  
	printf(which == 1 ? "|-S-|ENDL" : "|   |ENDL");
	printf(" --- ENDL"); 
	printf(which == 2 ? "|-Y-|ENDL" : "|   |ENDL");
	printf(" --- ENDL");
	printf("ENDLENDL");
}

int main()
{
	int light = 0;
	while(1)
	{
		hit_the_lights(light);
		_sleep(1000);
		light = (light + 1) % 3;
	}

	return 0;
}


ENDL yazan yerlere "backslash n" koyunuz :P

not: şu teknik tartışmalarda "guru" modunda mesajlar yazmayın. hiçbirşey bilmiyoruz çünkü. C++'ta uzmanım diyebilmek için 20 yıl kadar C++'la sürekli yazılım geliştirmeniz gerekir. ona göre... (ben 4. yılımdayım haha ! :D kaldı 16...)





Do weird and difficult things.

Yazar
abbas


avatar
ist
Kayıt: 29.03.2008
19.06.2008-15:27 #46893
kodlar fani önemli olan algoritmadır
bilmeyenleride alaycı bir tavırla eleştirmek ne kadar doğrudur

bu tavırları sergileyenleri öz eleştiriye davet ediyorum







/(::)(::)/











Yazar
xceo


avatar
Bingöl
Kayıt: 13.09.2007
19.06.2008-15:47 #46897
naranja bende aklıma birşey gelmeyince sınavda öyle yaptım ama o kadar da uzatmadım 1000-800 civarı bişeler attım biggrin. Zaten birşey beklemediğimden yaptım. Neyse sleep fonksiyonu ile yapılabiliniyormuş, yazan arkadaşa teşekkür ediyorum.applause

Ayrıca sıcakların başlaması üzerine ve final stresi nedeni ile herkeste bir gerilme var diye düşünüyorum. Biraz daha sakin hareket edersek hepimiz için daha güzel bir ortam elde edilmiş olur.






http://www.makosan.net
Bir deli bu aralar...


Yazar
fealin


avatar

Kayıt: 30.01.2006
19.06.2008-17:35 #46905
neurorebel yazdi
 
buyrun birazcık daha temizi merak edenler için

void hit_the_lights (int which)




hit the lights ismini koymanın amacı metallica parçası olduğu için mi? biggrin (sadece meraktan herhangi bir tartışma amacı gütmüyorum)





there is no emotion; there is peace
there is no ignorance; there is knowledge
there is no passion; there is serenity
there is no chaos; there is harmony
there is no death: there is the force
Yazar
hamdikan


avatar
dünya
Kayıt: 23.01.2006
19.06.2008-17:41 #46906
abbas yazdi
 
kodlar fani önemli olan algoritmadır
bilmeyenleride alaycı bir tavırla eleştirmek ne kadar doğrudur

bu tavırları sergileyenleri öz eleştiriye davet ediyorum



xceo yazdi
 
Neyse sleep fonksiyonu ile yapılabiliniyormuş, yazan arkadaşa teşekkür ediyorum.


Alay degil ogretici olmus bence
foruma bilgi katkısı olanları kusturmeyelim





yok

Yazar
neurorebel


avatar

Kayıt: 15.08.2007
19.06.2008-18:15 #46909
 

hit the lights ismini koymanın amacı metallica parçası olduğu için mi? biggrin (sadece meraktan herhangi bir tartışma amacı gütmüyorum)


metallica'dan RTE'ye gelsin diyim sen anla wink





Do weird and difficult things.

1 2
Del.icio.us
Digg
Facebook
Furl
Google
Blink
Simpy
Spurl
Y! MyWeb