#include <iostream>
#include <algorithm>
#include <vector>
#include <chrono>
class A
{
public:
void print();
private:
int plansza_[3][3] = {{99,99,99},{99,99,99},{99,99,99}};
int *pola_[3] = {&plansza_[0][0], &plansza_[1][1], &plansza_[2][2] };
};
void A::print()
{
for(int i = 0 ; i < 3 ; ++i) {
for(int k = 0 ; k < 3 ; ++k) {
std::cout << plansza_[i][k] << '\t';
}
std::cout << std::endl;
}
}
struct B
{
public:
B(int data[][3]);
void print();
private:
int plansza_[3][3];
int *pola_[3] = {&plansza_[0][0], &plansza_[1][1], &plansza_[2][2] };
};
B::B(int data[][3])
{
for(int i = 0 ; i < 3 ; ++i)
for(int k = 0 ; k < 3 ; ++k)
plansza_[i][k] = data[i][k];
std::cout << "Pola: " << *pola_[0] << " " << *pola_[1] << " " << *pola_[2] << std::endl;
}
void B::print()
{
for(int i = 0 ; i < 3 ; ++i) {
for(int k = 0 ; k < 3 ; ++k) {
std::cout << plansza_[i][k] << '\t';
}
std::cout << std::endl;
}
}
int main()
{
A a;
a.print();
std::cout << "---------------------\n";
int data[3][3] = {{99,99,99},{99,99,99},{99,99,99}};
B b(data);
b.print();
return 0;
}
I2luY2x1ZGUgPGlvc3RyZWFtPgojaW5jbHVkZSA8YWxnb3JpdGhtPgojaW5jbHVkZSA8dmVjdG9yPgojaW5jbHVkZSA8Y2hyb25vPgoKY2xhc3MgQQp7CnB1YmxpYzoKCXZvaWQgcHJpbnQoKTsKcHJpdmF0ZToKCWludCBwbGFuc3phX1szXVszXSA9IHt7OTksOTksOTl9LHs5OSw5OSw5OX0sezk5LDk5LDk5fX07CglpbnQgKnBvbGFfWzNdID0geyZwbGFuc3phX1swXVswXSwgJnBsYW5zemFfWzFdWzFdLCAmcGxhbnN6YV9bMl1bMl0gfTsKfTsKCnZvaWQgQTo6cHJpbnQoKQp7Cglmb3IoaW50IGkgPSAwIDsgaSA8IDMgOyArK2kpIHsKCQlmb3IoaW50IGsgPSAwIDsgayA8IDMgOyArK2spIHsKCQkJc3RkOjpjb3V0IDw8IHBsYW5zemFfW2ldW2tdIDw8ICdcdCc7CgkJfQoJCXN0ZDo6Y291dCA8PCBzdGQ6OmVuZGw7Cgl9Cn0KCnN0cnVjdCBCCnsKcHVibGljOgoJQihpbnQgZGF0YVtdWzNdKTsKCgl2b2lkIHByaW50KCk7CnByaXZhdGU6CglpbnQgcGxhbnN6YV9bM11bM107CglpbnQgKnBvbGFfWzNdID0geyZwbGFuc3phX1swXVswXSwgJnBsYW5zemFfWzFdWzFdLCAmcGxhbnN6YV9bMl1bMl0gfTsKfTsKCkI6OkIoaW50IGRhdGFbXVszXSkKewoJZm9yKGludCBpID0gMCA7IGkgPCAzIDsgKytpKQoJCWZvcihpbnQgayA9IDAgOyBrIDwgMyA7ICsraykKCQkJcGxhbnN6YV9baV1ba10gPSBkYXRhW2ldW2tdOwoKCglzdGQ6OmNvdXQgPDwgIlBvbGE6ICIgPDwgKnBvbGFfWzBdIDw8ICIgIiA8PCAqcG9sYV9bMV0gPDwgIiAiIDw8ICpwb2xhX1syXSA8PCBzdGQ6OmVuZGw7Cn0KCnZvaWQgQjo6cHJpbnQoKQp7Cglmb3IoaW50IGkgPSAwIDsgaSA8IDMgOyArK2kpIHsKCQlmb3IoaW50IGsgPSAwIDsgayA8IDMgOyArK2spIHsKCQkJc3RkOjpjb3V0IDw8IHBsYW5zemFfW2ldW2tdIDw8ICdcdCc7CgkJfQoJCXN0ZDo6Y291dCA8PCBzdGQ6OmVuZGw7Cgl9Cn0KCmludCBtYWluKCkKewoJQSBhOwoJYS5wcmludCgpOwoJc3RkOjpjb3V0IDw8ICItLS0tLS0tLS0tLS0tLS0tLS0tLS1cbiI7CgoJaW50IGRhdGFbM11bM10gPSB7ezk5LDk5LDk5fSx7OTksOTksOTl9LHs5OSw5OSw5OX19OwoJQiBiKGRhdGEpOwoJYi5wcmludCgpOwoKCXJldHVybiAwOwp9Cg==