Son kullanma tarihi geçmiş, bayatlamış bir tarayıcı kullanıyorsanız, Mercedes kullanmak yerine tosbağaya binmek gibi... Web sitelerini düzgün görüntüleyemiyorsanız eh, bi' zahmet tarayıcınızı güncelleyiniz. Modern Web standartlarını karşılayan bir tarayıcı alternatifine göz atın.
Arkadaşlar ödevimden ötürü kodumda 10 satır 15 sütunlu olacak şekilde iki boyutlu dizi oluşturup. İçlerine de benzersiz sayı atamam lazım. Rastgele nasıl yapacağım?
Söylememe rağmen hala srand kullanmıyorsunuz.
Değişkenlerinizi ilklendirin.
Sabit değişkenleri büyük harfle yazın.
Döngüler tek satır olsa da parantez kullanın.
Index nedir, öğrenin.
For döngüsü değişkenini döngü içerisinde tanımlamanız yeterli.
Sabitleri fonksiyonda da kullanacağınız için global tanımlayın.
Döngüleriniz hatalı. <= yerine < olmalı. Döngünün sonunda ve döngüler bittikten sonra TombalaKart[satir][sutun] elemanına erişmeye çalışıyorsunuz. O tanımlı değil. Index sıfırdan başlar.
Srand kullanmadığınızda ne olduğunu görmeniz için yorumda bıraktım.
Kod:
#include <iostream>
#include <cstdlib>
#include <ctime>
using namespace std;
const int SATIR = 10;
const int SUTUN = 15;
void TombalaKartGoster(int[][15], int);
int main(){
//srand(time(NULL));
int TombalaKart[SATIR][SUTUN];
for (int i = 0; i < SATIR; i++) {
for (int j = 0; j < SUTUN; j++) {
TombalaKart[i][j] = rand() % 89 + 1;
}
}
cout << TombalaKart[SATIR - 1][SUTUN - 1] << endl;
return 0;
}
Hocam sizin kod biraz ileri sayılır. iomanip kütüphanesini bilmeyen bunları yapamaz. Ayrıca ödev olduğu için anlaşılan bu bir ders. ve C++ dilini yeni öğreniyorlar. Aslında amaç C++ öğrenmek değil ki. Amaç programlamayı öğrenmek. C++ dilinde uzman olmak isteyen öğrenir istediğini.
Köylü olmayan kod c++ için geçerli. Ancak köylü kod çoğu dilde aynıdır. Hocada bunu yapmasını istemesi doğaldır.
Çok basit bir şey. Google'a sabit aralık nasıl bırakılır diyoruz ve karşımıza çıkıyor. Kütüphanenin hepsine ben de hakim değilim. Ama böyle bir şey işime yaradığında aradım ve öğrendim. İlerilik bir şey yok. C++ zaten gelişmiş bir dil.
Köylü olan kod C++'ta geçerli değil. C'de geçerli. 20 yıl önce geçerli. Sadece kütüphane adları farklı, ilgili kütüphaneleri eklerseniz ve birkaç ufak değişiklik ile gıkı çıkmaz.
Çok basit bir şey. Google'a sabit aralık nasıl bırakılır diyoruz ve karşımıza çıkıyor. Kütüphanenin hepsine ben de hakim değilim. Ama böyle bir şey işime yaradığında aradım ve öğrendim. İlerilik bir şey yok. C++ zaten gelişmiş bir dil.
Köylü olan kod C++'ta geçerli değil. C'de geçerli. 20 yıl önce geçerli. Sadece kütüphane adları farklı, ilgili kütüphaneleri eklerseniz ve birkaç ufak değişiklik ile gıkı çıkmaz.
Hocam başlığa göre haklısınız. Ama içeriğe göre aslında temel yapılar üzerinden bir random matrix oluşturulmak isteniyor.
Bir dili dil yapan şey nedir? Seçimler, döngüler (bir tane daha vardı da unuttum) 2 döngü kullanarak rastgele değerli bir matrix üretebildik. bu temel algoritmadır. Bunun sayesinde tüm dillerde bunu yapabilirsin.(istisna olabilir tabi )
Ama tabiki aslında dillerde bunu yapmıyoruz. Python dilinde mesela numpy kütüphanesi var. Kolayca random matrix oluşturabilirsin. C++ dilinde de sizin koddakine benzer algoritmalar mevcut. Dile has kütüphaneler ile yapılıyor. Ama dediğim gibi hoca temel algoritma istiyor. Dile özel kod değil.
Ceza yemiştim yazamadım bu galiba oldu ancak ekrana bastırıp göremiyorum. Ödev şu; 10 satır 15 sütunlu tombala kartları oluşturacağız. Minimum 2 maksimum 5 kişi ile oynanabilir her tur sürekli kart çekilecek. Yerine yazılacak en son birisi kazanana kadar devam edecek işte.
Ceza yemiştim yazamadım bu galiba oldu ancak ekrana bastırıp göremiyorum. Ödev şu; 10 satır 15 sütunlu tombala kartları oluşturacağız. Minimum 2 maksimum 5 kişi ile oynanabilir her tur sürekli kart çekilecek. Yerine yazılacak en son birisi kazanana kadar devam edecek işte.
Ödev size ait. Ödevler konuyu daha iyi anlamanızı sağlar. Biraz düşün neden ekrana bastırmıyor? Eğer bilgin yeterli değilse konuyu tekrar etmelisin. Ama hala işin içinden çıkamıyorsan kodu atın yardımcı olmaya çalışırız.
#include <iostream>
#include <cstdlib>
using namespace std;
void TombalaKartGoster(int[][15], int);
int main()
{
const int satir = 10;
const int sutun = 15;
int TombalaKart[satir][sutun];
int i, j;
for (int i = 0; i <= sutun; i++)
for(int j=0;j<=satir; j++)
TombalaKart[i][j]= rand()%89+1;
cout << TombalaKart[satir][sutun] << endl;
}
Söylememe rağmen hala srand kullanmıyorsunuz.
Değişkenlerinizi ilklendirin.
Sabit değişkenleri büyük harfle yazın.
Döngüler tek satır olsa da parantez kullanın.
Index nedir, öğrenin.
For döngüsü değişkenini döngü içerisinde tanımlamanız yeterli.
Sabitleri fonksiyonda da kullanacağınız için global tanımlayın.
Döngüleriniz hatalı. <= yerine < olmalı. Döngünün sonunda ve döngüler bittikten sonra TombalaKart[satir][sutun] elemanına erişmeye çalışıyorsunuz. O tanımlı değil. Index sıfırdan başlar.
Srand kullanmadığınızda ne olduğunu görmeniz için yorumda bıraktım.
Kod:
#include <iostream>
#include <cstdlib>
#include <ctime>
using namespace std;
const int SATIR = 10;
const int SUTUN = 15;
void TombalaKartGoster(int[][15], int);
int main(){
//srand(time(NULL));
int TombalaKart[SATIR][SUTUN];
for (int i = 0; i < SATIR; i++) {
for (int j = 0; j < SUTUN; j++) {
TombalaKart[i][j] = rand() % 89 + 1;
}
}
cout << TombalaKart[SATIR - 1][SUTUN - 1] << endl;
return 0;
}
Söylememe rağmen hala srand kullanmıyorsunuz.
Değişkenlerinizi ilklendirin.
Sabit değişkenleri büyük harfle yazın.
Döngüler tek satır olsa da parantez kullanın.
Index nedir, öğrenin.
For döngüsü değişkenini döngü içerisinde tanımlamanız yeterli.
Sabitleri fonksiyonda da kullanacağınız için global tanımlayın.
Döngüleriniz hatalı. <= yerine < olmalı. Döngünün sonunda ve döngüler bittikten sonra TombalaKart[satir][sutun] elemanına erişmeye çalışıyorsunuz. O tanımlı değil. Index sıfırdan başlar.
Srand kullanmadığınızda ne olduğunu görmeniz için yorumda bıraktım.
Kod:
#include <iostream>
#include <cstdlib>
#include <ctime>
using namespace std;
const int SATIR = 10;
const int SUTUN = 15;
void TombalaKartGoster(int[][15], int);
int main(){
//srand(time(NULL));
int TombalaKart[SATIR][SUTUN];
for (int i = 0; i < SATIR; i++) {
for (int j = 0; j < SUTUN; j++) {
TombalaKart[i][j] = rand() % 89 + 1;
}
}
cout << TombalaKart[SATIR - 1][SUTUN - 1] << endl;
return 0;
}