Lập trình C: mảng 1 chiều dùng con trỏ

Thảo luận trong 'Phần mềm' bắt đầu bởi truongkienthuc, 23/10/13.

Loading...
  1. truongkienthuc

    truongkienthuc Administrator

    Bài tập lập trình C: Xử lý mảng một chiều dùng con trỏ, ở đây mình xin chia sẻ 1 bài tập tín tổng và tổng chẵn đơn giản trong mảng 1 chiều.
    Mã:
    #include <stdio.h>
    #include <stdlib.h>
    #include <conio.h>
     
    void nhapsopt (int &n)
    {
    do
    {
    printf("Nhap so phan tu : ");
    scanf("%d", &n);
    if (n<0 || n>100)
    printf("Nhap sai. Nhap lai: ");
    }while (n<0 || n>100);
    }
     
    void capphat (int *a, int n)
    {
    a=(int *) malloc (n);
    if (a==NULL)
    {
    printf("Ko du bo nho");
    getch();
    exit(1);
    }
    }
    void nhapmang (int *a, int n)
    {
    for (int i=0; i<n; i++)
    {
    printf("Nhap a[%d]: ", i);
    scanf("%d", (a+i));
    }
    }
     
    void xuatmang (int *a, int n)
    {
    for (int i=0; i<n; i++)
    printf("%d ", *(a+i));
    }
    long tongmang (int *a, int n)
    {
    long s=0;
    for (int i=0; i<n; i++)
    s=s+(*(a+i));
    return s;
    }
     
    long tongchan (int *a, int n)
    {
    long chan = 0;
    for (int i=0; i<n; i++)
    if (*(a+i)%2==0)
    chan=chan + *(a+i);
    return chan;
    }
     
    void main()
    {
    clrscr();
    int *a, n;
    nhapsopt(n);
    capphat(a,n);
    nhapmang(a,n);
    printf("Phan tu trong mang la : ");
    xuatmang(a,n);
    long tong=tongmang(a,n);
    printf("\nTong mang : %ld",tong);
    long tc=tongchan(a,n);
    printf("\nTong chan : %ld",tc);
    free(a);
    getch();
     
    }
    Loading...

Chia sẻ trang này