Yanlış sanmışsın. ![]() ![]() |
IDE gibi heralde merakla bekliyoruz ![]() |
|
merhaba arkadaşlar, #include<iostream> #include<stdlib.h> #include<string> using namespace std; int main(){ char *colors[] = {"red","blue","yellow","green","pink","orange","pu rple"}; for(int i=0;i<7;i++) { int randomColor = rand() % 7; cout<<colors[randomColor]<<":"; cout<<&colors[randomColor]<<endl; } cout<<endl; return 0; } sorum şu ben gelen örneğin: red değişkeninin adreslerinin farklı olmasını istiyorum nasıl yapabilirim. Şimdiden teşekkürler. aşagıda ekran çıktısı daha iyi anlatır: http://tinypic.com/view.php?pic=34yn...5#.UlA0NlDxqXU |
O zaman şu PDF dosyasından yararlanabilirsiniz hocam:http://www.c-solutions-inc.com/articles/SQLServer2005CompactEditionTutorial_CRUD--2007-09-24--Edition.pdf Kolay gelsin... |
teşekkürler |
1. resim === http://s1310.hizliresim.com/1g/g/tl9by.jpg 2. resim === http://o1310.hizliresim.com/1g/g/tl9cb.jpg 2. matrisin 3. sütun 3.satırında 2 yazıyor 4 yazmama rağmen 4.satırdada 1 yazıyor gene 4 yazmama rağmen Acaba diyorum benim compiler'ımda mı bir sorun var dev-c++ kullanıyorum sizin önerebileceğiniz başka, kullanımı kolay compiler var mıdır yada siz ne kullanıyorsunuz bu arada ilgilendiğiniz için teşekkür ederim. EDIT: int dizi[100][100], dizi1[100][100], sonuc[100][100] // sizin yazdığınız int a,b,i,j,dizi[a] ,dizi1[a] ,sonuc[a] ; //benim yazdığım sanırım [a] yazdığım için bu sorun ortaya çıktı. Teşekkürler sorunu çözdüm :) |
Sorunu cozdugune sevindim. Kodu biraz degistirmistim. Kendin bulman daha iyi oldu. Derleyici olarak mingw kullaniyorum ama visual studio u Tavsiye ederim. En azindan hatalari gormende yardimci olur. |
Ödev değilse bir proje için yapıyorsan belleği dinamik olarak yönet. Stack olarak verme. |
Ödev :) sağ ol tavsiye için ben araştırıyım onu bi :) |
Overflow olmasına bir örnek verebilir misiniz?
Burada ki sorun dilden çok kullanıcıdan kaynaklı bence. Orada bir daha % kullanması gerekirdi. Ama dediğiniz gibi güvenli değil. Ayrıca yukarıda verdiğiniz kodu biraz değiştirdim ama yine çözüm olmadı % li verdiğiniz örnek için.
Bu kod çıktı olarak "aaa " sonucunu vermektedir. Yani snprintf'in pek faydası olmadı % için :(.
cout'da sandığımız kadar güvenli değil aslında. Bunun içinsehttp://ddili.org/makale/neden_d.html buradaki makalenin "Biraz haksızca sataşarak merhaba" bölümünü okumanızı tavsiye ederim. Küçük bir not: C ile sadece burada sorular sorulduğu zaman kod yazıyorum. Onun dışında ki projelerimde C++ ile geliştirme yapıyorum. |
En basit örneği buffer overflow. Araştırırsanız bulacaksınız. --- O bölümü biraz değiştirirsek mesela: (pseudo kod)
yani burada da kullanıcı nın %% gibi bir şey kullanması lazım. Bu da uygun değil. --- char surum[] = "aaa %"; char *cguvenlik = (char*)calloc(100,sizeof(char)); //Daha da fazla güvenli snprintf(cguvenlik,50,surum); puts(cguvenlik); aslında snprintf(cguvenlik,50,"%s",surum); gibi kullanılması lazım. Ama zaten fazla işlem gücü gerektiren bu blokta bunu da ekleyince daha fazla süre geçeceği için kullanmamıştım. Bu gibi durumlarda ikinci belirttiğim kullanılmalı. --- O makaleyi okumuştum, D gerçekten güzel bir dil fakat C++ bile makine diline bu kadar uzakken D çok daha uzak. Makaleyi yazan adam doğru söylemiş fakat düşük seviyeye inince hata göstermemesinin bile iyi sonuçları olabiliyor. Yani burada kontrolü bence programcıya bırakmak lazım. (projelerde bu işi kolaylaştırmak için küçük bir template fonksiyon hazırlanabilir) Ama sonuçta evet stdout için writeln , cout a göre daha uygun (Eğer d dili kullanılıyorsa) . |
https://forum.donanimhaber.com/showTopic.asp?m=83179572 |
@evren199 Bunu bir dizi tanımlayarak yapabilirsin. char harfler[8] = {'A', 'B', 'C', 'D', 'E', 'F', 'G', 'H'}; Sonra random sayını oluşturursun. int sayi = rand() % 8; Sonra bu sayıyı indis olarak kullanıp dizideki o elemanı gösterebilirsin. printf("%c", harfler[sayi]); ----------------------------------------- @t9r http://lmgtfy.com/?q=dev-cpp ---------------------------------------- @oraykt Bunun için gerekli sabitler var senin ek bir değişken tanımlamana gerek yok. http://www.cplusplus.com/reference/climits/ ------------------------------------- @ebubekir.s Metin editörü konsol tabanlı mı olacak yoksa grafiksel arayüzü olacak mı? Eğer grafiksel arayüzü olacaksa QT kullanabilirsin. Galiba bu ödevin asıl amacı size çift yönlü bağlı listeyi öğretmek.http://en.wikipedia.org/wiki/Doubly_linked_list bu linkten faydalanabilirsin liste ile ilgili. |
case'den sonra bir aralık belirtilmez. switch'e gelen değerin mesela x'e eşit olması halinde case x: //kod; diye yazılır. http://msdn.microsoft.com/en-us/library/06tc147t%28v=vs.90%29.aspx |
switch case bu olcak iş değil olur ama gerek yok daha kolayı if-else http://www.ademyalcin.com/detay/csharp-if-else-not-hesaplama.htm |
Hocam if else ile yaptımda hoca switch case ile yapın dedi ugrasıyorum üstünde yapamadım o yüzden sormustum |
o zmn @Mtntk'ın dediği gibi olur |
Kardeşim çok güzel demişsin de şimdi şöyle düşün.
Kalınla ifade edilen kısım Char veri tipini ögrenmek istiyorum diyoruz. tamam da Char ı nasıl tanıtabilirim? Yani Char icin minimum deger =a maksimum deger=b (a=-128, b=127) yapmanın yollarını arıyorum :) |
İyi o zaman kolay gelsin sana , bende C++'ya geçtiğin için Code::Blocks'u kurdun sandım.
Bu mesaja 2 cevap geldi. Cevapları Gizle