C Diziler Kodu Nasıl Yazılır?

Ronnietory

Hectopat
Katılım
19 Mayıs 2020
Mesajlar
338
Makaleler
1
Aşağıda iki tane iki boyutlu dizi ve elemanlarını klavyeden belirleyebildiğimiz bir kod yazmaya çalıştım. Kod genel olarak düzgün çalışıyor fakat dizinin [0][1] elemanına sıra gelince girdiğim değerin 10 fazlası çıkıyor fakat ben kodlarda hata bulamadım.

C:
#include <stdio.h>
#include <stdlib.h>

int main(){
 int a, b, x, y, i, j;
 printf("1.dizinin 1.boyutu:\n");
 scanf("%d", &a);
 printf("1.dizinin 2.boyutu\n");
 scanf("%d", &b);
 printf("2.dizinin 1.boyutu\n");
 scanf("%d", &x);
 printf("2.dizinin 2.boyutu\n");
 scanf("%d", &y);

 int dizi[a][b];

 for (i = 0; i <= a; i++)
 {
 for (j = 0; j <= b; j++)
 {
 printf("dizi[%d][%d]:\n",i,j);
 scanf("%d", &dizi[i][j]);
 }
 }

 int dizi2[x][y];

 for (i = 0; i <= x; i++)
 {
 for (j = 0; j <= y; j++)
 {
 printf("dizi2[%d][%d]:\n",i,j);
 scanf("%d", &dizi2[i][j]);
 }
 }

 for (i = 0; i <= a; i++)
 {
 for (j = 0; j <= b; j++)
 {
 printf("%d\n", dizi[i][j]);
 }
 }

 for (i = 0; i <= x; i++)
 {
 for (j = 0; j <= y; j++)
 {
 printf("%d\n", dizi2[i][j]);
 }
 }
 return 0;
}
 
Compilerdan compilera ve standarda göre array boyutunun compile işleminden önce bilinmesi şartı oluyor. Ona takılmış olabilirsiniz. Okunur hale getirdiğimde www.onlinegdb.com sitesinde çalışıyor. Sitede standart belirtildiğini görmedim.

Kodda <= olan kısım dışında işlevsel bir şey ellemedim. Index başlangıcı yüzünden sadece < yaptım.
Kod:
#include <stdio.h>
#include <stdlib.h>

int main() {
    int a = 0;
    int b = 0;
    int x = 0;
    int y = 0;
    int i = 0;
    int j = 0;
    
    printf("1. dizinin 1. boyutu: ");
    scanf("%d", &a);
    printf("1. dizinin 2. boyutu: ");
    scanf("%d", &b);
    printf("2. dizinin 1. boyutu: ");
    scanf("%d", &x);
    printf("2. dizinin 2. boyutu: ");
    scanf("%d", &y);
    printf("\n");

    int dizi[a][b];
    int dizi2[x][y];

    for (i = 0; i < a; ++i) {
        for (j = 0; j < b; ++j) {
            printf("dizi[%d][%d]: ", i, j);
            scanf("%d", &dizi[i][j]);
        }
    }

    for (i = 0; i < x; ++i) {
        for (j = 0; j < y; ++j) {
            printf("dizi2[%d][%d]: ", i, j);
            scanf("%d", &dizi2[i][j]);
        }
    }
    
    for (i = 0; i < a; ++i) {
        for (j = 0; j < b; ++j) {
            printf("%d ", dizi[i][j]);
        }
        printf("\n");
    }
    printf("\n");
    
    for (i = 0; i < x; ++i) {
        for (j = 0; j < y; ++j) {
            printf("%d ", dizi2[i][j]);
        }
        printf("\n");
    }
    printf("\n");
    
    return 0;
}
 
Compilerdan compilera ve standarda göre array boyutunun compile işleminden önce bilinmesi şartı oluyor. Ona takılmış olabilirsiniz. Okunur hale getirdiğimde www.onlinegdb.com sitesinde çalışıyor. Sitede standart belirtildiğini görmedim.

Kodda <= olan kısım dışında işlevsel bir şey ellemedim. Index başlangıcı yüzünden sadece < yaptım.
Kod:
#include <stdio.h>
#include <stdlib.h>

int main() {
    int a = 0;
    int b = 0;
    int x = 0;
    int y = 0;
    int i = 0;
    int j = 0;
   
    printf("1. dizinin 1. boyutu: ");
    scanf("%d", &a);
    printf("1. dizinin 2. boyutu: ");
    scanf("%d", &b);
    printf("2. dizinin 1. boyutu: ");
    scanf("%d", &x);
    printf("2. dizinin 2. boyutu: ");
    scanf("%d", &y);
    printf("\n");

    int dizi[a][b];
    int dizi2[x][y];

    for (i = 0; i < a; ++i) {
        for (j = 0; j < b; ++j) {
            printf("dizi[%d][%d]: ", i, j);
            scanf("%d", &dizi[i][j]);
        }
    }

    for (i = 0; i < x; ++i) {
        for (j = 0; j < y; ++j) {
            printf("dizi2[%d][%d]: ", i, j);
            scanf("%d", &dizi2[i][j]);
        }
    }
   
    for (i = 0; i < a; ++i) {
        for (j = 0; j < b; ++j) {
            printf("%d ", dizi[i][j]);
        }
        printf("\n");
    }
    printf("\n");
   
    for (i = 0; i < x; ++i) {
        for (j = 0; j < y; ++j) {
            printf("%d ", dizi2[i][j]);
        }
        printf("\n");
    }
    printf("\n");
   
    return 0;
}
Çok teşekkürler çalıştı ama ben mesela 1.dizinin 1.boyutuna 1 girdiğimde dizi[0][0] girebiliyorum oysa dizi[0][1]'i de girebilmem gerekmez mi?
 

Yeni konular

Geri
Yukarı