PDA

View Full Version : مبتدی: آرایه دو بعدی در C++‎



rahimzade
پنج شنبه 18 آذر 1395, 23:37 عصر
سلام دوستان عزیز
این کد رو ببینید ... توی ویژوال کامپایل نمی شه

#include
"stdafx.h"

#include
<iostream>


using
namespace std;


int
main(intargc, _TCHAR* argv[])

{


int N;

cin>> N;



char code[N][100];


system(
"pause");


return 0;

}



به N توی این خط گیر می دی و می گی باید برای آرایه حتما مقدار ثابت قرار بدی
char code[N][100];



اما همین کد ها توی Dev درست اجرا می شه

پیشاپیش ممنون

Symbian Master
شنبه 20 آذر 1395, 09:11 صبح
سلام دوستان عزیز
این کد رو ببینید ... توی ویژوال کامپایل نمی شه

#include
"stdafx.h"

#include
<iostream>


using
namespace std;


int
main(intargc, _TCHAR* argv[])

{


int N;

cin>> N;



char code[N][100];


system(
"pause");


return 0;

}



به N توی این خط گیر می دی و می گی باید برای آرایه حتما مقدار ثابت قرار بدی
char code[N][100];



اما همین کد ها توی Dev درست اجرا می شه

پیشاپیش ممنون
سلام

برای آرایه ی یک بعدی، اگر میخواهید که کاربر، اندازه ی آرایه رو وارد کنه؛ از این دستور استفاده کنید:

int x;
in >> x;
int* array = new int[ x ];


یه راه دیگه هم، استفاده از وکتور هست. و چون شما میخواهید 2 بعدی باشه؛ پس میتونید از "وکتوری از وکتورها" استفاده کنید:
vector<vector<int> > esmeArraye;

maarek
شنبه 20 آذر 1395, 09:14 صبح
اینو امتحان کن :
char *code = new char[N][100]

Symbian Master
یک شنبه 21 آذر 1395, 14:51 عصر
سلام دوستان عزیز
این کد رو ببینید ... توی ویژوال کامپایل نمی شه

#include
"stdafx.h"

#include
<iostream>


using
namespace std;


int
main(intargc, _TCHAR* argv[])

{


int N;

cin>> N;



char code[N][100];


system(
"pause");


return 0;

}



به N توی این خط گیر می دی و می گی باید برای آرایه حتما مقدار ثابت قرار بدی
char code[N][100];



اما همین کد ها توی Dev درست اجرا می شه

پیشاپیش ممنون
این برنامه، یک نمونه جدول ضرب هست که مقدار سطر و ستون، (با استفاده از vector) به صورت متغیر تعریف شده شده:

#include <cstdlib>
#include <iostream>
#include <vector>
#include <iomanip>


using namespace std;


int main(){


int row = 0, column = 0, sum = 0;
vector <int> table;
cout << "Enter Row and column: \n";
cin >> row >> column;


cout << "Multiplication Tables for " << row << " by " << column << "\n";
for (int i = 1; column >= i; ++i)
for (int j = 1; row >= j; ++j){
sum = i * j;
table.push_back(sum);
}


int iter = 0;
for (vector<int>::const_iterator i = table.begin(); i != table.end(); ++i)
{
if ((iter % column) == 0)
cout << "\n";
cout << setw(5) << *i << ' ';
iter++;
}
cout << endl;
return 0;
};

rahimzade
دوشنبه 22 آذر 1395, 21:44 عصر
ممنون از راهنمایی دوستان
اما من هنوز جواب یکی از سوال هام رو نگرفتم چرا یه کد توی dev درست کار میکنه اما توی visual studio نه؟