Բայց ո՞նց ա ստուգում j տողը, եթե այն թիվ չի, այլ տարրեր են, որոնք ունեն տարբեր արժեքներ![]()
Բայց ո՞նց ա ստուգում j տողը, եթե այն թիվ չի, այլ տարրեր են, որոնք ունեն տարբեր արժեքներ![]()
Շատ զգուշ ստուգում ա
Փորքի, մի փոքր կոդ գրի ու կհամոզվես:
Ըստ էության զանգվածի փոփոխականը ոչ այլ ինչ է, քան այդ զանգվաի էլեմենտների տեղակայման նշիչ (указатель): Երբ գործողություն ես կատարում հենց մենակ իր հետ, գործողութոյւն ես կատարում այդ նշիչի հետ: Օրինակ`
int a[10];
int b[10];
Եթե b զանգվածն ունեi ինչ-թր էլէմենտներ, ապա կարող ես միանգամից գրել a=b ու ա-ն նույնպես կստանա b-ի էլեմենտները:
Ես հիշում եմ, որ զանգվածների հետ աշխատելիս հայտարարում էինք int* x կամ int** x: Այս դեպքում արդեն պարտադիր չի նախապես հայտարարել զանգվածի չափերը ու եթե հայտարարելուց հետո գործուոյթուն կատարվի, ասենք x[1] = 0, ապա կհասկանա:
Անկեղծ ասած այս ամենի հիմունքները շատ աղոտ եմ հիշում![]()
Վերջին խմբագրող՝ Varzor: 24.02.2012, 19:51:
Լոխ մունք ենք, մնացածը` լոխ են...
36-39 տողերում գրել ես.
Կոդ:if(true==t) break; if(true==t) baz(a,b,s,n);
Այսինքն baz ֆունկցիան երբեք չի կանչվում, s-ն էլ, բնականաբար, չի փոխվում:
Լուծեցի
Բոլորիդ շատ շատ շնորհակալություն![]()
Ժողովուրդ մոտս մի խնդիր կա, կապված c++ 2010-ի հետ: Ուրեմն երբ 6.0-ով սարքում եմ MFC application ինձ տալիս ա մի "պանել", որի մեջ կան որոշակի ֆունկցիայով նշաններ (կոճակ, տեքստ գրելու տեղ և այլն), որոնք կարող եմ հանգիստ վերցնել ու դնել իմ պրոյեկտի մեջ: Իսկ 2010-ով դա չկա, չեմ կարծում, որ ընդհանրապես չկա, ուղղակի երևի լավ պախկվել ա
Պանելի անունը 6.0-ում Controls-ա:
Աթեիստ (04.03.2012)
Ու նորից ես
Էս անգամ էլ հարցս ֆայլերից ա (հլը որ էդքան լավ չգիտեմ, եթե հարցս շատ պրիմիտիվ ա, կխնդրեմ չքարկոծել)
Ուրեմն ունեմ ֆայլ, որի մեջ էս տեսքով int տիպի թվեր են գրված՝
a1 a2
a3 a4
a5 a6
........
(օրինակ)
2 8
7 9
54 21
6 0
Հիմա ուզում եմ մի ծրագիր գրեմ, որի միջոցով կկարողանամ էս ֆայլի մեջի թվերը գրել մատրիցի մեջ՝
a[1][1] a[1][2]
a[2][1] a[2][2]
a[3][1] a[3][2]
.............
հլը որ ինչ անում եմ չի ստացվում, կարդալու հետ խնդիրներ ա առաջանում (լրիվ ուրիշ բան ա հասկանում):
Բարև բոլորին.
հետաքրքիր խնդիր առաջարկեմ. c++ -ով գրեք կոդ a[i1], a[i2], a[i3] տեղափոխվի a[j1], a[j2], a[j3] ցիկլով for(int i = 0; i < 3; ++i) {...} և չօգտագործելով if(...), c ? a : b և switch(...) օպերատորները ցիկլի ներսում և օգտագործվի մեկ = օպերատոր, որտեղ i1, i2, i3, j1, j2, j3 const int են, a[] array:
soultaker (18.03.2012)
քանի որ չթողեց խմբագրեմ, ավելացնում եմ. նախորդ խնդրում չօգտագործել օժանդակ array-ներ և փոփոխականներ:
Եթե i1, i2, i3, j1, j2, j3 թվերը 1023-ից մեծ չեն, ապա`
for(int i = 0; i < 3; ++i)
{
a[((j1 + (j2 << 10) + (j3 << 20)) >> (i * 10)) & 1023] = a[((i1 + (i2 << 10) + (i3 << 20)) >> (i * 10)) & 1023];
}
իմ պայմաններին բավարարում է, ինձ պարզ է Ձեր մոտեցումը, բայց ինչպես Դուք նշեցիք, ունի սահմանափակում, իսկ ինչ կասեք ընդհանուր դեպքի համար, երբ i1, i2, i3, j1, j2, j3 լրիվ ամբողջ թվեր են որքան որ հնարավոր է c++-ում ամենամեծ int արժեքի համար, կամ որ եթե ունենք ոչ թէ 3-ի դեպքը , այլ 4 կամ 5, ինչպես օրինակ i1, i2, i3, i4, i5, j1, j2, j3, j4, j5 և for(int = 0; i < 5; ++i) {...}, այդ դեպքում սահմանափակումը էլ ավելի կսեխմվի: Կա լուծում առանց այդ սահմանափակման: Իսկ Դուք աշխատում եք c++-ով?: Ես կսպասեմ, որ մասնակցեն synopsis, cqg, և նմանատիպ ֆիրմաների c++ ծրագրավորողները, եթե իհարկե այնքան մեծամիտ չեն գտնվի առհամարեն ու կփորձեն լուծում գտնել: Իսկ ես 88 օր հետո իմ լուծումը կտեղադրեմ այստեղ:
Վերջին խմբագրող՝ Արտո8: 18.03.2012, 19:52:
Այս մեկն արդեն առանց սահմանափակումների`
for(int i = 0; i < 3; ++i)
{
a[j1 * (i == 0) + j2 * (i == 1) + j3 * (i == 2)] = a[i1 * (i == 0) + i2 * (i == 1) + i3 * (i == 2)];
}
Այս պահին թեմայում են 1 հոգի. (0 անդամ և 1 հյուր)
Էջանիշներ