PDA

View Full Version : مشکل با visual studio



mahdiasd
سه شنبه 25 آذر 1393, 15:51 عصر
سلام دوستان خسته نباشید
من تازه برنامه نویسی c رو شروع کردم .
رسیدم به بحث آرایه ها . حالا از قرار معلوم توی ویژوال استادیو کاربر نمیتونه سایز ارایه رو مشخص کنه . و حتما باید سایز ارایه ثابت باشه و از اول معلوم .
حالا مثل اینکه یک پلاگینی هست که باید روی visual studio نصب کنم که این کارو بتونم انجام بدم .
کسی میدونه اسم این پلاگین یا افزونه چیه ؟ من هر چی گشتم پیدا نکردم
در ضمن از visual studio 2012 استفاده میکنم
با سپاس

rahnema1
سه شنبه 25 آذر 1393, 19:13 عصر
سلام
شما می تونید از حافظه پویا استفاده کنید

int n = 100;
int *arr = new int[n];
arr[5]= 456;

یا از vector


#include <vector>
//...
int n = 100;
std::vector<int> arr;
arr.reserve(n)
arr.push_back(123);
arr.push_back(45);

mahdiasd
سه شنبه 25 آذر 1393, 21:47 عصر
سلام
شما می تونید از حافظه پویا استفاده کنید

int n = 100;
int *arr = new int[n];
arr[5]= 456;

یا از vector


#include <vector>
//...
int n = 100;
std::vector<int> arr;
arr.reserve(n)
arr.push_back(123);
arr.push_back(45);

سلام
من منظورم اینه که همین عدد 100 رو ما ندیم به برنامه
یعنی اینطوری بنویسیم

int N;
scanf("%d",N);
int p[N];
و .....

اینطوری برنامه از کاربر میخواد سایز ارایه رو مشخص کنه

rahnema1
چهارشنبه 26 آذر 1393, 07:03 صبح
فکر کنم یه کمی لازمه صبر کنید تا به مبحث اشاره گر برسید دو مثال زیر اولی به زبان c و دومی به زبان ++c

#include <stdio.h>
#include <stdlib.h>
int main()
{
int N;
scanf("%d", &N);
int* p = (int *) malloc(N * sizeof(int));
//....
free(p);
}

#include <iostream>
using namespace std;
int main()
{
int N;
cin >> N;
int *p = new int[N];
//....
delete [] p;
}

mahdiasd
چهارشنبه 26 آذر 1393, 11:00 صبح
اها یعنی پس باید صبر کنم تا به این مبحث برسم
اقا دمت گرم مرسی از جواب :قلب:

behnam404
چهارشنبه 26 آذر 1393, 15:55 عصر
کلا خاصیت آرایه اینه که سایز اون در ابتدا مشخص باشه . برای تغییر سایز آرایه در زمان اجرا باید از اشاره گر ها استفاده کنید.
resize array using pointers - C++ Forum (http://www.cplusplus.com/forum/beginner/141611/)