#include <stdio.h>

int main(int argc, char const *argv[])
{
    int n,m,t[n][m];

    printf("\nEnter the dimensions of the array N x M: ");
    scanf("%d %d",&n,&m);

    printf("\nScanning the array:\n");
    
    for (int i = 0;i<n;i++) {
        for (int j = 0;j<n;j++) {
            scanf("%d",&t[i][j]);
        }
    }

    int sl;

    for (int k=0;k<n;k=k+1) {
        sl = 0;
        for (int p=0;p<m;p++){
            sl = sl + t[k][p];
        }
        printf("\nThe sum of the line number %d is %d",k+1,sl);
    }
    return 0; 
}

Dan ini adalah pengujian beberapa tes:

# 1:

Masukkan dimensi array n x m: 3 3

Memindai array:

5 6 7
> 8 9 10
1 1 1.

Jumlah nomor baris 1 adalah 3
Jumlah nomor baris 2 adalah 3
Jumlah nomor baris 3 adalah 3

# 2:

Masukkan dimensi array n x m: 4 4

Memindai array:

0 0 0 0
0 1 1 0
1 0 0 1
0 1 0 1

Jumlah nomor baris 1 adalah 2
Jumlah nomor baris 2 adalah 2
Jumlah nomor baris 3 adalah 2
Jumlah nomor baris 4 adalah 2

0
Colton Walker 28 Mei 2021, 23:51

2 jawaban

Jawaban Terbaik
#include <stdio.h>

int main(int argc, char const *argv[])
{
    int n,m; // the variables n and m aren't assigned yet so you cant create array with their dimensions

    printf("\nEnter the dimensions of the array N x M: ");
    scanf("%d %d", &n, &m);

    int t[n][m]; // create the array here

    printf("\nScanning the array:\n");
    
    for (int i = 0; i < n; i++) {
        for (int j = 0; j < m; j++) { // here you had n instead of m
            scanf("%d", &t[i][j]);
        }
    }

    int sl;

    for (int k = 0; k < n; k++) { // you can use just k++
        sl = 0;
        for (int p = 0; p < m; p++){
            sl = sl + t[k][p];
        }
        printf("\nThe sum of the line number %d is %d", k + 1, sl);
    }
    return 0; 
}
2
Bonny4 28 Mei 2021, 21:04

Berikut adalah contoh kerja dari apa yang Anda coba lakukan, saya cukup memodifikasi kode Anda untuk memperhitungkan alokasi dinamis akun (perhatikan #include <stdlib.h> di atas)

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

int main(int argc, char const *argv[])
{
    int n, m, **t;

    printf("\nEnter the dimensions of the array N x M: ");
    scanf("%d %d",&n,&m);

    t = (int**) malloc(n*sizeof(int*));     // allocating an array of pointers to int
    for (int i=0; i<n; i++){
      t[i] = (int*) malloc(m*sizeof(int));  // allocating an array of integers
    }

    printf("\nScanning the array:\n");
    
    for (int i = 0; i<n; i++) {
        for (int j = 0; j<m; j++) {
            scanf("%d", &t[i][j]);
        }
    }

    int sl;

    for (int k=0; k<n; k++) {
        sl = 0;
        for (int p=0; p<m; p++){
            sl = sl + t[k][p];
        }
        printf("\nThe sum of the line number %d is %d",k+1,sl);
    }

    for (int i=0; i<n; i++){
      free(t[i]); // de-allocating the array of integers
    }
    free(t);  // de-allocating the array of pointers to integer
    return 0; 
}

Meskipun memang benar bahwa Anda mungkin bukan seorang programmer di masa depan, silakan coba mengerti apa yang terjadi dalam kode ini, dan jika Anda perlu klarifikasi jangan ragu untuk bertanya pada C:

0
ozerodb 28 Mei 2021, 21:04