C++ Dersleri – 15 – C++ Diziler Konu Anlatımı

Tarih: 22 Mart 2011 Yorum: 47

Merhabalar arkadaşlar.C++ dersleri videolu anlatımlarımıza kaldığımız yerden devam ediyoruz.Önceki dersimizde şuana kadar işlediğimiz C++ olguları ile ilgili örnekler çözmüştük.Bu dersimizde ise diziler konusuna giriş yapıyoruz.Elimden geldiğince C++’ta dizilerin mantığını anlatmaya çalıştım.C++ dizi tanımlama,c++ dizi örnekleri,c++ dizi boyutları,c++ dizi sıralama gibi dizilerdeki genel mantığı verdiğimi düşünüyorum.Ardından konuyla ilgili pekiştirici örnekler çözdüm ve dersi bitirdim.

Katar dizileri neden yok diyen arkadaşlar; bir sonraki dersimizde katar dizilerini ayrıntılı olarak anlatacağım.3-5 dakikaya sıkıştırmak istemedim katar dizileri gibi önemli bir konuyu.

C++ Diziler Konu Anlatımı 1. Kısım

C++ Diziler Konu Anlatımı 2. Kısım

Yazar: admin (142 Posts)


Etiketler:



47 Yorum var:

Avatar

MESUT dedi ki..

Teşekkürler Hocam…

23/03/2011 18:39

Avatar

UMUT dedi ki..

Hocam öncelikle herşey için cok teşekkür ederim.ama bişey diyecem ben videoları izlerken video önde gidiyo ses arkadan gelıyo bu benden mi kaynaklanıyodur nasıl çözebilirim..?

06/05/2011 11:41

Avatar

admin dedi ki..

@Umut; yorumun için teşekkürler.
Sesin arkadan videonun önden gitmesi olayı benim hızlı anlatırken konuşmamı sonradan yapmamdan kaynaklanıyordu.İleriki derslerde buna daha çok dikkat ettim..

06/05/2011 14:28

Avatar

ahmet dedi ki..

hocam c++ ile windows uygulaması nasıl geliştirebiliriz
her yerde komut satırı çıkıyo karşıma

19/05/2011 17:59

Avatar

Levent dedi ki..

Muhammde hocam ben meb de bir sınava hazırlanıyorum da, önceki çiıkmış soruları çözerken bir c sorusu kafamı karıştırdı.
soru şöyle:
char isim [1000][10]; isim değişkeni için aşağıdakilerden hangisi doğrudur?
doğru şık : “isim 10 elamanlı 1000 byte uzunluğunda karekter bir dizidir”
Bunu ben anlamadım sorudaki dizi iki boyutlu 1000×10 elamanlı bir dizi değilmidir? doğru şık biraz enteresan değil mi? bu dizi nasıl 10 elemanlı olur ve 1000 byte uzunluğu neye göre diyor.
Hocam bunu açıklarsan sevinirim.

19/05/2011 21:13

Avatar

admin dedi ki..

@ahmet;Windows uygulamaları geliştirmeyi vs.. yüksek düzeyde şeyleri C# ile anlatacağım.

@Levent;.İlk baştaki int değil char. Eğer int olsaydı dediğiniz doğruydu tabiki.Ancak char olunca cevap doğru ( : Yani sanırsam ( :

19/05/2011 22:02

Avatar

Levent dedi ki..

Sağol Muhammed Hocam açıklaman için, bu C++ beni programcılıkta okurken de korkutmuştu, okulu geçecek kadar çalıştık şimdi senav vs. yine karşımıza çıktı. bu C++ dan kurtuluş yok ya öğreneceğiz ya da öğreneceğiz..

20/05/2011 10:12

Avatar

butterfly dedi ki..

son örnekteki iki boyutlu dizide programın aynısını yazıyorum ama satır ve sütunların hepsinde 29 yazıyor

28/05/2011 21:59

Avatar

admin dedi ki..

Enteresan.Muhtemelen bir yerde parantez hatası falan yapıyorsunuzdur.İnceledikten sonra aynı hatayı alırsanız tekrar yazın elimden geldiğince yardımcı olayım..

29/05/2011 01:00

Avatar

uygar dedi ki..

2.videoda dizileri sıralarken for döngüsü kullanarak x ile y 0 1
1 0
fln şeklinde alt alta sıralanmasını anlayamadım normalde
1 1
1

29/05/2011 10:46

Avatar

uygar dedi ki..

2.videoda dizileri sıralarken for döngüsü kullanarak x ile y 0 1
1 0
fln şeklinde alt alta sıralanmasını anlayamadım normalde
0 0
1 1
2 2
şeklinde gitmesi gerekmezmi o kısmı anlamdım yardımcı olursanız sevinirim iyi çalışmalar…

29/05/2011 10:47

Avatar

admin dedi ki..

Şöyle düşün uygar;
x 0 iken y 0,
x 0 iken y 1,
x 0 iken y 2 gibi gidiyor.
x 0’lar bittikten sonra artık x 1 e geçiyor.
x 1 iken y 0,
x 1 iken y 1
bu şekilde devam ediyor..

29/05/2011 13:26

Avatar

ŞEFİK dedi ki..

Hocam bu matrislerde yani 2 boyutlu dizilerde satır sutun elemanlarını kucukten buyuge sıralama olayı var
bunu bır tane ornekle acıklarmısın?
Birde n*n matris dendıgı zaman bunu nasıl tanıtıcaz
örnegın
int deneme[n][n];
gibimi yoksa içi boş mu kalıcak?

31/05/2011 23:39

Avatar

admin dedi ki..

Örneğin;3’e 3’lük matris diyorsa int x[3][3]; diye tanıtırız.
İlk soruda da 2 tane for döngüsü kurarsın,i-j değişken tipi tanımlarsın mesela.Yazdırırsın hepsini sırayla ve sıralatırsın.
Önceki for döngüleri konusunda buna benzer şeyler anlatmıştım yanlış hatırlamıyorsam..

01/06/2011 19:18

Avatar

ŞEFİK dedi ki..

Hocam buraya ıkı tane soru yazmıstım sılmıssın?

01/06/2011 10:45

Avatar

admin dedi ki..

Silmedim hocam,cevapladım üst tarafta..

01/06/2011 19:19

Avatar

ŞEFİK dedi ki..

Sagolasın cevaplamıssın daha onceden gorememıstım de
şimdi ben bi program yazdım bu programda Bir n*n seklındekı kare matrisin transpozesini bulucam ve buldugum matrisinde en buyuk ve en kucuk elemanlarını bulucam ama bıyerde tıkandım yardım edeblırmsn
#include
main()
{
int i,j,n,A[10],B[10];
cout<>n;
for(i=0;i<n;i++)
{
for(j=0;j<n;j++)
{
cout<>A[i][j];
}
}
for(i=0;i<n;i++)
{
for(j=0;j<n;j++)
{
cout<<"B[i][j]="<<A[j][i];
}
}
return 0;
}

02/06/2011 00:24

Avatar

ŞEFİK dedi ki..

Admın cevapladıysan sorumu gorunmuyor..

05/06/2011 19:56

Avatar

admin dedi ki..

Hocam artık kendinizin yazdığınız sorulara cevap vermiyorum maalesef,vaktim çok kısıtlı çünkü,kusura bakmayın..

29/06/2011 20:59

Avatar

ZextroM dedi ki..

hocam, bu konu anlatiminda yaptiginiz ornegin birini denedim ve sizin elde ettiginiz gibi ayni sonuc elde edemedim? acaba compiler de mi bir hata var, bende sizin gibi devc++ kullaniyorum, defalarca kontrol etmeme ragmen bir turlu sonucu elde edemedim.

main () {

int deneme[3][2]={(1,2),(5,7),(8,4)};
int x,y;

for(x=0; x<3; x++)
for(y=0; y<2; y++) {

//cout << "[" << x << "][" << y << "]: ";
cout << deneme[x][y] << "\n"; }

getch(); return 0; }

programi boyle yazmama ragmen elde ettigim sonuc :
0 0 : 2
0 1 : 4
1 0 : 7
1 1 : 0
2 1 : 0
2 2 : 0
seklinde… sorun nerededir ?

15/11/2011 00:25

Avatar

görkem dedi ki..

katar-dizi ne demek tam olarak açıklarmısınız acaba tşk.

17/12/2011 22:41

Avatar

ahmet s&t dedi ki..

hocam sizden çok faydalandık.hacettepe üniversitesi bilgisayar programcılığı bölümü sizin derslerinizle işleniyor.çook teşekkürler emeğinize sağlık.siz olmasaydınız bunları anlamak gerçekten zordu.

20/12/2011 23:36

Avatar

masis dedi ki..

katar dizi : string dizileridir yani ki ;
char hafta_isimleri[][12]={“Pazartesi”,”Sali”,”Carsamba”};
gibi tanımlama yapılması sağlanır.
ilk [] kaç tane ekleyeceğin ,2.si ise bir kelimenin maksimum uzunluğudur.

21/12/2011 21:52

Avatar

masis dedi ki..

Zextro yorum sayıtını sildiğinde istenen bilgiler çıkıyor ..
//kaldır bunu

21/12/2011 21:58

Avatar

masis dedi ki..

şefik söylediğin programın nette bir çok örneği varr.. Google yaz.İstediğinden fazla sonuç bulursun bence.Kolay gelsin

21/12/2011 22:01

Avatar

Aydın dedi ki..

hocam sesin sonradan gelmesi diziler gibi önemli bir konuda gerçekten izleyiciler açısından büyük bir eksiklik tam olarak hiç bir şey anlayamadım..

22/12/2011 22:42

Avatar

Rami dedi ki..

Eline sağlık Muhammed kardeşim.Emeklerine teşekkürler canı gönülden.
Bir sorum olacak bu derslerin hepsini anlayarak bitirdiğimi var sayıyorum.Kendimi bu konuda yetkin hissedebilir miyim.Yoksa daha fazla incelemem gereken döküman,konu vs olacak mı ?Eğer varsa önerebilir misin Şimdiden teşekkürler.

04/01/2012 15:09

Avatar

tuba dedi ki..

Merhaba..
Bu Katar dizilerine başlangıç değeri atama videosunda kullandığınız
char a[][80]={“pazar”,”pazartesi”,”salı”};
for(i=0; i<=a[i][0]; i++) … döngüsünde döngüyü bitiren ifadenin ne olduğunu anlayamadım i değerinin üst sınırı değil ama j bitiriyo olabilir ama genede anlayamadım?

20/02/2012 17:13

Avatar

Yunus Emre dedi ki..

Hocam bize random ile ilgili örnekler sunma imkanınız varmı? okulda hoca ödev verdi nasıl yapıcam bilemiyorum?

19/03/2012 09:15

Avatar

merve dedi ki..

merhaba benm bir sorum olcak.
c++ da mesela verilen 20 tane sayı var, bu sayıların en büyük ilk 5 tanesini ve en küçük 5 taneyi sıralayıp yazdıran bir programı nasıl yazdırırız? sanırım dizilere giriyor bu soru yapamadım hiç fikrim yok bu konuda yardımcı olur musunuz

11/05/2012 15:40

Avatar

tayfun dedi ki..

merhaba,

muhammed kardeş, bazı derslerinde sesin videodan önce gidiyor, bu da anlamamızı oldukça zorlaştırıyor. bir arkadaş daha bahsetmiş bu durumdan, sen sorun benden kaynaklanıyor demişsin ama alakası yok. ilgilenebilirsen sevinirim, iyi çalışmalar.

07/06/2012 15:35

Avatar

Yusuf dedi ki..

Hocam elinize sağlık güzel anlatmışsınızda C++ sadece bu kadar dersten mi oluşuyor? Mesala ben program içinde başka bir pencere açmak istiyorum dosya açmak istiyorum bu kodlar yeterli olacak mı?

11/07/2012 10:09

Avatar

ramazan dedi ki..

Yazacağınız C++ programı aşağıdaki işlemleri gerçekleştirecektir.

1-Programınız parametre olarak bir dizin ismi alacaktır. Bu bilgiyi nasıl alacağınızı bulmak için daha önceki bilgilerinizi kullanınız. main fonksiyonuna parametre olarak gelen değerleri okuyunuz.

2-Parametre olarak gelen dizin içindeki bütün dosyalar okunacak içinde geçen kelimeler ile dosya arasında bir ilişki tutulacaktır.

Bu ilişkiyi aşağıdakine benzer bir class ile tutabilirsiniz:
class dokuman{

public:

private:
char dosyaismi[50];
char kelimeler[1000][21];
}

Bu şekilde tuttuğunuz yapı sayesinde, hangi dosyanın hangi kelimeleri içerdiği bilgisini saklayabiliyorsunuz. Dosya isimleri en fazla 50 karakter, kelimeler de en fazla 20 karakter olarak kabul edilebilir. Bir dosyada en fazla 1000 kelime olacağını da varsayabilirsiniz. Parametre olarak verilecek klasor icinde en fazla 2000 dosya olacagini varsayabilirsiniz.

3-Programınız çalıştıktan sonra dosyaların içindeki kelimeleri dokuman classı türündeki objelere yükleyecektir. Yükleme esnasında noktalama işaretlerini kelimelere dahil etmeyecektir. Yalnızca üstten kesme işareti olan ‘ kelimeye dahil edilebilecektir. Yükleme bittikten sonra, programınız aranacak kelimeyi soracaktır.

4-Aranacak kelime olarak -1 yazıldığında programdan çıkılacaktır.

5-Aranacak kelime girildiğinde, programınız içinde aranan kelime geçen dosyaların isimlerini listeleyecektir. Ardından tekrar aranacak kelimeyi soracaktir veya -1 ile çıkılacaktır.

Bu ödevi yapabilmeniz için C++ kullanarak dosya okuma ve yazma ile ilgili araştırma yapınız.

Kesinlikle arama esnasında dosyalardan okuma yapılmayacaktır! Programınız ilk önce verilen klasörün içindeki bütün dosyaları yukarıda belirtilen yapılar halinde modelleyecektir. Arama dosyaların kendileri üzerinde değil, bu yapılar üzerinde yapılacaktır.

yardımcı olrmsnz

01/11/2012 18:29

Avatar

freedomsb2000 dedi ki..

Hocam ın emeğine sağlık Allahtan okulda filan değiliz hocamızı seçme imkanımız var

30/11/2012 23:28

Avatar

hakcanak dedi ki..

ben visual studio da çalışıyorum bütün her şey tamamen aynı değil mi

02/12/2012 20:45

Avatar

Sefa dedi ki..

Selam.. C++ kitabınız bende mevcut fakat orada olmayan daha doğrusu az anlatılmış bir konu hakkında size sorum olacaktı. Pointer’lar ve Array’ler arasındaki ilişki… Hocamız bu konuya çok dikkat çekmişti ve finalde çıktı,yapamadım. Büyük ihtimal bütünlemedede çıkacak. Kafamda pointer lar hakkında az çok birşey var. Aynı şekilde array ler içinde geçerli. Ama arasındaki ilişki diyince,kafamda birşey belirmiyor. Yani sanırım konulara tam hakim olamayışımdan..

Bu konuyla ilgili bir videonuz varsa linkini gönderirmisiniz. Eğer yoksa kısaca anlatabilirmisiniz??

20/01/2013 18:15

Avatar

yakup dedi ki..

Ses ve görüntü farklı yürüyor. Sadece bende mi oluyor acaba bu sorun

24/01/2013 19:20

Avatar

ceren dedi ki..

Hocam,
peki dizileri oluştururken dizinin herhangi bir karekteri yerine nasııl boşluk karakteri kullanabilirim..

27/02/2013 18:02

Avatar

sinanerdem dedi ki..

ses sonradan geliyor ama olsun emeğe sağlık sorun düzeltilirse güzel olur.

16/06/2013 11:26

Avatar

burcu dedi ki..

teşekkürler hocam

22/11/2013 11:32

Avatar

Umut dedi ki..

Sevgili muhammed,

Seni tebrik ederim şu anda 15. Dersi bitirmiş bulunmaktayım. Zamanında Üniversite 1. sınıfta algoritma diye bir dersimiz vardı. Algoritma dersinde C++ öğrenmiştik ancak seni tebrik ederim senin sayende çok daha iyi anladım. Asıl amacım C# öğrenmekti ama internetteki kaynakların çoğunda C# daha zor dedikleri için C++ öğrenerek kolaydan başlamak istedim. Çok iyi anlatıyorsun seni tekrar tebrik ederim. Başarılarının devamını dilerim.

İkinci olarak burada benimle birlikte dersleri takip eden arkadaşlar için diziler konusu ile ilgili kendim bir örnek program yazdım daha önce öğrendiğimiz do while , if else gibi komutlar kullanarak sadece istenilen satır ve sütundaki değeri veren bir program. Mesajımın altında kodları paylaşacağım eğer düzgün çıkmazsa diye not defterine yazılmış halde link veriyorum : http://s3.dosya.tc/server29/oyj1hT/YeniMetinBelgesi.txt.html

#include
#include
using namespace std;

main() {

int x,y;
int dizi[5][2]={{1,2},{3,4},{5,6},{7,8},{9,10}};

do{

cout << "3 Satir ve 5 sutundan olusan \ndizinin elemanlarini gormek icin\n\n\n";
cout <> x;
cout <> y;

cout << "\n\n\n";
if (x-1 && y-1){
cout << "[" << x << "][" << y << "]: ";
cout << dizi [x][y] << endl << endl << endl;

}
else{
cout << "\n\n\nYanlis Bir Satir veya Sutun Numarasi Girdiniz\n";
cout << "Lutfen Tekrar Deneyiniz.\n\n\n\n\n";
}

cout <<"Devam Etmek Icin Bir Tusa Basiniz..\n\n\n";
}while(getch());
return 0;
}

13/12/2014 02:44

Avatar

mehmet dedi ki..

selam arkadaşlar yardımcı olursanız sevinirim .

bir matrisin tersini bulma: nasıl yapılıyor programı yapabilen varsa cevaplayabilir mi ?

çok önemli rica ederim.

29/03/2015 14:13

Avatar

ece dedi ki..

#include “stdafx.h”
#include
using namespace std;

int main()
{ int a[3][2]={{1,2},{3,4}};

for(int i=0; i<=3; i++)

for(int j=0; j<=2; j++)

cout<<a[i][j]<<endl;

system("pause");
return 0;
}
hatayı anlayamıyorum. normalde adresleri cıkmaması gerekıyor ? yardım edebilirmisiniz

05/04/2015 03:36

Avatar

Abdullah T. dedi ki..

Hocam tüm emeklerin için çok sağol sayende öğreniyorum 🙂 yıl olmuş 2015 ben hariç hiç yorum yok bu tarihte 🙂 Daha önce çoğu kişi, yorumda yaptığı denemeleri atmış ben de bu derste anlatılanları kendimce harmanladım ve tabloyu görsel anlamda da excel gibi dos ortamına aktardım eksiksiz çalışıyor.İnsan yaptıkça mutlu oluyor 🙂

#include
#include

using namespace std;

main() {
int tablo[3][3]={{1,2,3},{4,5,6},{7,8,9}};
int x,y;
cout << "Bu Bir Tablodur.\n\n";
for(x=0;x<3;x++){
for (y=0;y<3;y++){
if(x==0 && y==2){
cout << "[" << x << "] [" << y << "] :";
cout << tablo[x][y] << "\n";
continue;
}
if(x==1 && y==2){
cout << "[" << x << "] [" << y << "] :";
cout << tablo[x][y] << "\n";
continue;
}
cout << "[" << x << "] [" << y << "] :";
cout << tablo[x][y] << "\t";

}

}
getch ();
return 0;
}

Budur.Biraz uğraştım tabi yeni öğreniyorum ama tablo halini dosa uyarladım.

30/06/2015 01:30

Avatar

Isil dedi ki..

Muhammet Bey boylesi ogretici bir dille C++ u anlattiginiz icin size minnettarim, bir kabustan kurtuoldum desem yeridir. sizden bir ricam var acaba C++ Diziler Konu Anlatımı 1. Kısım ve 2. kisim videolarini da koyabilir misiniz? tesekkurler, iyi gunler

08/09/2015 17:29

Avatar

mehmet dedi ki..

hocam ben ismimin baş harfiyle büyük ” M ” harfi nasıl yapabilirim

04/10/2016 23:48

Avatar

Sercan dedi ki..

bazı dosyalar silinmiş tekrar yükleyebilirmisiniz acaba

09/01/2017 14:27


Yorum Yap:






© Tüm Hakları Saklıdır - Kaynak belirtmeden alıntı yapılamaz!