Soru1: 99 elemanlı bir dizinin mod, medyan ve ortalamasını bulan program yazınız. void medyan(int cevap[]) { int j; siralama(cevap); printf( "\nMedyan: %d\n",cevap[ BOYUT / 2 ] ); } void siralama(int dizi[]) int i,j,enK,yedek; for(i=0;i<BOYUT-1;i++) enK=i; for(j=i+1;j<BOYUT;j++) if(dizi[j]<dizi[enK]) enK=j; yedek = dizi[i]; dizi[i] = dizi[enK]; dizi[enK] = yedek; void mod(int frek[],const int cevap[]) int puan,j,h,enB=0,modD=0; for(j=0;j<BOYUT;j++) ++frek[cevap[j]]; for (puan = 1; puan <= 9; puan ++ ) if ( frek[puan] > enB) { enB = frek[puan]; modD = puan; printf("\nMod: %d", modD); #include <stdio.h> #include <conio.h> #define BOYUT 99 void orta(const int[]); void medyan(int[]); void mod(int[],const int[]); void siralama(int[]); int main() { int frekans[10]={0}; int cevap[BOYUT]= {6, 7, 8, 9, 8, 7, 8, 9, 8, 9,7, 8, 9, 5, 9, 8, 7, 8, 7, 8, 6, 7, 8, 9, 3, 9, 8, 7, 8, 7,7, 8, 9, 8, 9, 8, 9, 7, 8, 9, 6, 7, 8, 7, 8, 7, 9, 8, 9, 2,7, 8, 9, 8, 9, 8, 9, 7, 5, 3, 5, 6, 7, 2, 5, 3, 9, 4, 6, 4,7, 8, 9, 6, 8, 7, 8, 9, 7, 8, 7, 4, 4, 2, 5, 3, 8, 7, 5, 6,4, 5, 6, 1, 6, 5, 7, 8, 7 }; orta(cevap); medyan(cevap); mod(frekans,cevap); getch(); return 0; } void orta ( const int cevap [ ] ) int i,toplam=0; for(i=0;i<BOYUT;i++) toplam+=cevap[i]; printf("Ortalama: %.4f\n",(double)toplam/BOYUT);
Soru2: İki adet zar atan bir program yazınız Soru2: İki adet zar atan bir program yazınız. Her iki zarı da atmak için rand() fonksiyonunu kullanınız. Programımınız iki zarı tam 36000 kez atsın ve her atış sonucunun toplamlarını 36000 elemanlı tek boyutlu bir diziye yazın. Sonuçları çizelge şeklinde ekrana yazdırın.
#include <stdio.h> #include <stdlib.h> #include <time.h> #include <conio.h> int main() { long i; int j,x,y; int sum[ 13 ] = { 0 }; int expected[ 13 ] = { 0, 0, 1, 2, 3, 4, 5, 6, 5, 4, 3, 2, 1}; srand( time( NULL ) ); for ( i = 1; i <= 36000; i++ ) { x = 1 + rand() % 6; y = 1 + rand() % 6; ++sum[ x + y ]; } printf( "%8s %8s %8s %8s \n", "ZarToplam", "Toplam", "Beklenen", "Gözlenen" ); for ( j = 2; j <= 12; j++ ) { printf( "%8d %8d %7.3f %% %7.3f%%\n", j, sum[ j ], 100.0 * expected[ j ] / 36, 100.0 * sum[ j ] / 36000 ); getch(); return 0;
printf("\nA matrisinin transpozu:\n"); Soru3: 1-99 arası rasgele sayılardan oluşan, 10x10’luk bir matrisin transpozunu alan bir program yazınız. #include<stdio.h> #include<conio.h> #include<time.h> #include<stdlib.h> #define B 10 int main() { int a[B][B],b[B][B]; int i,j; srand(time(NULL)); for(i=0;i<B;i++) for(j=0;j<B;j++) a[i][j]=1+rand()%99; printf("A matrisi:\n"); for(i=0;i<B;i++){ for(j=0;j<B;j++) printf("%3d",a[i][j]); printf("\n"); } for(i=0;i<B;i++) b[j][i]=a[i][j]; printf("\nA matrisinin transpozu:\n"); for(j=0;j<B;j++){ for(i=0;i<B;i++) printf("%3d",b[j][i]); printf("\n"); } getch(); return 0;
Soru4: 1-99 arası rasgele sayılardan oluşan, 10x10’luk bir matrisin esas köşegenini ekrana yazdıran bir program yazınız. #include<stdio.h> #include<conio.h> #include<time.h> #include<stdlib.h> #define B 10 int main() { int a[B][B]; int i,j,top=0; srand(time(NULL)); for(i=0;i<B;i++){ for(j=0;j<B;j++) a[i][j]=1+rand()%99; } printf("A matrisi:\n"); for(j=0;j<B;j++)printf("%3d",a[i][j]); printf("\n"); printf("A matrisinin esas kosegeni:\n"); for(i=0;i<B;i++) for(j=0;j<B;j++) if(i==j) printf("%*d\n",3*(i+1),a[i][j]); getch(); return 0; }
Soru5: Klavyeden girilen 2x2’lik bir matrisin tersini alan programı yazınız. #include <stdio.h> #include <stdlib.h> #include <conio.h> main() { int i,j; float dizi[2][2],det,tersi[2][2]; for(i=0;i<=1;i++){ for(j=0;j<=1;j++){ printf(“dizi [%d][%d] = ",i+1,j+1); scanf("%f",&dizi[i][j]); } det=dizi[0][0]*dizi[1][1]-dizi[0][1]*dizi[1][0]; if(det==0) printf("Bu matrisin tersi mevcut degildir"); else{ printf("Matrisin tersi:\n"); tersi[0][0]=dizi[1][1] / det; tersi[0][1]=(-1)*dizi[0][1] / det; tersi[1][0]=(-1)*dizi[1][0] / det; tersi[1][1]=dizi[0][0] / det; for(j=0;j<=1;j++) printf("%.2f ",tersi[i][j]); printf("\n"); getch(); return 0;