C Dili Dersleri Matris Örnek Çözümü


C dili dersleri serisinin bu dersinde, c programlama dilinde iki boyutlu diziler yani matrislerle ilgili örnek çözeceğiz.

Matrisler geçen derslerden öğrendiğimiz gibi içerisinde her türden veri saklayabileceğimiz iki boyutlu dizilerdir. Programcılıkta farklı farklı bir çok yer kullanıldığını görürüz. Hemen birkaç örnek çözmeye başlayalım.

Matrise rastgele değer atamayı buraya, ekrana matris yazdırmayı ise buraya tıklayarak öğrenebilirsiniz.

Not: Kaynak kod kısmını düzenli yazmama rağmen sola yaslandı. Düzenli halini görmekiçin kaynak kısmını ziyaret edin.

Örnek 1: Rastgele atanan öğrenci ve ders matrisinde derslerin başarı oranını ve her dersten en yüksek hangi öğrencinin aldığını bulan program.

Açıklama : Bu programda satırlar öğrenci sütunlar ise dersleri simgeleyecek. Örnek olarak 1. satır 2. sütun 2 numaralı öğrencinin 3 numaralı dersten aldığı notu gösterecek.( C de satır ve sütunlar 0 dan başlar.)

Kaynak Kod :

#include
#include
#include

int main()
{
srand(time(NULL));
static float x;
static int satir,sutun,matris[100][100],max,a,i,j;
printf("Satir sayisini giriniz :"); scanf("%d",&satir);
printf("Sutun sayisini giriniz :"); scanf("%d",&sutun);
for(i=0;i {
for(j=0;j {
matris[i][j]=rand()%100;
printf("%d\t",matris[i][j]);
}
printf("\n");
}
max=0;
for(i=0;i {
a=0; x=0;
for(j=0;j {
if(matris[j][i]>max)
{
max=matris[j][i];
a=j;
}
if(matris[j][i]>70)
{
x++;
}
}
printf("\n%d numarali dersten en yuksek notu alan ogrenci %d numarali ogrenci ve notu %d.",i+1,a+1,max);
printf("\n%d numarali dersin basari orani yuzde %.2f",i+1,(x/satir)*100);
max=0;
}
return 0;
}

Kod Analiz :

- İlk olarak kullanıcıdan matrisin satır ve sütun sayılarını aldık.

- Daha sonra matrisimize rastgele değer atayıp ekrana yazdırdık.

- Şimdi ise 2 for döngüsü içerisinde bu sefer satır sayısını arttırarak yani yukarıdan aşağıya sütun sütun tarayarak eğer max değerinden büyük bir değer varsa onu yeni max değeri olarak atadık.

- Aynı zamanda a değişkeni ile max atadığımız zamanda matrisin o sütundaki max elemanının yerini belirlemek için satır sayısını a değişkenine atadık.

- İçteki for döngüsünden çıkınca a ve max değişkenlerini sıfırlayarak bulduğumuz a ve max değişkenlerini ekrana yazdırdık.

Ekran Görüntüleri :






İlk Soru İçin Videolu Anlatım :




Matrise Rastgele Harf Nasıl Atanır ?



Örnek 2: Matrise rastgele harf atayan program.

Kaynak Kod :

#include
#include
#include

int main()
{
srand(time(NULL));
static int satir,sutun,i,j;
static char matris[100][100];
printf("Satir sayisini giriniz :"); scanf("%d",&satir);
printf("Sutun sayisini giriniz :"); scanf("%d",&sutun);
for(i=0;i {
for(j=0;j {
matris[i][j]='A'+rand()%26;
printf("%c\t",matris[i][j]);
}
printf("\n");
}
return 0;
}

Kod Analiz :

- İlk olarak kullanıcıdan matrisimizin satır ve sütun sayılarını aldık.

- Daha sonra ise 2 for döngüsü içerisinde matris[i][j] elemanına 'A' + rand()%26 atadık. Bunun anlamı ascii tablosunda A sayısına karşılık gelen sayı+26 yani 26 derken İngilizce'de 26 harf olduğu için 26 dedik.

Daha da açık anlatmak gerekirse ascii tablosunda A harfinden sonraki 25 eleman b,c,d ve e şeklinde İngilizce'de ki harflerden oluşur. Böylece A-Z arası bir İngilizce karakteri matrisimize atamış olduk.

- Son olarak ise yine aynı 2 for döngüsü içerisinde matrisimizi ekrana yazdırdık.

Ekran Görüntüleri :





"C Dili Dersleri Matris Örnek Çözümü (Videolu Anlatım)" adlı bu derste matrislerle ilgili bir adet örnek çözdük. Aynı zamanda C programlama dilinde bir matrise rastgele harf atamayı öğrendik.

C dilinde daha çok örnek çözmek için buraya tıklayın.

Bu ders anlatımını beğendiyseniz lütfen yorum yapmayı ve paylaşmayı unutmayın.

Kaynak: Pubtekno