30/09/2018, 19:40

Làm sao để in đường chéo chính trong ma trận cấp 2

Đề bài
http://www.upsieutoc.com/images/2016/02/20/cau4.jpg
Code mình làm:

#include <stdio.h>
#include <stdlib.h>
#define MAX 100
#define TiepTuc {iChon = 0;break;}

void NhapMaTran(int a[MAX][MAX], int n);
void InCheoChinh(int a[MAX][MAX], int n);

int main()
{
    int a[25][25], iChon, n;
    do{
        printf("
1. Chon 1 de Nhap vao 1 ma tran");
        printf("
2. Chon 2 de In cac phan tu tren duong cheo chinh");
        printf("
3. Chon 3 de Ket thuc
");  scanf("%d", &iChon);

        switch(iChon)
        {
            case 1:
                {
                    printf("Nhap n: "); scanf("%d", &n);
                    NhapMaTran(a, n);
                    TiepTuc;
                }
            case 2:
                {
                    InCheoChinh(a, n);
                    TiepTuc;
                }
            case 3:
                {
                    printf("Ban da chon thoat, nhan Enter de tiep tuc.");
                    return 0;
                }
            default: printf("Ban chon so khong dung, moi ban chon lai");
        }
    }while(iChon < 1 || iChon > 3);
    return 0;
}

void NhapMaTran(int a[MAX][MAX], int n){
    int i, j, t;

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

void InCheoChinh(int a[MAX][MAX], int n){
    int i, j;

    for(i = 0; i < n; i++){
        for(j = 0; j < n; j++){
            if(a[i][j] = a[i][i])
                printf("%3.d", a[i][j]);
            printf(" * ");
        }
        printf("
");
    }
}

Ở hàm InCheoChinh mình không biết xử lý ntn, ai biết giúp mình với, cảm ơn mn

X viết 21:43 ngày 30/09/2018

Sửa if (i == j)

NOName viết 21:50 ngày 30/09/2018

Thanks bạn :D. Đơn giản vậy mà mình mày mò mãi

X viết 21:53 ngày 30/09/2018

This topic was automatically closed after 2 hours. New replies are no longer allowed.

Bài liên quan
0