ارایه دوبعدی پویا و اشاره گر
سلام
به نظرتون میشه یه ارایه دوبعدی پویا روبااشاره گرهابه این صورت تعریف کرد؟؟
float*p=new float [20][20]l
for (int i=0;i<20;i++ )l
for (int j=0;j<20;j++ )l
cin>>p[i][j]l
اصلا من ارایه ی پویا تعریف کردم؟؟یا فقط یه فضابه اشاره گر تخصیص دادم
منون میشم اگه زود کمکم کنید
نقل قول: ارایه دوبعدی پویا و اشاره گر
سلام
اون شکلی که شما نوشتید در C++11 میشه نوشت
auto p= new float[20][20];
//...
delete[] p;
اما اینجور هم نوشته میشه
#include <iostream>
using namespace std;
int main()
{
float** p = new float* [20];
for (int i = 0; i < 20; i++)
p[i] = new float [20];
for (int i = 0; i < 20; i++)
for (int j = 0; j < 20; j++ )
cin >> p[i][j];
for (int i = 0; i < 20; i++)
delete[] p[i];
delete[] p;
return 0;
}
ضمنا از vector هم میتونید استفاده کنید
نقل قول: ارایه دوبعدی پویا و اشاره گر
خیلی ممنون
ولی یه سوال
vector هم یک ساختار مثل struct ها؟ ا:متفکر:
نقل قول: ارایه دوبعدی پویا و اشاره گر
نقل قول:
نوشته شده توسط
*Fatemeh*
خیلی ممنون
ولی یه سوال
vector هم یک ساختار مثل struct ها؟ ا:متفکر:
بله vector یک کلاسه که به صورت template هست. به این شرح که ما می تونیم وکتور از نوع int یا double یا ... درست کنیم
امکان این را داره که بهش عضو اضافه بشه یا ازش حذف بشه. مانند آرایه پویا دیگه لازم نیست delete کنیم و خصوصیات دیگه
فکر کنم چند جا در همین سایت در مورد vector توضیح داده شده. سایتهای دیگه هم هست
نقل قول: ارایه دوبعدی پویا و اشاره گر
خیلی ممنون از راهنماییتون
ولی یه چیزی به نظرم اشتباهه و اون اینکه وقتی میگیم ارایه پویاست یعنی در زمان اجرا مقدار میگیره پس موقع کدنویسی نباید مقداری مثل 20 بگیرهfloat** p = new float* [m];
خودمم تازه فهمیدم!!!!!!:لبخند:
نقل قول: ارایه دوبعدی پویا و اشاره گر
آره دیگه مثلا اینجوری
#include <iostream>
using namespace std;
int main()
{
int n;
cout << "please enter size of array: ";
cin >> n;
int* array = new int[n];
//....
}
نقل قول: ارایه دوبعدی پویا و اشاره گر
نقل قول: ارایه دوبعدی پویا و اشاره گر
سلام
اگر دو بعد آن آرایه متفاوت باشند چکار باید کرد؟ مثلا m و n
نقل قول:
نوشته شده توسط
rahnema1
آره دیگه مثلا اینجوری
#include <iostream>
using namespace std;
int main()
{
int n;
cout << "please enter size of array: ";
cin >> n;
int* array = new int[n];
//....
}
نقل قول: ارایه دوبعدی پویا و اشاره گر
نقل قول:
نوشته شده توسط
pdaneshjoo
سلام
اگر دو بعد آن آرایه متفاوت باشند چکار باید کرد؟ مثلا m و n
درود
اگه آرایه دو بعدی مد نظر باشه حتی اگه ابعاد مقادیر یکسان داشته باشه بازم m و n در نظر گرفته میشه و نحوه تعریف این شکلی میشه :
int** ary = new int*[N];
for(int i = 0; i < N; ++i)
ary[i] = new int[M];
که بالا مثال آورده شده بود اما این حالت کلی فرمولی هستش