نمایش نتایج 1 تا 12 از 12

نام تاپیک: مشکل در آرایه های دو بعدی

  1. #1

    مشکل در آرایه های دو بعدی

    دوستان گرامی سلام
    من یه برنامه با C++‎ نوشتم که توش از آرایه های دو بعدی استفاده شده. حالا نیازه که تعداد عناصر آرایه رو زیاد کنم، ولی متاسفانه به حد 1000000*10000 که میرسه، دیگه برنامه ام ران نمیشه.
    ولی من باید تعداد رو خیلی بیشتر از اینا هم کنم .
    چند تا روش مثل تعریف عناصر آرایه خارج از قسمت main()، یا استفاده از اشاره گرها رو امتحان کردم؛ اما در هر بار باز با ارور core dumped مواجه میشم.
    نمیدونم دیگه چیکار باید بکنم.
    ممنون میشم اگه کمکم کنید.
    اینم کدم هست:

    /* This programme calculates averages: <X>,<Y>,<X2>,<Y2> & MSD v.s t by "ensemble average" with MAX p=0-0.28*/




    #include <iostream>
    #include <stdlib.h>
    #include <cmath>
    #include <fstream>
    #include <time.h>
    #define step 1000000
    #define N 1000
    using namespace std;


    int main() {
    srand48(time(0));
    double x,y,X,Y,X2,Y2;
    double noise;
    ofstream out1("xydN.txt");
    ofstream NMSD("NMSD.txt");
    static double xns[N+1][step+1], yns[N+1][step+1], d[N+1][step+1];
    double XN[step], YN[step], X2N[step], Y2N[step], rN[step], r2N[step];
    xns[N+1][1]=1;
    yns[N+1][1]=2;
    d[N+1][0]=3;
    for (int j=1; j<=N; j++)
    {
    for (int i=1; i<=step; i++)
    {
    d[j][i]=2*xns[j][i]-3;
    out1 <<xns[j][i]<<"\t"<<yns[j][i]<<"\t"<<d[j][i]<<endl;
    if (d[j][i]-d[j][i-1]>0)
    {
    noise=drand48();
    if (noise>=0 && noise<0.28)
    {
    xns[j][i+1]=xns[j][i]+1;
    yns[j][i+1]=yns[j][i];
    }
    else if (noise>=0.28 && noise<0.52)
    {
    xns[j][i+1]=xns[j][i]-1;
    yns[j][i+1]=yns[j][i];
    }
    else if (noise>=0.52 && noise<0.76)
    {
    xns[j][i+1]=xns[j][i];
    yns[j][i+1]=yns[j][i]+1;
    }
    else
    {
    xns[j][i+1]=xns[j][i];
    yns[j][i+1]=yns[j][i]-1;
    }
    }
    if (d[j][i]-d[j][i-1]<0)
    {
    noise=drand48();
    if (noise>=0 && noise<0.28)
    {
    xns[j][i+1]=xns[j][i]-1;
    yns[j][i+1]=yns[j][i];
    }
    else if (noise>=0.28 && noise<0.52)
    {
    xns[j][i+1]=xns[j][i]+1;
    yns[j][i+1]=yns[j][i];
    }
    else if (noise>=0.52 && noise<0.76)
    {
    xns[j][i+1]=xns[j][i];
    yns[j][i+1]=yns[j][i]+1;
    }
    else
    {
    xns[j][i+1]=xns[j][i];
    yns[j][i+1]=yns[j][i]-1;
    }
    }
    else
    {
    noise=drand48();
    if (noise>=0 && noise<0.25)
    {
    xns[j][i+1]=xns[j][i]+1;
    yns[j][i+1]=yns[j][i];
    }
    else if (noise>=0.25 && noise<0.50)
    {
    xns[j][i+1]=xns[j][i]-1;
    yns[j][i+1]=yns[j][i];
    }
    else if (noise>=0.50 && noise<0.75)
    {
    xns[j][i+1]=xns[j][i];
    yns[j][i+1]=yns[j][i]+1;
    }
    else
    {
    xns[j][i+1]=xns[j][i];
    yns[j][i+1]=yns[j][i]-1;
    }
    }
    }
    }
    for (int l=1; l<=step; l+=5) // l=time interval
    {
    X=0;
    Y=0;
    X2=0;
    Y2=0;
    for (int d=1; d<=N; d++)
    {
    X+=xns[d][l];
    Y+=yns[d][l];
    X2+=pow((xns[d][l]),2);
    Y2+=pow((yns[d][l]),2);
    }
    XN[l]=X/N;
    YN[l]=Y/N;
    X2N[l]=X2/N;
    Y2N[l]=Y2/N;
    rN[l]=sqrt((XN[l]*XN[l])+(YN[l]*YN[l]));
    r2N[l]=(X2N[l]+Y2N[l]);


    double MSD=r2N[l]-pow(rN[l],2);
    NMSD<<l<<"\t"<<XN[l]<<"\t"<<YN[l]<<"\t"<<X2N[l]<<"\t"<<Y2N[l]<<"\t"<<MSD<<endl;
    }
    out1.close();
    NMSD.close();
    return 0; }

  2. #2

    نقل قول: مشکل در آرایه های دو بعدی

    سلام، می شه توضیح بدید دقیقا چیکار می خواهید بکنید چون شاید لازم باشه به جای آرایه دو بعدی از یک بعدی استفاده بشه یا مثلا از فایل خونده بشه یا ..

  3. #3

    نقل قول: مشکل در آرایه های دو بعدی

    نقل قول نوشته شده توسط rahnema1 مشاهده تاپیک
    سلام، می شه توضیح بدید دقیقا چیکار می خواهید بکنید چون شاید لازم باشه به جای آرایه دو بعدی از یک بعدی استفاده بشه یا مثلا از فایل خونده بشه یا ..
    دقیقا من میخوام برای N تا ذره در گامهای زمانی مختلف، مختصات x و y رو ذخیره بکنم. بعد، از اون x,y ها میانگین بگیرم.
    ریختن تو فایل هم ایده خوبیه، اما آخه هیچ راه دیگه ای جز استفاده از آرایه دو بعدی برای ذخیره مختصات N تا ذره در گامهای زمانی مختلف به نظرم نمیرسه

  4. #4

    نقل قول: مشکل در آرایه های دو بعدی

    چند جای برنامه خطا وجود داره مثلا

    xns[N+1][1]=1;
    yns[N+1][1]=2;
    d[N+1][0]=3;

    n+1 اندیس خارج از آرایه هست
    یا مثلا در if ها هم یک else کم بود و می شد ترکیب کرد
    ضمنا نیاز به آرایه دو بعدی هم نیست
    کد را به این شکل اصلاح کردم

    #include <iostream>
    #include <stdlib.h>
    #include <cmath>
    #include <fstream>
    #include <time.h>
    #define step 1000000
    #define N 1000
    using namespace std;


    int main()
    {
    srand48(time(0));
    //srand48(1000);
    double x,y;
    double noise;
    ofstream out1("xydN.txt");
    ofstream NMSD("NMSD.txt");
    static double xns[N+1], yns[N+1], d[N+1];
    double XN[step], YN[step], X2N[step], Y2N[step], rN[step], r2N[step];

    /*xns[N+1][1]=1;
    yns[N+1][1]=2;
    d[N+1][0]=3;*/
    int inc1 = 0;
    int inc2 = 0;

    double X[step]= {};
    double Y[step]= {};
    double X2[step]= {};
    double Y2[step]= {};
    for (int j=1; j<=N; j++)
    {
    for (int i=1; i<=step; i++)
    {
    d[i]=2*xns[i]-3;
    out1 <<xns[i]<<"\t"<<yns[i]<<"\t"<<d[i]<<endl;
    if (d[i]-d[i-1]>=0)
    {
    inc1 = 1;
    inc2 = -1;
    }
    else
    {
    inc1 = -1;
    inc2 = 1;
    }
    noise=drand48();
    if (noise>=0 && noise<0.28)
    {
    xns[i+1]=xns[i]+inc1;
    yns[i+1]=yns[i];
    }
    else if (noise>=0.28 && noise<0.52)
    {
    xns[i+1]=xns[i]+inc2;
    yns[i+1]=yns[i];
    }
    else if (noise>=0.52 && noise<0.76)
    {
    xns[i+1]=xns[i];
    yns[i+1]=yns[i]+1;
    }
    else
    {
    xns[i+1]=xns[i];
    yns[i+1]=yns[i]-1;
    }
    X[i]+=xns[i];
    Y[i]+=yns[i];
    X2[i]+=pow((xns[i]),2);
    Y2[i]+=pow((yns[i]),2);

    }
    }
    for (int i=1; i<=step; i+=5) // i=time interval
    {
    XN[i]=X[i]/N;
    YN[i]=Y[i]/N;
    X2N[i]=X2[i]/N;
    Y2N[i]=Y2[i]/N;
    rN[i]=sqrt((XN[i]*XN[i])+(YN[i]*YN[i]));
    r2N[i]=(X2N[i]+Y2N[i]);

    double MSD=r2N[i]-pow(rN[i],2);
    NMSD<<i<<"\t"<<XN[i]<<"\t"<<YN[i]<<"\t"<<X2N[i]<<"\t"<<Y2N[i]<<"\t"<<MSD<<endl;
    }

    out1.close();
    NMSD.close();
    return 0;
    }

  5. #5

    نقل قول: مشکل در آرایه های دو بعدی

    با سلام و تشکر فراوان
    منظورتون از "اندیس خارج از آرایه"، این هستش که این عضو در آرایه نیست؟ درسته؟ در واقع تو اون قسمت می خواستم بگم که برای همه Nها، اولین گام رو بذاره 1 (برای x) و همینطور برای y و d تا بتونم با رابطه d=2x-3 بقیه مختصه ها رو تعریف کنم؛ که اینجوری خرابکاری شد [تو این قسمت اگه بجای N+1، فقط N میذاشتم درست میشد؟]

    بابت کدتون واقعا ممنون. خیلی لطف کردید. متاسفانه همچنان ارور قبلیش برقراره! و در کمال تعجب حتی برای تعداد خیلی کم در حد N=50و step=10 هم ارور میده

  6. #6

    نقل قول: مشکل در آرایه های دو بعدی

    نقل قول نوشته شده توسط amidagha مشاهده تاپیک
    با سلام و تشکر فراوان
    منظورتون از "اندیس خارج از آرایه"، این هستش که این عضو در آرایه نیست؟ درسته؟ در واقع تو اون قسمت می خواستم بگم که برای همه Nها، اولین گام رو بذاره 1 (برای x) و همینطور برای y و d تا بتونم با رابطه d=2x-3 بقیه مختصه ها رو تعریف کنم؛ که اینجوری خرابکاری شد [تو این قسمت اگه بجای N+1، فقط N میذاشتم درست میشد؟]

    بابت کدتون واقعا ممنون. خیلی لطف کردید. متاسفانه همچنان ارور قبلیش برقراره! و در کمال تعجب حتی برای تعداد خیلی کم در حد N=50و step=10 هم ارور میده
    اگه بخواهید مثلا تمام عناصر ستون اول برابر یک باشند باید با حلقه اونها را برابر یک کنید
    لطفا برنامه را بدون خطا ( نسخه نهایی) بذارید تا بگیم چیکار کنید

  7. #7

    نقل قول: مشکل در آرایه های دو بعدی

    آهان، این رو نمیدونستم.
    برنامه بدون خطا همون کد بالاست وقتی که step=100000 و N=500 باشه. برای هر مقداری بیشتر از این تعداد خطا میده.

  8. #8

    نقل قول: مشکل در آرایه های دو بعدی

    فکر کنم اندازه آراه ها را اشتباه دادید

    XN[step + 1], YN[step + 1], X2N[step + 1], Y2N[step + 1], rN[step + 1], r2N[step + 1];
    double X[step + 1]= {};
    double Y[step + 1]= {};
    double X2[step + 1]= {};
    double Y2[step + 1]= {};

  9. #9

    نقل قول: مشکل در آرایه های دو بعدی

    با سلام مجدد

    من برنامه ای رو که قبلا گذاشته بودم به این شکل تغییرش دادم:
    /* This programme calculates averages: <X>,<Y>,<X2>,<Y2> & MSD v.s t by "ensemble average" with MAX p=0-0.28*/



    #include <iostream>
    #include <stdlib.h>
    #include <cmath>
    #include <fstream>
    #include <time.h>
    #define step 2000
    #define N 40
    #define E 0.28
    using namespace std;


    int main() {
    srand48(time(0));
    float x,y,X,Y,X2,Y2;
    float noise;
    ofstream out1("xydN.txt");
    ofstream NMSD("NMSD.txt");
    static float xns[N+1][step+1], yns[N+1][step+1], d[N+1][step+1];
    float XN[step], YN[step], X2N[step], Y2N[step], rN[step], r2N[step];
    for (int j=1; j<=N; j++)
    {
    xns[j][1]=1;
    yns[j][1]=2;
    d[j][0]=3;
    for (int i=1; i<=step; i++)
    {

    d[j][i]=-2*xns[j][i]-3;
    out1 <<xns[j][i]<<"\t"<<yns[j][i]<<"\t"<<d[j][i]<<endl;
    if (d[j][i]-d[j][i-1]>0)
    {
    if (xns[j][i]-xns[j][i-1]>0)
    {
    noise=drand48();
    if (noise>=0 && noise<E)
    {

    xns[j][i+1]=xns[j][i]+1;
    yns[j][i+1]=yns[j][i];
    }
    else if (noise>=E && noise<(2*E+1)/3)
    {
    xns[j][i+1]=xns[j][i]-1;
    yns[j][i+1]=yns[j][i];
    }
    else if (noise>=(2*E+1)/3 && noise<(E+2)/3)
    {
    xns[j][i+1]=xns[j][i];
    yns[j][i+1]=yns[j][i]+1;
    }
    else
    {
    xns[j][i+1]=xns[j][i];
    yns[j][i+1]=yns[j][i]-1;
    }
    }
    else
    {
    noise=drand48();
    if (noise>=0 && noise<E)
    {
    xns[j][i+1]=xns[j][i]-1;
    yns[j][i+1]=yns[j][i];
    }
    else if (noise>=E && noise<(2*E+1)/3)
    {
    xns[j][i+1]=xns[j][i]+1;
    yns[j][i+1]=yns[j][i];
    }
    else if (noise>=(2*E+1)/3 && noise<(E+2)/3)
    {
    xns[j][i+1]=xns[j][i];
    yns[j][i+1]=yns[j][i]+1;
    }
    else
    {
    xns[j][i+1]=xns[j][i];
    yns[j][i+1]=yns[j][i]-1;
    }
    }
    }
    if (d[j][i]-d[j][i-1]<0)
    {
    if (xns[j][i]-xns[j][i-1]>0)
    {
    noise=drand48();
    if (noise>=0 && noise<E)
    {
    xns[j][i+1]=xns[j][i]-1;
    yns[j][i+1]=yns[j][i];
    }
    else if (noise>=E && noise<(2*E+1)/3)
    {
    xns[j][i+1]=xns[j][i]+1;
    yns[j][i+1]=yns[j][i];
    }
    else if (noise>=(2*E+1)/3 && noise<(E+2)/3)
    {
    xns[j][i+1]=xns[j][i];
    yns[j][i+1]=yns[j][i]+1;
    }
    else
    {
    xns[j][i+1]=xns[j][i];
    yns[j][i+1]=yns[j][i]-1;
    }
    }
    else
    {
    noise=drand48();
    if (noise>=0 && noise<E)
    {
    xns[j][i+1]=xns[j][i]+1;
    yns[j][i+1]=yns[j][i];
    }
    else if (noise>=E && noise<(2*E+1)/3)
    {
    xns[j][i+1]=xns[j][i]-1;
    yns[j][i+1]=yns[j][i];
    }
    else if (noise>=(2*E+1)/3 && noise<(E+2)/3)
    {
    xns[j][i+1]=xns[j][i];
    yns[j][i+1]=yns[j][i]+1;
    }
    else
    {
    xns[j][i+1]=xns[j][i];
    yns[j][i+1]=yns[j][i]-1;
    }
    }
    }
    else
    {
    noise=drand48();
    if (noise>=0 && noise<0.25)
    {
    xns[j][i+1]=xns[j][i]+1;
    yns[j][i+1]=yns[j][i];
    }
    else if (noise>=0.25 && noise<0.50)
    {
    xns[j][i+1]=xns[j][i]-1;
    yns[j][i+1]=yns[j][i];
    }
    else if (noise>=0.50 && noise<0.75)
    {
    xns[j][i+1]=xns[j][i];
    yns[j][i+1]=yns[j][i]+1;
    }
    else
    {
    xns[j][i+1]=xns[j][i];
    yns[j][i+1]=yns[j][i]-1;
    }
    }
    }
    }
    for (int l=1; l<=step; l+=5) // l=time interval
    {
    X=0;
    Y=0;
    X2=0;
    Y2=0;
    for (int d=1; d<=N; d++)
    {
    X+=xns[d][l];
    Y+=yns[d][l];
    X2+=pow((xns[d][l]),2);
    Y2+=pow((yns[d][l]),2);
    }
    XN[l]=X/N;
    YN[l]=Y/N;
    X2N[l]=X2/N;
    Y2N[l]=Y2/N;
    rN[l]=sqrt((XN[l]*XN[l])+(YN[l]*YN[l]));
    r2N[l]=(X2N[l]+Y2N[l]);


    float MSD=r2N[l]-pow(rN[l],2);
    NMSD<<l<<"\t"<<XN[l]<<"\t"<<YN[l]<<"\t"<<X2N[l]<<"\t"<<Y2N[l]<<"\t"<<MSD<<endl;
    }
    out1.close();
    NMSD.close();
    return 0;
    }


    و مشکل ران نشدنش بخاطر تعداد زیاد اعضای آرایه حل شد. اما با دو مشکل دیگه روبرو شدم:
    1. وقتی E رو در بالا تعریف نمی کنم و اول ران از کاربر میخوام که مقدارشو بده، به نتیجه دور از انتظار میرسم و داده هایی که بدست میارم کلا اشتباه هست. اما وقتی خودم تعریفش می کنم داخل برنامه نتیجه همون چیزیه که انتظار داشتم و دلیلش رو نمیدونم که چرا این اتفاق می افته!!

    2. وقتی برنامه اجرا میشه، بیشتر داده ها مربوط به قسمتی هست که تغییرات d مثبت و تغییرات x منفی بوده (یعنی Δd>0 ,Δx<0) یا وقتی که تغییرات d منفی و تغییرات x مثبت بوده (یعنی Δd<0, Δx>0) و بسیار کم پیش اومده که برای Δd>0، Δx>0 بشه و یا برای Δd<0، Δx<0 بشه!!
    حالا سوال من اینه که اشکال من کجای این برنامه است که همچین اتفاقی رخ میده، آیا در مقدار دهی اولیه به x و y هست؟ آیا در رابطه ای هست که برای d تعریف می کنم؟ یا چیز دیگه ؟
    آخرین ویرایش به وسیله amidagha : یک شنبه 20 اردیبهشت 1394 در 11:16 صبح دلیل: بهم ریختن کد

  10. #10

    نقل قول: مشکل در آرایه های دو بعدی

    سلام
    لازم به آرایه دو بعدی نیست. براساس کد شما اینجور اصلاح کردم اگه تغییر دیگه ای نباشه

    #include <iostream>
    #include <stdlib.h>
    #include <cmath>
    #include <fstream>
    #include <time.h>
    #define step 2000
    #define N 40
    #define E 0.28
    using namespace std;


    int main()
    {
    srand48(time(0));
    double x,y;
    double noise;
    ofstream out1("xydN.txt");
    ofstream NMSD("NMSD.txt");
    static double xns[step + 1], yns[step + 1], d[step + 1];
    double XN[step + 1], YN[step + 1], X2N[step + 1], Y2N[step + 1], rN[step + 1], r2N[step + 1];

    xns[1]=1;
    yns[1]=2;
    d[0]=3;

    double X[step + 1]= {};
    double Y[step + 1]= {};
    double X2[step + 1]= {};
    double Y2[step + 1]= {};
    for (int j=1; j<=N; j++)
    {
    for (int i=1; i<step; i++)
    {
    d[i]=-2*xns[i]-3;
    out1 <<xns[i]<<"\t"<<yns[i]<<"\t"<<d[i]<<endl;
    if (d[i]-d[i-1]>0)
    {
    if (xns[i]-xns[i-1]>0)
    {
    noise=drand48();
    if (noise>=0 && noise<E)
    {
    xns[i+1]=xns[i]+1;
    yns[i+1]=yns[i];
    }
    else if (noise>=E && noise<(2*E+1)/3)
    {
    xns[i+1]=xns[i]-1;
    yns[i+1]=yns[i];
    }
    else if (noise>=(2*E+1)/3 && noise<(E+2)/3)
    {
    xns[i+1]=xns[i];
    yns[i+1]=yns[i]+1;
    }
    else
    {
    xns[i+1]=xns[i];
    yns[i+1]=yns[i]-1;
    }
    }
    else
    {
    noise=drand48();
    if (noise>=0 && noise<E)
    {
    xns[i+1]=xns[i]-1;
    yns[i+1]=yns[i];
    }
    else if (noise>=E && noise<(2*E+1)/3)
    {
    xns[i+1]=xns[i]+1;
    yns[i+1]=yns[i];
    }
    else if (noise>=(2*E+1)/3 && noise<(E+2)/3)
    {
    xns[i+1]=xns[i];
    yns[i+1]=yns[i]+1;
    }
    else
    {
    xns[i+1]=xns[i];
    yns[i+1]=yns[i]-1;
    }
    }
    }
    if (d[i]-d[i-1]<0)
    {
    if (xns[i]-xns[i-1]>0)
    {
    noise=drand48();
    if (noise>=0 && noise<E)
    {
    xns[i+1]=xns[i]-1;
    yns[i+1]=yns[i];
    }
    else if (noise>=E && noise<(2*E+1)/3)
    {
    xns[i+1]=xns[i]+1;
    yns[i+1]=yns[i];
    }
    else if (noise>=(2*E+1)/3 && noise<(E+2)/3)
    {
    xns[i+1]=xns[i];
    yns[i+1]=yns[i]+1;
    }
    else
    {
    xns[i+1]=xns[i];
    yns[i+1]=yns[i]-1;
    }
    }
    else
    {
    noise=drand48();
    if (noise>=0 && noise<E)
    {
    xns[i+1]=xns[i]+1;
    yns[i+1]=yns[i];
    }
    else if (noise>=E && noise<(2*E+1)/3)
    {
    xns[i+1]=xns[i]-1;
    yns[i+1]=yns[i];
    }
    else if (noise>=(2*E+1)/3 && noise<(E+2)/3)
    {
    xns[i+1]=xns[i];
    yns[i+1]=yns[i]+1;
    }
    else
    {
    xns[i+1]=xns[i];
    yns[i+1]=yns[i]-1;
    }
    }
    }
    else
    {
    noise=drand48();
    if (noise>=0 && noise<0.25)
    {
    xns[i+1]=xns[i]+1;
    yns[i+1]=yns[i];
    }
    else if (noise>=0.25 && noise<0.50)
    {
    xns[i+1]=xns[i]-1;
    yns[i+1]=yns[i];
    }
    else if (noise>=0.50 && noise<0.75)
    {
    xns[i+1]=xns[i];
    yns[i+1]=yns[i]+1;
    }
    else
    {
    xns[i+1]=xns[i];
    yns[i+1]=yns[i]-1;
    }
    }
    X[i]+=xns[i];
    Y[i]+=yns[i];
    X2[i]+=pow((xns[i]),2);
    Y2[i]+=pow((yns[i]),2);
    }
    }
    for (int i=1; i<=step; i+=5) // i=time interval
    {
    XN[i]=X[i]/N;
    YN[i]=Y[i]/N;
    X2N[i]=X2[i]/N;
    Y2N[i]=Y2[i]/N;
    rN[i]=sqrt((XN[i]*XN[i])+(YN[i]*YN[i]));
    r2N[i]=(X2N[i]+Y2N[i]);

    double MSD=r2N[i]-pow(rN[i],2);
    NMSD<<i<<"\t"<<XN[i]<<"\t"<<YN[i]<<"\t"<<X2N[i]<<"\t"<<Y2N[i]<<"\t"<<MSD<<endl;
    }

    out1.close();
    NMSD.close();
    return 0;
    }
    آخرین ویرایش به وسیله rahnema1 : دوشنبه 21 اردیبهشت 1394 در 18:58 عصر

  11. #11

    نقل قول: مشکل در آرایه های دو بعدی

    چقدر جالب نتایج هیچ فرقی نمی کنند با قبل. خیلی عااالیه. ممنونم. واقعا ممنون.

    ببخشید دو تا سوالی که زیر کد نوشته بودم رو هم میشه لطف کنید جواب بدید. اینکه از کاربر مقداری رو بگیریم یا خودمون داخل برنامه اون مقدارو تعریف کنیم چرا باید نتایج متفاوتی بده؟

  12. #12

    نقل قول: مشکل در آرایه های دو بعدی

    اولا یک اصلاح در پست قبل انجام دادم البته بر اساس کد شما نوشته بودم که اشتباهه
    قسمت

    for (int i=1; i<=step; i++)

    باید به

    for (int i=1; i<step; i++)

    تغییر پیدا کنه چون در [xns[i+1 از آرایه بیرون می زنه
    جواب سوال اول تا کد شما را نبینم نمیتونم نظر بدم اشکال کجا بوده
    سوال دوم هم باز نمیتونم بگم چون دقیقا نمیدونم شما چیکار می خواهید بکنید
    حداقل اگه شبه کد یا الگوریتم مورد نظر را اینجا میذاشتید تا بر اساس اون روی کد شما قضاوت کنیم. الان شما هر کدی که اینجا بذارید ممکنه ما اصلاح کنیم و بدون خطا یه جوابی هم بده ، ولی معلوم نیست جواب صحیح باشه!

تاپیک های مشابه

  1. مبتدی: مشکل در آرایه های 2 بعدی
    نوشته شده توسط BestDay در بخش برنامه نویسی با زبان C و ++C
    پاسخ: 9
    آخرین پست: سه شنبه 29 مرداد 1392, 03:05 صبح
  2. گفتگو: مزیت آرایه های سه بعدی و چهار بعدی
    نوشته شده توسط TAHA-Programer در بخش VB.NET
    پاسخ: 2
    آخرین پست: شنبه 21 اردیبهشت 1392, 14:25 عصر
  3. سوال: مشکل در برگشت دادن آرایه های دو بعدی Dynamic از نوع String
    نوشته شده توسط gilsoft در بخش VB.NET
    پاسخ: 1
    آخرین پست: سه شنبه 07 آذر 1391, 14:49 عصر
  4. آرایه های دو بعدی پویا
    نوشته شده توسط moh.mon در بخش برنامه نویسی با زبان C و ++C
    پاسخ: 2
    آخرین پست: دوشنبه 10 فروردین 1388, 02:07 صبح
  5. آرایه های 2 بعدی !
    نوشته شده توسط cactuskhan در بخش C#‎‎
    پاسخ: 1
    آخرین پست: سه شنبه 08 آبان 1386, 19:45 عصر

برچسب های این تاپیک

قوانین ایجاد تاپیک در تالار

  • شما نمی توانید تاپیک جدید ایجاد کنید
  • شما نمی توانید به تاپیک ها پاسخ دهید
  • شما نمی توانید ضمیمه ارسال کنید
  • شما نمی توانید پاسخ هایتان را ویرایش کنید
  •