EEM-119 Algoritma ve Programlama I Dersi
2022-2023 Güz Dönemi Ders 10
Diziler
- Dizi elemanlarına değer atama
#include <stdio.h> int main(){ int a[10]; a[0]=10; a[1]=20; a[2]=30; printf("bir deger giriniz"); scanf("%d",&a[3]); printf("%d %d %d %d",a[0],a[1],a[2],a[3]); return 0; }
bir deger giriniz 50 10 20 30 50
- Döngü ile değer atama, değerleri yazdırma
#include <stdio.h>
int main(){
int a[10];
int i;
for(i=0;i<10;i++)
scanf("%d",&a[i]);
for(i=0;i<10;i++)
printf("%d ",a[i]);
return 0;
}
5 3 9 1 7 10 6 8 4 2 5 3 9 1 7 10 6 8 4 2
- Dizi elemanlarının toplamı
#include <stdio.h>
int main(){
int a[10];
int i,toplam=0;
for(i=0;i<10;i++)
scanf("%d",&a[i]);
for(i=0;i<10;i++)
toplam = toplam+a[i];
printf("sayilarin toplami: %d", toplam);
return 0;
}
5 3 9 1 7 10 6 8 4 2 sayilarin toplami: 55
- Dizinin en büyük elemanını bulma
#include <stdio.h>
int main(){
int a[10];
int i,eb;
for(i=0;i<10;i++)
scanf("%d",&a[i]);
eb=a[0];
for(i=1;i<10;i++)
if(a[i]>eb)
eb=a[i];
printf("en buyuk sayi: %d", eb);
return 0;
}
5 3 9 1 7 10 6 8 4 2 en buyuk sayi: 10
- Dizinin en küçük elemanını bulma
#include <stdio.h>
int main(){
int a[10];
int i,ek;
for(i=0;i<10;i++)
scanf("%d",&a[i]);
ek=a[0];
for(i=1;i<10;i++)
if(a[i]<ek)
ek=a[i];
printf("en kucuk sayi: %d", ek);
return 0;
}
5 3 9 1 7 10 6 8 4 2 en kucuk sayi: 1
- Dizini ters yazdırma
#include <stdio.h>
int main(){
int a[10];
int i;
for(i=0;i<10;i++)
scanf("%d",&a[i]);
for(i=0;i<10;i++)
printf("%d ",a[i]);
printf("\n");
for(i=9;i>=0;i--)
printf("%d ",a[i]);
printf("\n");
for(i=0;i<10;i++)
printf("%d ",a[9-i]);
return 0;
}
5 3 9 1 7 10 6 8 4 2 5 3 9 1 7 10 6 8 4 2 2 4 8 6 10 7 1 9 3 5 2 4 8 6 10 7 1 9 3 5
- while döngüsü ile dizi yazdırma
#include <stdio.h>
int main(){
int a[10];
int i=0;
while(i<10){
scanf("%d",&a[i]);
i++;
}
i=0;
while(i<10){
printf("%d ",a[i]);
i++;
}
return 0;
}
5 3 9 1 7 10 6 8 4 2 5 3 9 1 7 10 6 8 4 2
#include <stdio.h>
int main(){
int a[10];
int i=0;
while(i<10)
scanf("%d",&a[i++]);
i=0;
while(i<10)
printf("%d ",a[i++]);
return 0;
}
5 3 9 1 7 10 6 8 4 2 5 3 9 1 7 10 6 8 4 2
- Dizi başlangıç değerleri atama
#include <stdio.h>
int main(){
int a[10]={1,2,3,4,5,6,7,8,9,10};
int i=0;
while(i<10)
printf("%d ",a[i++]);
return 0;
}
1 2 3 4 5 6 7 8 9 10
#include <stdio.h>
int main(){
int a[10]={1,2,3,4};
int i=0;
while(i<10)
printf("%d ",a[i++]);
return 0;
}
1 2 3 4 0 0 0 0 0 0
#include <stdio.h>
int main(){
int a[10]={0};
int i=0;
while(i<10)
printf("%d ",a[i++]);
return 0;
}
0 0 0 0 0 0 0 0 0 0
Başlangıç değeri atanmazsa aşağıdaki gibi değerler görülebilir:
#include <stdio.h>
int main(){
int a[10];
int i=0;
while(i<10)
printf("%d ",a[i++]);
return 0;
}
1900540590 32552 1897995046 32552 0 0 -1741962240 -1105345314 -99449040 32767
- Bir sayıda hangi rakamdan kaç tane var
#include <stdio.h>
int main(){
int rakamlar[10]={0}, sayi;
int i=0;
printf("sayi giriniz: ");
scanf("%d",&sayi);
while(sayi>0){
rakamlar[sayi%10]+=1;
sayi=sayi/10;
}
for(i=0;i<10;i++)
printf("%d ",rakamlar[i]);
return 0;
}
sayi giriniz: 333178434 0 1 0 4 2 0 0 1 1 0
- Dizi boyuları
#include <stdio.h>
int main(){
int a[10];
short b[10];
printf("%d %d", sizeof(a), sizeof(b));
return 0;
}
40 20
#include <stdio.h>
#define N 10
int main(){
int a[N];
int i=0;
while(i<N)
scanf("%d",&a[i++]);
for(i=0;i<N;i++)
printf("%d ",a[i]);
return 0;
}
5 3 9 1 7 10 6 8 4 2 5 3 9 1 7 10 6 8 4 2
#include <stdio.h>
int main(){
int a[10];
int i=0;
while(i<sizeof(a)/sizeof(a[0]))
scanf("%d",&a[i++]);
for(i=0;i<sizeof(a)/sizeof(a[0]);i++)
printf("%d ",a[i]);
return 0;
}
5 3 9 1 7 10 6 8 4 2 5 3 9 1 7 10 6 8 4 2
- Çok boyutlu diziler
#include <stdio.h>
int main(){
int a[4][3];
int i,j;
for(i=0;i<4;i++)
for(j=0;j<3;j++)
scanf("%d",&a[i][j]);
for(i=0;i<4;i++)
for(j=0;j<3;j++)
printf("%d ",a[i][j]);
return 0;
}
5 3 9 1 7 10 6 8 4 2 1 2 5 3 9 1 7 10 6 8 4 2 1 2
#include <stdio.h>
int main(){
int a[4][3];
int i,j;
for(i=0;i<4;i++)
for(j=0;j<3;j++)
scanf("%d",&a[i][j]);
for(i=0;i<4;i++){
for(j=0;j<3;j++)
printf("%d ",a[i][j]);
printf("\n");
}
return 0;
}
5 3 9 1 7 10 6 8 4 2 1 2 5 3 9 1 7 10 6 8 4 2 1 2
#include <stdio.h>
int main(){
int a[4][3];
int i,j;
for(i=0;i<4;i++)
for(j=0;j<3;j++)
scanf("%d",&a[i][j]);
for(i=0;i<4;i++){
for(j=0;j<3;j++)
printf("%4d ",a[i][j]);
printf("\n");
}
return 0;
}
5 3 9 1 7 10 6 8 4 2 1 2 5 3 9 1 7 10 6 8 4 2 1 2
#include <stdio.h>
int main(){
int a[4][3]={{1,2,3},{4,5,6},{7,8,9},{10,11,12}};
int i,j;
for(i=0;i<4;i++){
for(j=0;j<3;j++)
printf("%4d ",a[i][j]);
printf("\n");
}
return 0;
}
1 2 3 4 5 6 7 8 9 10 11 12
#include <stdio.h>
int main(){
int a[4][3]={{1}};
int i,j;
for(i=0;i<4;i++){
for(j=0;j<3;j++)
printf("%4d ",a[i][j]);
printf("\n");
}
return 0;
}
1 0 0 0 0 0 0 0 0 0 0 0
- 2 boyutlu 2 dizinin toplamı
#include <stdio.h>
#define N 4
#define M 3
int main(){
int a[N][M],b[N][M],c[N][M];
int i,j;
for(i=0;i<N;i++)
for(j=0;j<M;j++)
scanf("%d",&a[i][j]);
for(i=0;i<N;i++)
for(j=0;j<M;j++)
scanf("%d",&b[i][j]);
for(i=0;i<N;i++)
for(j=0;j<M;j++)
c[i][j]=a[i][j]+b[i][j];
for(i=0;i<N;i++){
for(j=0;j<M;j++)
printf("%4d ",a[i][j]);
printf("\n");
}
printf("\n\n");
for(i=0;i<N;i++){
for(j=0;j<M;j++)
printf("%4d ",b[i][j]);
printf("\n");
}
printf("\n\n");
for(i=0;i<N;i++){
for(j=0;j<M;j++)
printf("%4d ",c[i][j]);
printf("\n");
}
return 0;
}
5 3 9 1 7 10 6 8 4 2 1 2 3 9 1 7 10 6 8 4 2 1 2 7 5 3 9 1 7 10 6 8 4 2 1 2 3 9 1 7 10 6 8 4 2 1 2 7 8 12 10 8 17 16 14 12 6 3 3 9
#include <stdio.h>
#define N 4
#define M 3
int main(){
double a[N][M];
int i;
for(i=0;i<N*M;i++)
scanf("%lf",&a[i/M][i%M]);
for(i=0;i<N*M;i++)
printf("%.2lf ",a[i/M][i%M]);
return 0;
}
5 3 9 1 7 10 6 8 4 2 1 2 5.00 3.00 9.00 1.00 7.00 10.00 6.00 8.00 4.00 2.00 1.00 2.00
#include <stdio.h>
#define N 4
#define M 3
int main(){
double a[N][M];
int i,j;
for(i=0;i<N*M;i++)
scanf("%lf",&a[i/M][i%M]);
for(i=0;i<N;i++){
for(j=0;j<M;j++)
printf("%.2lf ",a[i][j]);
printf("\n");
}
return 0;
}
5 3 9 1 7 10 6 8 4 2 1 2 5.00 3.00 9.00 1.00 7.00 10.00 6.00 8.00 4.00 2.00 1.00 2.00
#include <stdio.h>
#define N 4
#define M 3
int main(){
double a[N][M];
int i;
for(i=0;i<N*M;i++)
scanf("%lf",&a[i/M][i%M]);
for(i=1;i<=N*M;i++){
printf("%7.2lf",a[(i-1)/M][(i-1)%M]);
if(i%M==0)
printf("\n");
}
return 0;
}
5 3 9 1 7 10 6 8 4 2 1 2 5.00 3.00 9.00 1.00 7.00 10.00 6.00 8.00 4.00 2.00 1.00 2.00
- Birim matris
#include <stdio.h>
#define N 4
int main(){
double a[N][N];
int i,j;
for(i=0;i<N;i++)
for(j=0;j<N;j++)
if(i==j)
a[i][j]=1;
else
a[i][j]=0;
for(i=0;i<N;i++){
for(j=0;j<N;j++)
printf("%4.1lf ",a[i][j]);
printf("\n");
}
return 0;
}
1.0 0.0 0.0 0.0 0.0 1.0 0.0 0.0 0.0 0.0 1.0 0.0 0.0 0.0 0.0 1.0
#include <stdio.h>
#define N 4
int main(){
double a[N][N]=0;
int i,j;
for(i=0;i<N;i++)
a[i][i]=1;
for(i=0;i<N;i++){
for(j=0;j<N;j++)
printf("%4.1lf ",a[i][j]);
printf("\n");
}
return 0;
}
1.0 0.0 0.0 0.0 0.0 1.0 0.0 0.0 0.0 0.0 1.0 0.0 0.0 0.0 0.0 1.0
- 2 boyutlu bir dizinin satır ve sutunlarının toplamı
#include <stdio.h>
#define N 5
#define M 6
int main(){
int a[N][M];
int i,j, toplam;
for(i=0;i<N;i++)
for(j=0;j<M;j++)
scanf("%d",&a[i][j]);
for(i=0;i<N;i++){
for(j=0;j<M;j++)
printf("%4d ",a[i][j]);
printf("\n");
}
for(i=0;i<N;i++){
toplam=0;
for(j=0;j<M;j++)
toplam += a[i][j];
printf("%d. satirin toplami:%d\n",i+1,toplam);
}
for(j=0;j<M;j++){
toplam=0;
for(i=0;i<N;i++)
toplam += a[i][j];
printf("%d. sutunun toplami:%d\n",j+1,toplam);
}
return 0;
}
53 49 26 5 3 69 48 86 82 63 95 71 8 12 80 70 50 64 62 51 11 97 93 34 43 72 77 31 1 94 53 49 26 5 3 69 48 86 82 63 95 71 8 12 80 70 50 64 62 51 11 97 93 34 43 72 77 31 1 94 1. satirin toplami:205 2. satirin toplami:445 3. satirin toplami:284 4. satirin toplami:348 5. satirin toplami:318 1. sutunun toplami:214 2. sutunun toplami:270 3. sutunun toplami:276 4. sutunun toplami:266 5. sutunun toplami:242 6. sutunun toplami:332