這位大大這是我目前寫出來的程式.
可是我實在是亂寫一通啦...
自己也看不懂...我是參考老師的範例...
答案居然是.....空白空白.....
複製程式
#include <cstdlib>
#include <iostream>
using namespace std;
struct vector { //定義結構
int* ptr;
int size;
};
//以下為你必須實現功能的函數
void vec_creat(vector& v, int s); //建立vector
void vec_resize(vector& v, int s); //重新調整vector 大小
int vec_get(vector& v,int p);//取出數值
void vec_set(vector& v, int p, int val); //設定數值(指定array位置作數值設定)
void vec_clean(vector& v); //清除vector
//以下為已完成功能的函數(你只需使用下列函數,不要對下列函數修改)
void vec_set(vector& v,int val); //設定數值(對全部array作設定)
void vec_print(vector& v); //列印
//主程式
int main(int argc, char *argv[])
{
vector x;
x.ptr=NULL;
x.size=0;
vec_creat(x,10);
for(int i=0; i<x.size;i++)
vec_set(x,i,i*i);
vec_print(x);
vec_set(x,99);
vec_print(x);
system("PAUSE");
return 0;
}
//===============
void vec_print(vector& v){
for(int i=0; i<v.size;i++)
cout<<vec_get(v,i)<<" ";
cout<<endl;
}
void vec_set(vector& v,int val) {
for (int i=0; i<v.size;i++)
v.ptr[i]=val;
}
//=============================
void vec_creat(vector& v,int s){
if(v.ptr != NULL)
delete [] v.ptr;
v.ptr=new int[s];
for(int i=0;i<s;i++)
v.ptr[i]=0;
}
void vec_resize(vector& v,int s){
int s1,v1;
v.ptr =new int[s1];
for (int i=0;i<s;i++)
v.ptr[s1]=v.ptr[s1];
delete [] v.ptr;
v.ptr=v.ptr;
}
int vec_get(vector& v,int p){
return v.ptr[p];
}
void vec_set(vector& v,int p,int val){ //指定位置設定數值
if(p<0 ||p>=v.size)
return;
v.ptr[p]=val;
}
void vec_clean(vector& v){
if (v.ptr=NULL)
delete [] v.ptr;
v.ptr=NULL;
}