cin>>Array[i];
Öncelikle ilginiz için teşekür ederim,soru ödev değil kendi kendime bu dili öğrenmeye çalışıyor bilgisayar ile alakalı bir bölüm okumuyorum.Çok basit bir soru bir de anladığım kadarı ile ödev. Neden çözelim? Bunu öğrenmen gerekiyor, anlamadığın bir konsept varsa spesifik olarak onu sor öğrenmene yardımcı olalım ama soruyu çözmem. Zaten soru inanılmaz basit. İpucu vermek gerekirse;
1-) 2 tane dizi tanımlanacak boyutları malum 11.
2-) Bunları bir döngü sayesinde(for, while) konsoldan veri alarak(cin) dolduracaksın sonra yine döngü yardımıyla ekrana yazdıracaksın(cout).
Çok basit çok temel.
Kod ipucu;
C++:cin>>Array[i];
#include <iostream>
#include <cstring>
using namespace std;
int main() {
string fb[3];
string gs[3];
for (int i = 0; i < 3; ++i) {
cout <<i+1<<". FB oyuncusunu girin:";
cin>>fb[i];
}
for (int j = 0; j < 3; ++j) {
cout <<j+1<< ". GS oyuncusunu girin:";
cin>>gs[j];
}
for (int l = 0; l < 3; ++l) {
cout <<l+1<< ". FB oyuncusu:"<<fb[l]<<endl;
}
for (int k = 0; k < 3; ++k) {
cout <<k+1<< ". GS oyuncusu:"<<gs[k]<<endl;
}
}
Öncelikle dizileri STRING veri tipiyle oluşturdum. Çünkü char sadece karakter barındırır. İçine uzun uzun isimler yazamıyorduk, tabii bu senin için uygunsa ve tek karakter girmek istiyorsan char tipine döndürebilirsin.string fb[3];
for (int i = 0; i < 3; ++i) {
cout <<i+1<<". FB'nin oyuncusunu girin:";
cin>>fb;
}
En son dönğüde de cout ile atama yaparkenki kullanadığımız aynı mantık ile yazdırıyoruz. Döngü her dönüğünde döngüde kullandığımız değişkenin değeri artıyor ve dizinin yeni elamanın sonucunu dönüyor.cout <<k+1<< ". GS'nin oyuncusu:"<<gs[k]<<endl;
Çok teşekür ederim size takıldığım noktalarda özelden soru sorabilir miyim kitaplardan öğrenmeye çalışıyorum ve kitaplar da ne yazik ki anlattıklarıyla sorduklarının arasında büyük farklar barındırıyor@ggaz
Şimdi ben C++ bilmediğim için puts ve gets fonksiyonları ne yapıyor bilmiyorum. Bu yüzden bununla ilgili bir yorum yapamıycam. Yardımcı olmadığım için üzgünüm, bilen biri yazar umarım.
Madem ödev değil bildiğim fonksiyonlarla yazıp, kodlar üzerinden anlatıyorum o zaman. Hem illa gets ve puts fonksiyonlarını istersen o şekilde çalışan versiyonunu da kendin düzenlersin deney olur senin için.
Şöyle bir soru sormuşsun; "Sizin dediğiniz mantık ile yapmaya çalıştım fakat int olduğu için boşluklu yazı ve ya harf kullanmama izin vermiyor.Örnekte sayılar için olanını dizi mantığı ile yapabildim ama char kullanarak yapamadım."
Açıkçası ne sorduğunu tam olarak anlayamadım. int dizisinin içine sadece sayı, char dizisinin içine sadece karakter, string dizisinin içine metin koyabilirsin. Burada tam olarak ne yapmaya çalışıyorsun?
C++:#include <iostream> #include <cstring> using namespace std; int main() { string fb[3]; string gs[3]; for (int i = 0; i < 3; ++i) { cout <<i+1<<". FB oyuncusunu girin:"; cin>>fb[i]; } for (int j = 0; j < 3; ++j) { cout <<j+1<< ". GS oyuncusunu girin:"; cin>>gs[j]; } for (int l = 0; l < 3; ++l) { cout <<l+1<< ". FB oyuncusu:"<<fb[l]<<endl; } for (int k = 0; k < 3; ++k) { cout <<k+1<< ". GS oyuncusu:"<<gs[k]<<endl; } }
Öncelikle dizileri STRING veri tipiyle oluşturdum. Çünkü char sadece karakter barındırır. İçine uzun uzun isimler yazamıyorduk, tabii bu senin için uygunsa ve tek karakter girmek istiyorsan char tipine döndürebilirsin.
Burada fark ettiysen for döngüsü içinde kullanacağım int i tanımını direk for içinde yaptım. Bu şekilde C'de kullanamasan da C++da pratik bir yöntem mevcut böyle kullanmanı tavsiye ederim gereksiz karışıklık olmaz ve sadece döngü scope'ları içinde kullanırsın İ değişkenini ve tekrar tekrar kullanmana izin verir her for için yeni bir harf tanımlamak ile uğraşmazsın. Tabi ben bu örnek kodda 'i, j, k, l' tanımlarını bozmadım kafan karışmasın diye.
i+1 dememin sebebi ise değişkeni 0 tanımlayıp 3'ten küçük olana dek koşulu ile çalıştırıyoruz döngüyü. Bunu sebebi de dizilerde indis'ler sıfırdan başlar. Ben de 0. oyuncuyu gir demenin garip olduğunu düşündüğüm için konsola birinci, ikinci gibi yazması için sadece yazdırırken gözüken koda pek bir etkisi olmayan i+1 kullanımını yaptım. Burası kafanı karıştırmasın. Herhangi bir atama yapmadığımız için i+1 demem i'nin değerini değiştirmez.
array kodunu yukarıda örnekte vermiştim. örnek verirken array dedim ama array yazan yere doğal olarak kendi tanımladığın dizinin ismini yazıyorsun. Ayrıca bilmiyorsan isen bilgin olsun Array Dizi demektir. Sadece ingilizce adı. i ise döngünün kullandığı int değişkeni. Böylece fb ile döngü her döndüğünde i değişkeni de 1 arttığı için her döngüde dizinin farklı bölümüne(indisine) erişmiş oluyoruz.
En son dönğüde de cout ile atama yaparkenki kullanadığımız aynı mantık ile yazdırıyoruz. Döngü her dönüğünde döngüde kullandığımız değişkenin değeri artıyor ve dizinin yeni elamanın sonucunu dönüyor.
Çok fazla Turkhackteam'e girmiyorum. Hem benim de bilmediğim sorular çıkabilir neticede C++ hiç öğrenmedim daha önce. Bu yüzden konu açman en uygunu olacaktır, zaten girdiğim vakitlerde cevaplayabileceğim yazılım soruları var mı diye kontrol ediyorum mümkünse de cevaplıyorum. Özellikle bana ulaşmana gerek yok. Basitlikten veya çok sormaktan endişelenmene gerek yok, çekincen olmadan sor gitsin forum ne için var? Eğer soruların gün içinde çok fazlasaysa, birden fazla konu açmak yerine gün içinde anlamadığın başlıkları biriktirip tek bir konuda toparlayıp madde madde sorabilirsin bu şekilde bilenler tek tek cevaplarlar.
Çok teşekür ederim size takıldığım noktalarda özelden soru sorabilir miyim kitaplardan öğrenmeye çalışıyorum ve kitaplar da ne yazik ki anlattıklarıyla sorduklarının arasında büyük farklar barındırıyor
Çok teşekür ederimÇok fazla Turkhackteam'e girmiyorum. Hem benim de bilmediğim sorular çıkabilir neticede C++ hiç öğrenmedim daha önce. Bu yüzden konu açman en uygunu olacaktır, zaten girdiğim vakitlerde cevaplayabileceğim yazılım soruları var mı diye kontrol ediyorum mümkünse de cevaplıyorum. Özellikle bana ulaşmana gerek yok. Basitlikten veya çok sormaktan endişelenmene gerek yok, çekincen olmadan sor gitsin forum ne için var? Eğer soruların gün içinde çok fazlasaysa, birden fazla konu açmak yerine gün içinde anlamadığın başlıkları biriktirip tek bir konuda toparlayıp madde madde sorabilirsin bu şekilde bilenler tek tek cevaplarlar.
Turkhackteam.org internet sitesi 5651 sayılı kanun’un 2. maddesinin 1. fıkrasının m) bendi ile aynı kanunun 5. maddesi kapsamında "Yer Sağlayıcı" konumundadır. İçerikler ön onay olmaksızın tamamen kullanıcılar tarafından oluşturulmaktadır. Turkhackteam.org; Yer sağlayıcı olarak, kullanıcılar tarafından oluşturulan içeriği ya da hukuka aykırı paylaşımı kontrol etmekle ya da araştırmakla yükümlü değildir. Türkhackteam saldırı timleri Türk sitelerine hiçbir zararlı faaliyette bulunmaz. Türkhackteam üyelerinin yaptığı bireysel hack faaliyetlerinden Türkhackteam sorumlu değildir. Sitelerinize Türkhackteam ismi kullanılarak hack faaliyetinde bulunulursa, site-sunucu erişim loglarından bu faaliyeti gerçekleştiren ip adresini tespit edip diğer kanıtlarla birlikte savcılığa suç duyurusunda bulununuz.