Kênh Tên Miền chuyên cung cấp tên miền đẹp, giá rẻ! Hãy liên hệ kỹ thuật: 0914205579 - Kinh doanh: 0912191357 để được tư vấn, hướng dẫn miễn phí, Cảm ơn quý khách đã ủng hộ trong thời gian qua!
Sunday, August 3, 2014

Viết chương trình nhập vào dãy số nguyên, lưu chúng vào vùng nhớ cấp phát và được trỏ đến bởi một con trỏ (không dùng mảng). Dùng cách truy xuất đến từng phần tử của mảng thông qua con trỏ, khai báo 4 vùng nhớ để chứa 4 dãy con như sau:
-Dãy 1: gồm các số chẳng
-Dãy 2: gồm các số lẻ
-Dãy 3: gồm các số âm
-Dãy 4: gồm các số dương


Bài Giải


/*
Name: Tach day so thanh cac thanh phan
Copyright: None
Author: Tran Anh
Description: http://www.code.tavn.net
*/
#include<conio.h>
#include<stdio.h>
#include<malloc.h>

void inp(int *a, int n)
{
for(int i=0;i<n;i++)
{
printf("\t-Nhap phan tu a[%d]: ",i);
scanf("%d",(a+i));
}
}
void prt(int *t,int k)
{
int i;
printf("\n");
for(i=0;i<k;i++)
printf("%5d",*(t+i));
printf("\n");
}

main()
{
int n;
int *a,*le,*chang,*am,*duong;
printf("\t-Nhap so phan tu day so: ");
scanf("%d",&n);

a=(int*)malloc(sizeof(int));
le=(int*)malloc(sizeof(int));
chang=(int*)malloc(sizeof(int));
duong=(int*)malloc(sizeof(int));
am=(int*)malloc(sizeof(int));
inp(a,n);

int il=0,ic=0,ia=0,id=0;

for (int i=0;i<n;i++)
{
if(*(a+i)%2)
{
*(le+il)=*(a+i);
il++;
}
else
{
*(chang+ic)=*(a+i);
ic++;
}


if(*(a+i)<0)
{
*(am+ia)=*(a+i);
ia++;
}
else
{
*(duong+id)=*(a+i);
id++;
}

}

prt(chang,ic);
prt(le,il);
prt(am,ia);
prt(duong,id);

getch();
return 0;
}

0 comments:

Post a Comment

Popular Posts