İki Boyutlu Diziler
Ali ÇAKIR
0 yorum
C++ Programlama Çok Boyutlu Diziler, C++ Programlama Matris, Klavyeden Girilen Büyük Harfleri Küçüğe Küçük Harfleri Büyüğe Çeviren Program
İki Boyutlu Diziler
- Her elemanı bir dizi olan dizilere ise çok-boyutlu dizi adı verilir. Bu bölümde 2- boyutlu dizi olarak adlandırdığımız matris konusu göreceğiz.
- Matrsiler satır ve sütunlardan oluşan tablolardır.
Kullanımı:
veriTipi matrisİsmi [satırSayısı][sütunSayısı]; int matris[4][3];
Tek boyutlu dizilerdeki gibi matrisler de tanım sırasında ilk değer ataması yapabiliriz
int matris[4][3]; /*Tek boyutlu dizilerdeki gibi matrisler de tanım sırasında ilk değer ataması yapabiliriz.*/ int matris[4][3]={{25,33,12},{87,66,63},{45,90,34},{22,46,14}};
İki boyutlu dizilerde satır indeksi 0’dan satır sayısı-1’e kadar ve sütun indeksi de 0’dan sütun sayısı -1’e kadar değer alabilir.
int mat[3][5];
for ( int i=0; i<5; i++) mat[0][i]=(1,2,3,4); // bu elemanlar arasında değer alır
////////// Satır Yönünde Erişim////////// int yeniMat[3][4]; for (int satir=0; satir<3; satir++) for (int sutun=0;sutun<4;sutun++) cin>>yeniMat[satir][sutun]; /* Girdi: 1 2 3 4 5 6 7 8 9 10 11 12*/
//////// Sutun Yönünde Erişim////////////// int yeniMat[3][4]; for ( int sutun=0;sutun<4;sutun++) for ( int satir=0; satir<3;satir++) cin>>yeniMat[satir][sutun];
Aşağıda bir örnekle incelenmiştir programı çalıştırıp sonucu inceleyiniz.
#include <iostream> using namespace std; void fark (int [],int); int main () { const int soruSayi=10; const int ogrSayi=3; char anahtar[soruSayi]; int dogru,yanlis,skor; char ogrCevap[ogrSayi][soruSayi]; cout<<“Cevap anahtarini giriniz: “; for(int i=0;i<soruSayi;i++) // 10 doğru cevap girirlir cin>>anahtar[i]; for(int ogr=0;ogr<ogrSayi;ogr++) // öğrenci sayısı kadar döner { dogru=yanlis=0; cout<<ogr+1<<“. ogrencinin cevaplarini giriniz: “; for(int i=0;i<soruSayi;i++) // öğrenci cevapları girilir { cin>>ogrCevap[ogr][i]; if(anahtar[i]==ogrCevap[ogr][i]) // cevaplar kontrol edilir dogru++; else yanlis++; } skor=dogru-(yanlis/2); // Öğrencinin notu hesaplarnır cout<<ogr+1<<“. ogrencinin notu: “<<skor<<endl; } return 0; }
İki Boyutlu Diziler ve Fonksiyonlar
İki boyutlu bir diziyi bir fonksiyona parametre olarak yolladığımızda satır bilgisini yollamamıza gerek yoktur,ancak mutlaka sütun bilgisini vermemiz gerekir.
#include <iostream> using namespace std; void yaz( int [][4] ); int main() { int diz[3][4]={{1,1,2,2},{5,6,5,6},{4,8,9,3}}; yaz(diz); return 0; } void yaz ( int d[][4]) // matris elemanlarını ekrana yazdıran fonkisyon { for (int i=0;i<3;i++) { for (int j=0;j<4;j++) cout<<d[i][j]; cout<<endl; } } return 0; }
Klavyeden Girilen Büyük Harfleri Küçüğe Küçük Harfleri Büyüğe Çeviren Program
#include<iostream> using namespace std; char degis(char[]); int main() { char harf1=’z’; char harf3=’A’; char dizi[10]={}; int i; while( i<10) { cout<<i+1<<“. elaman:”; cin>>dizi[i]; if(harf1<dizi[i]||harf3>dizi[i]) cout<<“!!!! Lutfen Turkce Karaketer Giriniz !!!!!”<<endl; else i+=1; } for(int i=0;i<10;i++) cout<<dizi[i]<<“\t”; cout<<“Yeni harf: “<<degis(dizi)<<endl; return 0; system(“pause”); } char degis(char diz[]) { char harf=’z’; char harf2=’Z’; for(int i=0;i<=9;i++) { if(diz[i]<=harf) harf=diz[i]; } if(harf2>=harf)// Bu if kismi dizide buyuk harf olma olasiligindan yapilmistir { // Eger dizide buyuk harf yoksa bu if kismina gerek yoktur // Bu kisimda ayrica buyuk harf kucuge cevirilmistir cout<<endl<<“Eski harf: “<<harf<<endl; // Buyuk harf cevrilmek istenmeseydi harf2=harf yazilip ekrana buyuk harfbastirilacakti harf+=32; // Harf eger buyuk ise kucuge cevirir // Eger harfin degismemesi istenseydi harf2=harf yapilirdi return harf; // Ana programa gonderir } else { cout<<endl<<“Eski harf: “<<harf<<endl; harf-=32; // Harf eger kucuk ise buyuge cevirir return harf; // Ana programa gonderir } }
2.8
4
votes
Article Rating