Đảo ngược một dãy số - Con trỏ
March 07, 2023
Viết chương trình nhập vào một dãy số nguyên, lưu chúng vào vùng nhớ được cấp phát và được trỏ (không dùng mảng). Dùng cách truy cập đến các phần tử của mảng thông qua con trỏ, đảo ngược dãy vừa nhập.
Bài Giải
/*
Name: Dao nguoc mot day so
Copyright: None
Author: Tran Anh
Description: https://gimi.vn
*/
#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 change(int *a, int n)
{
int temp;
for(int i=0;i<n/2;i++)
{
temp=*(a+i);
*(a+i)=*(a+n-i-1);
*(a+n-i-1)=temp;
}
}
main()
{
int n;
printf("\t-Nhap vao so phan tu: ");
scanf("%d",&n);
int *a;
a=(int*)malloc(sizeof(int));
inp(a,n);
printf("\t=> Mang vua nhap: \n");
for (int i=0;i<n;i++)
{
printf("%6d",*(a+i));
}
change(a,n);
printf("\n\t=>Mang da dao chieu: \n");
printf("\n");
for (int i=0;i<n;i++)
{
printf("%6d",*(a+i));
}
getch();
return 0;
}
Name: Dao nguoc mot day so
Copyright: None
Author: Tran Anh
Description: https://gimi.vn
*/
#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 change(int *a, int n)
{
int temp;
for(int i=0;i<n/2;i++)
{
temp=*(a+i);
*(a+i)=*(a+n-i-1);
*(a+n-i-1)=temp;
}
}
main()
{
int n;
printf("\t-Nhap vao so phan tu: ");
scanf("%d",&n);
int *a;
a=(int*)malloc(sizeof(int));
inp(a,n);
printf("\t=> Mang vua nhap: \n");
for (int i=0;i<n;i++)
{
printf("%6d",*(a+i));
}
change(a,n);
printf("\n\t=>Mang da dao chieu: \n");
printf("\n");
for (int i=0;i<n;i++)
{
printf("%6d",*(a+i));
}
getch();
return 0;
}
Post a Comment