Results 1 to 8 of 8
Thread: Åäíî äîìàøíî
Hybrid View
-
16th January 2011 14:10 #1Registered User
Join Date: Jan:2011
Location: bg
Posts: 4
Åäíî äîìàøíî
1. Ñúñòàâåòå ïðîãðàìà íà Ñ++, êîÿòî:
a. Äåêëàðèðà è èíèöèàëèçèðà ñ èçáðàíè îò âàñ ñòîéíîñòè äâóìåðåí öåëî÷èñëåí ìàñèâ ñ 3 ðåäà è 4 ñòúëáà;
b. Îòïå÷àòâà ñòîéíîñòèòå êàòî ïðàâîúãúëíà ìàòðèöà îò ÷èñëà;
c. Ðàçìåíÿ ñúäúðæàíèåòî íà ðåäîâå 1 è 3 è îòïå÷àòâà òàêà ïðîìåíåíàòà ìàòðèöà;
d. Ðàçìåíÿ ñúäúðæàíèåòî íà ñòúëáîâå 2 è 4 è îòíîâî îòïå÷àòâà ìàòðèöàòà.
2. Ñúñòàâåòå ñúùàòà ïðîãðàìà, áåç äà ïîëçâàòå èíäåêñè, ò.å. ñàìî ñ àäðåñèðàùè èçðàçè ñ óêàçàòåëè.
3. Ñúñòàâåòå âàðèàíò íà ñúùàòà ïðîãðàìà, â êîéòî ÷èñëàòà îò ìàòðèöàòà ñå ñúäúðæàò â åäíîìåðåí ìàñèâ îò 12 åëåìåíòà.
4. Ñúñòàâåòå âàðèàíò íà ïðåäõîäíàòà ïðîãðàìà, â êîéòî åäíîìåðíèÿò ìàñèâ å äèíàìè÷åí è ðàçìåðèòå íà ìàòðèöàòà, êàêòî è íîìåðàòà íà ðàçìåíÿíèòå ðåäîâå è ñòúëáîâå ñå âúâåæäàò îò êîíçîëàòà.
âñè÷êî äî 2-ðà ÷àñò íà çàäà÷àòà å ÿñíî ïðîñòî è íàïðàâåíî , ñòèãíàõ äî 2-ðàòà ÷àñò è ñå óäàðèõ â ñòåíà "ñàìî ñ àäðåñèðàùè èçðàçè ñ óêàçàòåëè" - ñ êàêâî ? íÿêîé ìîæå ëè äà äàäå ïðèìåð , íàñîêà èëè ëèíê êúì ñòðàíèöà íà òóòîðèÿë çà äà ïðî÷åòÿ çà êàêâî ñòàâà íà âúïðîñ ?
Áëàãîäàðÿ ïðåäâàðèòåëíî !
-
16th January 2011 14:27 #2
Èìåíàòà íà ìàñèâèòå â C/C++ ñà è óêàçàòåëè êúì íà÷àëîòî íà áëîêà ïàìåò, â êîéòî åëåìåíòèòå íà ìàñèâà ñå ñúäúðæàò, ïîäðåäåíè åäèí ñëåä äðóã ïî ñëåäíèÿ íà÷èí:
a[0][0], a[0][1], ..., a[0][N-1], a[1][0], a[1][1], ..., a[1][N-1], ..., a[M-1][0], a[M-1][1], ..., a[M-1][N-1]
(ïðåäïîëàãà ñå, ÷å å äåêëàðèðàí ìàñèâ a[M][N])
Ïðè òàçè ñõåìà åëåìåíòúò a[i][j] å âñúùíîñò åëåìåíò i*N+j îò íà÷àëîòî íà áëîêà ïàìåò. Òîãàâà ñëåäíèòå äâå êîíñòðóêöèè ñà åêâèâàëåíòíè: a[i][j] è *(a + i*N+j). Ïðèìåðíî:ñòàâàCode:a[i][j] = a[i-1][j] + 5
Ñúùîòî âàæè è çà åäíîìåðíè ìàñèâè:Code:*(a + i*N+j) = *(a + (i-1)*N+j) + 5
a[i] å åêâèâàëåíòíî íà *(a+i)
Âàæè è çà òðèìåðíè ìàñèâè (íàïð. a[M][N][P]):
a[i][j][k] å åêâèâàëåíòíî íà *(a + i*N*P + j*P + k)Internet - it doesn't make you stupid, it just makes your stupidity more accessible to others
-
16th January 2011 14:28 #3
Ïðåïîäàâàòåëÿ ìîæå áè å èìàë â ïðåäâèä òîâà
http://www.cplusplus.com/doc/tutorial/pointers/ -> Pointers and arraysHave no fear ike iz here.
CPU Cx486DLC@40MHz, RAM 4MB, VGA Trident 512KB, HDD Conner 160MB, Monitor 14" Color
-
16th January 2011 15:58 #4Registered User
Join Date: Jan:2011
Location: bg
Posts: 4
çíà÷è òîâà êîåòî èñêàò å íåùî ïîäîáíî , ïðèìåðíî èíèöèàëèçàöèÿ :
Code:int arr[3][4]={0}; for(int i=0;i<3;i++){ for(int g=0;g<4;g++){ *(arr+i*4+g)=(rand()%10); } }:/Incompatible types in assignment of 'int' to 'int [4]'
ðåçóëòàò :Code:int arr[3][4]={0}; for(int i=0;i<3;i++){ for(int g=0;g<4;g++){ cout << **(arr+i*4+g)<<endl; } }
êàêâî áúðêàì ?0
0
0
1879090456
1606416496
1606416496
0
1879090456
1879090456
1606416504
1606416512
0
---------- Äîáàâåí ïîñëåäâàù êîìåíòàð â 15:58 ---------- Îðèãèíàëíèÿò êîìåíòàð å ïóñíàò â 14:38 ----------
è ìàé ìå îñòàâèõòå ñàì äà ñå îïðàâÿì .. å ìåðñè âñå ïàê
Last edited by kokodilche; 16th January 2011 at 15:07.
-
16th January 2011 16:36 #5
Âàðèàíòèòå ñà:
- äåôèíèðàø int *pa = (int*)a è ðàáîòèø ñ pa âìåñòî ñ a â èçðàçèòå ñ óêàçàòåëíà àðèòìåòèêà;
- íàâñÿêúäå ïðåîáðàçóâàø íàñèëñòâåíî a: *((int*)a + i*4 + g) = ...;
- äåôèíèðàø a êàòî åäíîìåðåí ìàñèâ: int a[3][4] ñòàâà int a[3*4].Internet - it doesn't make you stupid, it just makes your stupidity more accessible to others
-
16th January 2011 16:50 #6Registered User
Join Date: Jan:2011
Location: bg
Posts: 4
ìåæäó äðóãîòî ,
èCode:cout << (arr+((1*3)+1));
äàâàò àäðåñàCode:cout << *(arr+((1*3)+1));
÷àê äàâà ñòîéíîñòCode:cout << **(arr+((1*3)+1));
îòìåñòâàíåòî ìè ãî ïðàâè ñ 10 à íå ñ 4 êàêòî áè òðÿáâàëî ñ äîáàâÿíåòî íà +1
âå÷å òîòàëíî ñúì îáúðêàí 
---------- Äîáàâåí ïîñëåäâàù êîìåíòàð â 16:50 ---------- Îðèãèíàëíèÿò êîìåíòàð å ïóñíàò â 16:38 ----------
Áëàãîäàðÿ , ñâñè÷êî òðúãâà êàêòî òðÿáâà ... ñåãà îñòàíà äà ðàçáåðà çàùî ñå ïðàâè íàñèëñòâåíîòî è âñè÷êî ñòàâà òîê è æèöà . Óêàçàòåëèòå ñà ìè äîñòà ñëîæíè :/ áèëî òî êúì ïðîìåíëèâà , à äà íå ãîâîðèì êúì îáåêò èëè êëàññ ..*((int*)arr+i*4+g)
-
16th January 2011 17:15 #7
Ïðàâè ñå, çàùîòî ìíîãîìåðíèòå ìàñèâè çà êîìïèëàòîðà ñà ïîäîáíè íà ìàñèâè îò óêàçàòåëè - íåùî, êîåòî çàáðàâèõ äà óòî÷íÿ ïî-ðàíî. Òîâà, êîåòî å ñèãóðíî îáà÷å å, ÷å:
- &a[0][0] å int* êúì ïúðâèÿ åëåìåíò;
- a[0] ñúùî ñúùî å int* êúì ïúðâèÿ åëåìåíò;
- *a ñúùî å int* êúì ïúðâèÿ åëåìåíò;
- a ìîæå äà ñå ïðåîáðàçóâà äî int* è ïàê ñî÷è ïúðâèÿ åëåìåíò.
Åòî òè ïðèìåðåí êîä:
è ïðèìåðåí èçõîä íà 64-áèòîâà ìàøèíà:Code:int arr[3][4]; cout << arr[0] << " " << arr[0] + 1 << endl; cout << &arr[0][0] << " " << &arr[0][0] + 1 << endl; cout << *arr << " " << *arr + 1 << endl; cout << (int*)arr << " " << (int*)arr + 1 << endl;
Code:$ ./a.out 0x7fff5fbffad0 0x7fff5fbffad4 0x7fff5fbffad0 0x7fff5fbffad4 0x7fff5fbffad0 0x7fff5fbffad4 0x7fff5fbffad0 0x7fff5fbffad4
Internet - it doesn't make you stupid, it just makes your stupidity more accessible to others
-
16th January 2011 21:09 #8Registered User
Join Date: Jan:2011
Location: bg
Posts: 4
Áëàãîäàðÿ , ìèñëÿ ÷å ñåãà ìàëêî ïîâå÷å ðàçáèðàì çà êàêâî ñòàâà íà âúïðîñ .
Ùå ñå ðàçáåðå ñêîðî , êîãàòî ìè ïîòðÿáâà îòíîâî , äàëè ñúì ãî ðàçáðàë è çàïîìíèë .
Ìèíàõ 2-ðàòà ÷àñò , ïî÷âàì 3-òàòà
---------- Äîáàâåí ïîñëåäâàù êîìåíòàð â 21:09 ---------- Îðèãèíàëíèÿò êîìåíòàð å ïóñíàò â 18:29 ----------
áëàãîäàðÿ çà ñúäåéñòâèåòî çàäà÷èòå ðàáîòÿò òåñòâàíè ñà çà èçêëþ÷åíèÿ , ÷å ÷àê è èíòåðôåéñ çà òåðìèíàë íàïðàâèõ




Reply With Quote
Lenovo ThinkPad 15 èëè IdeaPad 15
5th May 2023, 22:16 in Ìîáèëíè êîìïþòðè