User Tag List

Էջ 26 36-ից ԱռաջինԱռաջին ... 16222324252627282930 ... ՎերջինըՎերջինը
Ցույց են տրվում 376 համարից մինչև 390 համարի արդյունքները՝ ընդհանուր 536 հատից

Թեմա: C++

  1. #376
    Պատվավոր անդամ armen9494-ի ավատար
    Գրանցման ամսաթիվ
    01.03.2010
    Տարիք
    30
    Գրառումներ
    1,242
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)
    Մեջբերում Varzor-ի խոսքերից Նայել գրառումը
    Որ կոմպիլյատորով ես աշխատում?
    Փորձել ես առանձին-առանձին նկարագրել?` double y[100][1000]; double b[100][500];
    Բայց պիտի աշխատի` տենց սահմանափակում չկա: Մտածում ես հայտարարածդ փոփոխականի զբաղեցրած հիշողության չափերը գերազանցում են ծրագրի ստեկը?
    կարող ես հաշվել` 150.000 հատ double տիպի արժեքների պահպանման համար անհրաժեշտ հիշողության ծավալը: Այն չի գերազանցում 1ՄԲ-ն: Ուստի հիշողության ծավալի խնդիր չի:
    Ի դեպ, նույն քո կոդը գրում եմ MSGM-ի տված հղումով` նորմալ կատարվում է:
    http://codepad.org/7qUslqjo
    Microsoft Visual C++ 6.0
    Փորձել եմ, նույնիսկ սենց եմ փորձել՝ double y[100][1000]; long float b[100][500];
    Ծրագրի ստեկը մոտավորապես գիտեմ թե ինչ ա: Դե առաջին բանը որ մտքիս եկավ էն ա, որ C++-ը համակարգչիս մեջ չի կարողանում էդքան մեծ ծավալով տեղ վերցնի, բայց իրականում համակարգչիս մեջ էդ տեղը պիտի որ լինի, որովհետև էն լուրջ ծրագրերի համեմատ էս իմ գրածը ի՞նչ ա որ
    Վայ, էս ինչ նորություն ա, հեսա տեսնեմ էս ո՞նց են ուտում

  2. #377
    Պատվավոր անդամ armen9494-ի ավատար
    Գրանցման ամսաթիվ
    01.03.2010
    Տարիք
    30
    Գրառումներ
    1,242
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)
    Մեջբերում Varzor-ի խոսքերից Նայել գրառումը
    Ի դեպ, նույն քո կոդը գրում եմ MSGM-ի տված հղումով` նորմալ կատարվում է:
    http://codepad.org/7qUslqjo
    Բայց մի տեսակ տարօրինակ չի երևու՞մ աչքիդ էդ սարքած սայթը
    Իսկ ես մտածում եմ, որ էս ծրագիրը էնքան որ ձև ա բռնում, որ մթոմ թե սարքել ա:
    Ահա և ապացույցները, եթե իհարկե մի բան սխալ չեմ արել:
    Հիմա նայի, ենթադրում եմ որ ինքը լավ ծրագիր ա ու արեց իմ ասածը՝ այսինքն վերցրեց տեղ էդ երկու երկչափ զանգվածների համար: Հետևաբար ես կարամ իրանց հետ գործ անեմ, այնպես չէ՞:
    Դե հիմա նայի, ես գրում եմ ծրագիր, որը էն երկրորդ զանգվածի 100 հատ տարրի հետ "կզբաղվի" (դրանց արժեքներ կտա):
    "Միջակայքը" գրում եմ 400,410
    որից հետո տալիս եմ արտածի էդ միջակայքում գտնվող տարրերից ընդամենը մեկի արժեքը:
    #include <iostream.h>

    int main()
    {
    double y[100][1000], b[100][500];
    int i,j;

    for( i=400; i<410; i++)
    for( j=400; j<410; j++)
    b[i][j]=5*20;

    cout<<b[405][405];


    return 0;
    }
    Արդյունքում ծրագիրը լացում ա Segmentation fault

    Հիմա էդ նույն բանը անում եմ 0,10 միջակայքում:
    #include <iostream.h>

    int main()
    {
    double y[10][10], b[10][50];
    int i,j;

    for( i=0; i<10; i++)
    for( j=0; j<10; j++)
    b[i][j]=5*j;

    cout<<b[5][5];


    return 0;
    }
    Արդյունքում ուրախ ուրախ թռվռալով երգում ա 25

    Տուտ չտո-տո նե տո...
    Վերջին խմբագրող՝ armen9494: 20.04.2012, 19:59:

  3. #378
    Լիարժեք անդամ Ruzanna Stepanyan-ի ավատար
    Գրանցման ամսաթիվ
    11.02.2012
    Գրառումներ
    81
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)
    Կօգնեք ? տեսնեմ, ինչն եմ սխալ անում, որ չի ստացվում

    Տրված n տարր պարունակող միաչափ զանգվածի դրական տարրերից նոր միաչափ զանգված ստանալ

    #include <iostream>
    using namespace std;
    void main()
    {
    int x[10], i,n, y, k;
    do
    {
    cout<<"mutqagreq zangavtsi chapy"<<endl;
    cin>>n;
    }
    while(1>n||n>10);
    for(i=0; i<n; i++)
    {
    cout<<"x["<<i<<"]=";
    cin>>x[i];
    }
    k=0;
    for(i=1; i<n; i++)
    {
    if(x[i]>0)
    {
    y[k]=x[i];
    k++;
    }
    cout<<"nor zangvacy klini y[k]="<<y[k]<<endl;
    }
    }

  4. #379
    Պատվավոր անդամ armen9494-ի ավատար
    Գրանցման ամսաթիվ
    01.03.2010
    Տարիք
    30
    Գրառումներ
    1,242
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)
    Մեջբերում Ruzanna Stepanyan-ի խոսքերից Նայել գրառումը
    Կօգնեք ? տեսնեմ, ինչն եմ սխալ անում, որ չի ստացվում

    Տրված n տարր պարունակող միաչափ զանգվածի դրական տարրերից նոր միաչափ զանգված ստանալ

    1. #include <iostream>
    2. using namespace std;
    3. void main()
    4. {
    5. int x[10], i,n, y, k;
    6. do
    7. {
    8. cout<<"mutqagreq zangavtsi chapy"<<endl;
    9. cin>>n;
    10. }
    11. while(1>n||n>10);
    12. for(i=0; i<n; i++)
    13. {
    14. cout<<"x["<<i<<"]=";
    15. cin>>x[i];
    16. }
    17. k=0;
    18. for(i=1; i<n; i++)
    19. {
    20. if(x[i]>0)
    21. {
    22. y[k]=x[i];
    23. k++;
    24. }
    25. cout<<"nor zangvacy klini y[k]="<<y[k]<<endl;
    26. }
    27. }
    Մոտավորապես ճիշտ ես արել, մի քանի թերություններով:
    Առաջինը տող 5-ում ա: Դու ուզում ես նոր զանգվածը y-ի մեջ ստանաս, այնպես չէ՞: Բա ինչի՞ y-ը զանգված չի
    պիտի գրեիր սենց՝ y[10]
    Կարծում եմ էս ուղղակի չես նկատել:
    Էն տող 18-ի ցիկլում ինչի՞ ես i=1-ից սկսել, այլ ոչ թե i=0
    Բայց էսքանով չի ավարտվում: Ամենալուրջ սխալը վերջում ա: Տող 25-ում ուզումա արտածվի y զանգվածի տարրերը, դու խառնել ես ու նույն ցիկլի մեջ ես իրան գրել, ինչում որ հաշվում էիր: Արտածելու համար մի նոր ցիկլ արա՝
    for(i=0; i<k; i++)
    cout<<y[i]<<endl;

    Կարաս և առանց նոր ցիկլի անես, բայց ընդունված բան ա, որ էս տիպի խնդիրներում պարզ հստակ երևա՝
    ներմուծում
    լուծում
    արտածում

    Թե չէ որ ճիշտը խոսանք, մի ցիկլով կլուծես էս խնդիրը, եթե հավես ունես մտածի, չստավելու դեպքում կօգնեմ

    Հա, էս էլ վերջնական լուծումը

    #include <iostream>
    using namespace std;
    void main()
    {
    int x[10], i,n, y[10], k;
    do
    {
    cout<<"mutqagreq zangavtsi chapy"<<endl;
    cin>>n;
    }
    while(1>n||n>10);
    for(i=0; i<n; i++)
    {
    cout<<"x["<<i<<"]=";
    cin>>x[i];
    }
    k=0;
    for(i=0; i<n; i++)
    if(x[i]>0)
    {
    y[k]=x[i];
    k++;
    }

    cout<<"nor zangvacy klini "<<endl;
    for(i=0; i<k; i++)
    cout<<y[i]<<endl;

    }
    ____

  5. Գրառմանը 1 հոգի շնորհակալություն է հայտնել.

    Ruzanna Stepanyan (20.04.2012)

  6. #380
    Լիարժեք անդամ Ruzanna Stepanyan-ի ավատար
    Գրանցման ամսաթիվ
    11.02.2012
    Գրառումներ
    81
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)
    շնորհակալ եմ շատ մանրամասն բացատրության համար

  7. Գրառմանը 1 հոգի շնորհակալություն է հայտնել.

    armen9494 (20.04.2012)

  8. #381
    Լիարժեք անդամ Ruzanna Stepanyan-ի ավատար
    Գրանցման ամսաթիվ
    11.02.2012
    Գրառումներ
    81
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)
    Բայց ոնց որ թե մի բան անհասկանալի մնաց
    նոր զանգվածը y[k]-ն էր, ինչի ենք գրում cout<<y[i]<<endl;

  9. #382
    Պատվավոր անդամ armen9494-ի ավատար
    Գրանցման ամսաթիվ
    01.03.2010
    Տարիք
    30
    Գրառումներ
    1,242
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)
    Մեջբերում Ruzanna Stepanyan-ի խոսքերից Նայել գրառումը
    Բայց ոնց որ թե մի բան անհասկանալի մնաց
    նոր զանգվածը y[k]-ն էր, ինչի ենք գրում cout<<y[i]<<endl;
    օօօ, էս ամենալուրջ սխալն ա:
    Էս պահը ոնց որ թե մի փոքր սխալ եք հասկացել:
    Բերեք էս մի հատը սենց սովորական, "գեղավարի" բառերով ասեմ
    Ուրեմն զանգվածը դա y-ն ա:
    Զանգվածի որևէ տարր ունենալու համար գրում ենք y[] ու էդ քառակուսի փակագծերի մեջ թիվ գրում:
    Դե մեզ էս դեպքում պետք ա, որ y զանգվածի 0-ից մինչև k տարրերը տպվեն:
    Հիշու՞մ եք, մենք որ ուզում ենք x զանգվածի դեպքում 0-ից մինչև n տարրերը ներմուծել, գրում ենք
    for(i=0; i<n; i++)
    cin>>x[i]

    Դե հիմա նույն ձևով n-ը փոխարինում ենք k-ով (տարրերի քանակը): x-ը փոխարինում ենք y-ով (զանգվածը): cin-ը փոխարինում ենք cout-ով (արտածել):


    Իսկ գիտական ձևով էսպես կլինի, չնայած չեմ կարծում, որ էս մի բացատրությունը ձեզ հետաքրքրի:
    y-ը իրականում ցուցիչ է, այսինքն ցույց է տալիս հասցե (ցույց է տալիս մեր զանգվածի առաջին (0 ինդեքսով) տարրի հասցեն): Գրելով y[i] մենք ասում ենք գնա y+[i] հասցեի վրա: Էս գումարումը ուղիղ սովորական գումարում չի, i-ն գումարվում ա նախապես բազմապատկվելով հայտարարված զանգվածի տիպի զբաղեցրած ծավալի հետ:

  10. Գրառմանը 1 հոգի շնորհակալություն է հայտնել.

    Ruzanna Stepanyan (20.04.2012)

  11. #383
    Լիարժեք անդամ Ruzanna Stepanyan-ի ավատար
    Գրանցման ամսաթիվ
    11.02.2012
    Գրառումներ
    81
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)
    Մեջբերում armen9494-ի խոսքերից Նայել գրառումը
    օօօ, էս ամենալուրջ սխալն ա:
    Էս պահը ոնց որ թե մի փոքր սխալ եք հասկացել:
    Բերեք էս մի հատը սենց սովորական, "գեղավարի" բառերով ասեմ
    Ուրեմն զանգվածը դա y-ն ա:
    Զանգվածի որևէ տարր ունենալու համար գրում ենք y[] ու էդ քառակուսի փակագծերի մեջ թիվ գրում:
    Դե մեզ էս դեպքում պետք ա, որ y զանգվածի 0-ից մինչև k տարրերը տպվեն:
    Հիշու՞մ եք, մենք որ ուզում ենք x զանգվածի դեպքում 0-ից մինչև n տարրերը ներմուծել, գրում ենք
    for(i=0; i<n; i++)
    cin>>x[i]

    Դե հիմա նույն ձևով n-ը փոխարինում ենք k-ով (տարրերի քանակը): x-ը փոխարինում ենք y-ով (զանգվածը): cin-ը փոխարինում ենք cout-ով (արտածել):


    Իսկ գիտական ձևով էսպես կլինի, չնայած չեմ կարծում, որ էս մի բացատրությունը ձեզ հետաքրքրի:
    y-ը իրականում ցուցիչ է, այսինքն ցույց է տալիս հասցե (ցույց է տալիս մեր զանգվածի առաջին (0 ինդեքսով) տարրի հասցեն): Գրելով y[i] մենք ասում ենք գնա y+[i] հասցեի վրա: Էս գումարումը ուղիղ սովորական գումարում չի, i-ն գումարվում ա նախապես բազմապատկվելով հայտարարված զանգվածի տիպի զբաղեցրած ծավալի հետ:
    ախր y[k]-ի փոխարեն գրել ենք y[i]: էդ պահը չեմ հասկանում

  12. #384
    Պատվավոր անդամ armen9494-ի ավատար
    Գրանցման ամսաթիվ
    01.03.2010
    Տարիք
    30
    Գրառումներ
    1,242
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)
    Մեջբերում Ruzanna Stepanyan-ի խոսքերից Նայել գրառումը
    ախր y[k]-ի փոխարեն գրել ենք y[i]: էդ պահը չեմ հասկանում
    Մի վայրկյան մի բան հարցնեմ: Որ գրում ենք x[i] հասկանու՞մ եք: Բա ընդեղ ինչի՞ չենք գրում x[n] :

  13. Գրառմանը 1 հոգի շնորհակալություն է հայտնել.

    Ruzanna Stepanyan (20.04.2012)

  14. #385
    Լիարժեք անդամ Ruzanna Stepanyan-ի ավատար
    Գրանցման ամսաթիվ
    11.02.2012
    Գրառումներ
    81
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)
    Մեջբերում armen9494-ի խոսքերից Նայել գրառումը
    Մի վայրկյան մի բան հարցնեմ: Որ գրում ենք x[i] հասկանու՞մ եք: Բա ընդեղ ինչի՞ չենք գրում x[n] :
    լավ, մի քիչ ուշ, բայց գլխի ընկա

  15. #386
    Պատվավոր անդամ armen9494-ի ավատար
    Գրանցման ամսաթիվ
    01.03.2010
    Տարիք
    30
    Գրառումներ
    1,242
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)
    Մեջբերում Ruzanna Stepanyan-ի խոսքերից Նայել գրառումը
    լավ, մի քիչ ուշ, բայց գլխի ընկա
    Դե լավ
    Իսկ հիմա կարող եք փորձել հասկանալ էն ավելի "գիտական" լեզվով գրածը, հետագայում պետք կգա:

  16. Գրառմանը 1 հոգի շնորհակալություն է հայտնել.

    Ruzanna Stepanyan (20.04.2012)

  17. #387
    Լիարժեք անդամ MSGM-ի ավատար
    Գրանցման ամսաթիվ
    02.09.2008
    Գրառումներ
    131
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)
    Մեջբերում armen9494-ի խոսքերից Նայել գրառումը
    Բայց մի տեսակ տարօրինակ չի երևու՞մ աչքիդ էդ սարքած սայթը
    Իսկ ես մտածում եմ, որ էս ծրագիրը էնքան որ ձև ա բռնում, որ մթոմ թե սարքել ա:
    Ահա և ապացույցները, եթե իհարկե մի բան սխալ չեմ արել:
    Հիմա նայի, ենթադրում եմ որ ինքը լավ ծրագիր ա ու արեց իմ ասածը՝ այսինքն վերցրեց տեղ էդ երկու երկչափ զանգվածների համար: Հետևաբար ես կարամ իրանց հետ գործ անեմ, այնպես չէ՞:
    Դե հիմա նայի, ես գրում եմ ծրագիր, որը էն երկրորդ զանգվածի 100 հատ տարրի հետ "կզբաղվի" (դրանց արժեքներ կտա):
    "Միջակայքը" գրում եմ 400,410
    որից հետո տալիս եմ արտածի էդ միջակայքում գտնվող տարրերից ընդամենը մեկի արժեքը:

    Արդյունքում ծրագիրը լացում ա Segmentation fault

    Հիմա էդ նույն բանը անում եմ 0,10 միջակայքում:

    Արդյունքում ուրախ ուրախ թռվռալով երգում ա 25

    Տուտ չտո-տո նե տո...
    Էտ որ գրում ես
    Կոդ:
    b[100][500];
    հետո էլ
    Կոդ:
    for( i=400; i<410; i++)
    for( j=400; j<410; j++)
    b[i][j]=5*20;
    դիմում ես քո ծրագրին չհատկացված հիշողությանը, որը (արդեն հազար անգամ ասել եմ ) segmentation fault ա տալիս:

  18. Գրառմանը 1 հոգի շնորհակալություն է հայտնել.

    armen9494 (24.04.2012)

  19. #388
    Պատվավոր անդամ armen9494-ի ավատար
    Գրանցման ամսաթիվ
    01.03.2010
    Տարիք
    30
    Գրառումներ
    1,242
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)
    Մեջբերում MSGM-ի խոսքերից Նայել գրառումը
    Էտ որ գրում ես
    Կոդ:
    b[100][500];
    հետո էլ
    Կոդ:
    for( i=400; i<410; i++)
    for( j=400; j<410; j++)
    b[i][j]=5*20;
    դիմում ես քո ծրագրին չհատկացված հիշողությանը, որը (արդեն հազար անգամ ասել եմ ) segmentation fault ա տալիս:
    վայ

  20. #389
    Սկսնակ անդամ
    Գրանցման ամսաթիվ
    19.10.2010
    Գրառումներ
    28
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)

    <a target="_blank" href="http://smayliki.ru/smilie-921247335.html"><img src="http://s16.rimg.info/71c043d2fe5114510c43423a91c69072.gif" ></a>

  21. #390
    Պատվավոր անդամ armen9494-ի ավատար
    Գրանցման ամսաթիվ
    01.03.2010
    Տարիք
    30
    Գրառումներ
    1,242
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)
    Ժողովուրդ ջան ինձ մի սայթ ա պետք, որի մեջ տրված լինեն c++-ի խնդիրներ (սկսած ամենապարզից, վերջացրած ամենաբարդ պռոեկտներով), լուծես խնդիրը ու գրես էդտեղ, ինքը ստուգի ու ասի՝ ճիշտ ա, թե չէ: Լավ կլինի, որ ֆոռումի նման լինի, որպեսզի ուրիշների հետ քննարկես, խորհուրդ հարցնես:
    Շատ հաճելի կլինի, որ ամենապարզից լինի, որպեսզի հեշտ սկսեմ, թեկուզև գիտեմ: Ավելի լավ կլինի, որ ինչ-որ ռեյտինգային միավորներ հավաքեմ լուծելու ընթացքում:
    Եվ մի բան էլ, հաճելի կլինի, եթե ռուսերեն լինի (դե հայերենից վաբշե հույսս կտրել եմ):
    Նախապես շատ շատ շնորհակալություն:

Էջ 26 36-ից ԱռաջինԱռաջին ... 16222324252627282930 ... ՎերջինըՎերջինը

Թեմայի մասին

Այս թեման նայող անդամներ

Այս պահին թեմայում են 1 հոգի. (0 անդամ և 1 հյուր)

Էջանիշներ

Էջանիշներ

Ձեր իրավունքները բաժնում

  • Դուք չեք կարող նոր թեմաներ ստեղծել
  • Դուք չեք կարող պատասխանել
  • Դուք չեք կարող կցորդներ տեղադրել
  • Դուք չեք կարող խմբագրել ձեր գրառումները
  •