#include <cstdio>
#include <iostream>
#include <string>
#include <cmath>
#include <algorithm>
#include <cstring>
#include <queue>
#include <map>
#include <stack>
#define INF 0x3f3f3f3
#define ll long long
using namespace std;
typedef int Status;
typedef int * Triplet;
Status InitTriplet(Triplet &T,int v1,int v2,int v3)
{
T = (int * )malloc(3*sizeof(int));
if(!T) return 0;
T[0] = v1;
T[1] = v2;
T[2] = v3;
return 1;
}//动态内存申请了三个内存的空间
Status DestroyTriplet(Triplet &T)
{
free(T);
T = NULL;
return 1;
}//销毁动态申请的内存
Status Get(Triplet T,int i,int &e)
{
if(i<1 || i>3) return 0;
e = T[i-1];
return 1;
}//获取内存中的元素
Status Put(Triplet &T,int i,int e)
{
if(i<1 || i>3) return 0;
T[i-1] = e;
return 1;
}//向内存中加入新元素
Status Isascend(Triplet T)
{
if(T[0] <= T[1] && T[1] < T[2]) return 1;
return 0;
}//判断所有元素是否是递增
Status Isdescend(Triplet T)
{
if(T[0] >= T[1] && T[1] >= T[2]) return 1;
return 0;
}//判断所有元素是否递减
Status MAX(Triplet T,int &e)
{
e = (T[0]>=T[1])?
((T[0]>=T[2])?T[0]:T[2])
:((T[1]>=T[2])?T[1]:T[2]);
return 1;
}//取得最大值
Status MIN(Triplet T,int &e)
{
e = (T[0]<=T[1])?
((T[0]<=T[2])?T[0]:T[2])
:((T[1]<=T[2])?T[1]:T[2]);
return 1;
}//取得最小值
int main()
{
Triplet p;
InitTriplet(p,2,3,4);
int flag = 0,ans = 0,MAX_N = 0,MIN_N = 0;
cout<<"初始时的所有元素";
for(int i = 0; i<3; i++)
cout<<p[i]<<' ';
cout<<endl<<endl;
Get(p,1,flag);
cout<<"第一个数是:"<<flag<<endl<<endl;
Put(p,1,1);
cout<<"将第一个数更改为1后:";
for(int i = 0; i<3; i++)
cout<<p[i]<<' ';
cout<<endl<<endl;
Get(p,1,ans);
cout<<"将第一个数改为1以后,第一个数是多少:"<<ans<<endl<<endl;
if(Isascend(p)) cout<<"yes,it is increas"<<endl<<endl;
else cout<<"no,it is not increase"<<endl;
if(Isdescend(p)) cout<<"YES,IT IS DESCREAS"<<endl;
else cout<<"NO, IT IS NOT DESCREAS"<<endl<<endl;
MIN(p,MIN_N);
cout<<"最小值是:"<<MIN_N<<endl<<endl;
MAX(p,MAX_N);
cout<<"最大值是:"<<MAX_N<<endl<<endl;
DestroyTriplet(p);
// int arr_len = 10;
// int *arr;
// arr = (int *) malloc(sizeof(int) *arr_len);
// memset(arr,0,sizeof(int) *arr_len);
// for(int i = 0; i<arr_len; i++)
// arr[i] = i;
// for(int j = 0; j<arr_len; j++)
// cout<<arr[j]<<endl;
// free(arr);
return 0;
}
|