Hogy lehet C++-ban (Visual Studioban) kiíratni egy kétdimenziós mátrix sorainak, oszlopainak számát és pl. az egész 2. sorát?
Amennyiben mátrix alatt a kétdimenziós tömböt érted, úgy az első két kérdésre az a válasz, hogy
std::cout << sorokSzama << ':' << oszlopokSzama << '\n';
A sorokSzama és oszlopokSzama változókat viszont neked kell kitölteni valahonnan, kényelmesen a létrehozás helyén, mert a tömb nem fogja elárulni neked.
Az utolsó kérdésre pedig igen egyszerű a válasz:
int matrix[10][10];
std::copy(&matrix[1][0], &matrix[1][10], std::ostream_iterator<int>(std::cout));
Kis javítás:
std::copy(&matrix[1][0], &matrix[1][10], std::ostream_iterator<int>(std::cout, ", "));
Megpróbáltam beírni, amit írtál, de nem működik így (nem igazán tudom mit kéne kezdenem az i változóval):
#include <iostream>
using namespace std;
#include <iomanip>
int main ()
{
int i=0, A[3][4]={{1,2,3,4}, {5,6,7,8}, {9,10,11,12}};
std::copy(&A[1][0], &A[1][3], std::i(std::cout, ", "));
cin.get();
return 0;
}
Így működik, de nem tudom pontosan, hogy így a 2. sort írja-e ki. Az lehet, hogy amit ilyenkor kiír, az a 2. sorban lévő számoknak valamiféle hexadecimális összege?
/* #include <iostream>
using namespace std;
#include <iomanip>
int main ()
{
int A[3][4]={{1,2,3,4}, {5,6,7,8}, {9,10,11,12}};
cout<<&A[1][0]<<&A[1][3]<<endl;
cin.get();
return 0;
} */
És ez mit ír ki? Ez is valamilyen hexadecimális számot ad.
/* #include <iostream>
using namespace std;
#include <iomanip>
int main ()
{
int A[3][4]={{1,2,3,4}, {5,6,7,8}, {9,10,11,12}};
cout<<A[1]<<endl;
cin.get();
return 0;
} */
Egy változóba hogyan tudnám beletenni a 2. sort? Egy feladat megoldásához fontos lenne.
Kapcsolódó kérdések:
Minden jog fenntartva © 2024, www.gyakorikerdesek.hu
GYIK | Szabályzat | Jogi nyilatkozat | Adatvédelem | Cookie beállítások | WebMinute Kft. | Facebook | Kapcsolat: info(kukac)gyakorikerdesek.hu
Ha kifogással szeretne élni valamely tartalommal kapcsolatban, kérjük jelezze e-mailes elérhetőségünkön!