
c++ ile bir dizinin transpozunu almayı göstereceğim. bugün yaptığım diğer c++ Girilen metin içinden istenilen bir harfi silme konsol uygulaması örneği ve bu örneğim bizin Quiz sorularımız olduğu için okulda istenilen şekilde çözdüğümü belirtmek istiyorum .
Şimdi bir dizinin transpozunu almaya başlayalım bir dizinin transpozu nasıl alınır diye soracak olursanız;
Dizinin Transpozu : A matrisinin aynı numaralı satırlarıyla sütunlarının yer değiştirmesiyle elde edilen Bir Matrisin Transpozu (Devriği) matrisine A matrisinin Transpozu (devriği) denir.
örnek :
Artık Kodlarımıza Geçebiliriz.
Kodlarımızı her zamanki gibi yazarken açıklayacağım öncelikle transpoz.cpp adında bir cpp dosyası açalım ve kodlarımızı yazmaya başlayalım.
/*
Vehbi Akdoğan
iletişim : mf.leqelyy@gmail.com
site: http://vehbiakdogan.blogspot.com
soru: Boyutları m ve n olan dizinin transpozunu alma
- boyutları m,n olan dizi için m<10 ve n<10
- dizinin elemanlarının dışarıdan alınacak
*/
#include <iostream>
void transpoz(int[][9], int, int);
using namespace std;
int main(){
setlocale(LC_ALL,"TURKISH");
int dizi[9][9], m, n; // aslında dinamik dizi sorusudur ama statik dizi ile yaptık
/* dizi boyutu max 9*9 olacağı için max değer verdik (statik dizi olduğu için) */
cout << "m ve n değerlerini giriniz: ";
cin >> m >> n;
if (m >= 10 || n >= 10){
cout << "Boyutlar m<10 ve n<10 olmalıdır " << endl;
}
else{ // boyutlar 9 dan küçükse dizi elemanlarını isteyelim
for (int i = 0; i < m; i++){
for (int j = 0; j < n; j++){
cout << "dizi[" << i << "][" << j << "]= ";
cin >> dizi[i][j];
}
}
// evet dizi elemanlarını aldık önce bir dizimizi yazdıralım
for (int i = 0; i < m; i++){
for (int j = 0; j < n; j++){
cout<<dizi[i][j]<<" ";
}
cout << endl;
}
cout << "----------------------------" << endl; // üst kısmın karışmaması için
//şimdi transpoz adlı fonksiyonu çağıralım
transpoz(dizi, m, n);
/*
- birinci parametre dizimiz
- ikinci parametre dizinin dolu olan satırı
- üçüncü parametre dizinin dolu olan sütunu
*/
cout <<endl<< "Transpoz alma işlemi bitmiştir Saygılarımla vehbiakdogan" << endl;
}
return 0;
}
void transpoz(int d[9][9], int m, int n){
int t[9][9]; // transpozunu atacağımız dizi
for (int i = 0; i < n; i++){
for (int j = 0; j < m; j++){
t[i][j]= d[j][i]; // transpozunu alıyoruz
}
}
// transpozu alınmış dizimizi tekrar yazdıralım
for (int i = 0; i < n; i++){
for (int j = 0; j < m; j++){
cout << t[i][j] << " ";
}
cout << endl;
}
}
Böylelikle Bir matrisin Transpozunu almış oluruz Çalışan Örneğimize bakarsak 
Yazmış Olduğumuz kodları Buradan İndirebilirsiniz.
Hiç yorum yok:
Yorum Gönder