mój program do nauki wskaźników

0

wynik działania programu:

user image

 // wskazniki3.cpp by rewertyn: Defines the entry point for the console application.
//
#include "stdafx.h"
#include "iostream"
#include <stdio.h>
#include <cstdio>
#include <stdlib.h>
#include <conio.h> 
#include <iostream>
#include <windows.h>


//http://www.egrafik.pl/kurs-c-plus-plus/8.1.php
//http://www.egrafik.pl/kurs-c-plus-plus/8.3.php
//http://technet.microsoft.com/pl-pl/library/zarzadzanie-pamiecia-w-32-i-64-bitowych-systemach-windows-cz-2.aspx

using namespace std;
void (__cdecl funkcja1)(int* zmienna3);

int _tmain(int argc, _TCHAR* argv[])
{
	int zmienna1=0;
	zmienna1=-21;

	HANDLE  hConsole;
	hConsole = GetStdHandle(STD_OUTPUT_HANDLE); 
	
	cout<<"test"<<endl;
	cout<<"w main()"<<endl;
	//cout<<"*zmienna1=";
	SetConsoleTextAttribute(hConsole, 3); 	
	//cout<<*zmienna1;
	SetConsoleTextAttribute(hConsole, 7); 	
	cout<<"&zmienna1=";
	SetConsoleTextAttribute(hConsole, 5); 	
	cout<<&zmienna1;//wyswietli adres
	SetConsoleTextAttribute(hConsole, 7); 	
	cout<<" zmienna1=";
	SetConsoleTextAttribute(hConsole, 11); 	
	cout<<zmienna1<<endl;//wyswietli liczbe = -21
	SetConsoleTextAttribute(hConsole, 7); 	
	cout<<"wywolanie funkcji: funkcja1(&zmienna1);"<<endl;

	funkcja1(&zmienna1);////////////

	cout<<"znowu w main()"<<endl;
	//cout<<"*zmienna1=";
	SetConsoleTextAttribute(hConsole, 3); 	
	//cout<<*zmienna1;
	SetConsoleTextAttribute(hConsole, 7); 	
	cout<<"&zmienna1=";
	SetConsoleTextAttribute(hConsole, 5); 	
	cout<<&zmienna1;//wyswietli adres
	SetConsoleTextAttribute(hConsole, 7); 	
	cout<<" zmienna1=";
	SetConsoleTextAttribute(hConsole, 11); 	
	cout<<zmienna1<<endl;//wyswietli liczbe = -12
	SetConsoleTextAttribute(hConsole, 7); 	
	system("pause");
	return 0;
}// koniec tmain
//////
void (__cdecl funkcja1)(int* zmienna3)
{
	cout<<"w funkcji: funkcja1(int* zmienna3)"<<endl;
	cout<<"przed zamiana wartosci zmiennej"<<endl;
	HANDLE  hConsole2;
	hConsole2 = GetStdHandle(STD_OUTPUT_HANDLE); 
	cout<<"*zmienna3=";
	SetConsoleTextAttribute(hConsole2, 11); 	
	cout<<*zmienna3;//wyswietli liczbe = -21
	SetConsoleTextAttribute(hConsole2, 7); 	
	cout<<" &zmienna3=";
	SetConsoleTextAttribute(hConsole2, 15); 	
	cout<<&zmienna3;//wyswietli adres wskaznika
	SetConsoleTextAttribute(hConsole2, 7); 	
	cout<<" zmienna3=";
	SetConsoleTextAttribute(hConsole2, 5); 	
	cout<<zmienna3<<endl;//wyswietli adres
	SetConsoleTextAttribute(hConsole2, 7); 

	*zmienna3=-12;//////////////

	cout<<"po zamiana wartosci zmiennej"<<endl;
	cout<<"*zmienna3=";
	SetConsoleTextAttribute(hConsole2, 11); 	
	cout<<*zmienna3;//wyswietli liczbe = -12
	SetConsoleTextAttribute(hConsole2, 7); 	
	cout<<" &zmienna3=";
	SetConsoleTextAttribute(hConsole2, 15); 	
	cout<<&zmienna3;//wyswietli adres wskaznika
	SetConsoleTextAttribute(hConsole2, 7); 	
	cout<<" zmienna3=";
	SetConsoleTextAttribute(hConsole2, 5); 	
	cout<<zmienna3<<endl;//wyswietli adres
	SetConsoleTextAttribute(hConsole2, 7); 	
	cout<<"wyjscie z funkcji: funkcja1(int* zmienna3)"<<endl;
	}
//////
0

Jak na pomoc naukową do opanowywania wskaźników, wszystkie te wywołania SetConsoleTextAttribute() tylko sprawiają, że kod jest absolutnie nieczytelny. Jeśli ktoś chciałby zobaczyć w jaki sposób coś powstało, musiałby się przebijać przez masę zbędnych linii. Przydałaby się także arytmetyka na wskaźnikach, bo to ona jest największą zaletą oraz sprawia najwięcej problemów początkującym (i jest świetnym generatorem błędów, ale to tak na marginesie).

0

http://www.image-share.com/ipng-937-224.html

user image

wywołania SetConsoleTextAttribute(hConsole2, 7); zmieniają kolory wypisywanych wartości zmiennych potem jest ustawiony kolor domyślny do wypisania textu jak sie zmienna nazywa której wartośc jest wypisywana na ekranie , jeszcze dodałem linijkę zaablokowaną :
// wypisanie na ekran: cout<<"*zmienna3="<<*zmienna3;<<" &zmienna3="<<&zmienna3<<" zmienna3="<<zmienna3<<endl;

// wskazniki3.cpp by rewertyn: Defines the entry point for the console application.
//
#include "stdafx.h"
#include "iostream"
#include <windows.h>


//http://www.egrafik.pl/kurs-c-plus-plus/8.1.php
//http://www.egrafik.pl/kurs-c-plus-plus/8.3.php
//http://technet.microsoft.com/pl-pl/library/zarzadzanie-pamiecia-w-32-i-64-bitowych-systemach-windows-cz-2.aspx


using namespace std;
void (__cdecl funkcja1)(int* zmienna3);
void (__cdecl wypisz_na_ekran)(char* str,int i,int j);
void (__cdecl wypisz_na_ekran)(int str,int i,int j);
void (__cdecl wypisz_na_ekran)(int* str,int i,int j);


int _tmain(int argc, _TCHAR* argv[])
{
	int zmienna1=0;
	zmienna1=-21;

	HANDLE  hConsole;
	hConsole = GetStdHandle(STD_OUTPUT_HANDLE); 
	cout<<"test"<<endl;
	cout<<"w main()"<<endl;
	//wypisz_na_ekran("*zmienna1=",7,7); 
	//wypisz_na_ekran(*zmienna1,3,7); 
	wypisz_na_ekran("&zmienna1=",7,7);//7=kolor domyslny 
	wypisz_na_ekran(&zmienna1,5,7); //wyswietli adres
	wypisz_na_ekran("zmienna1=",7,7);//7=kolor domyslny 
	wypisz_na_ekran(zmienna1,11,7);  //wyswietli liczbe = -21
	cout<<endl;	
	cout<<"wywolanie funkcji: funkcja1(&zmienna1);"<<endl;

	funkcja1(&zmienna1);////////////

	cout<<"znowu w main()"<<endl;
	//wypisz_na_ekran("*zmienna1=",7,7); 
	//wypisz_na_ekran(*zmienna1,3,7); 
	wypisz_na_ekran("&zmienna1=",7,7);//7=kolor domyslny 
	wypisz_na_ekran(&zmienna1,5,7); //wyswietli adres
	wypisz_na_ekran("zmienna1=",7,7);//7=kolor domyslny 
	wypisz_na_ekran(zmienna1,11,7);  //wyswietli liczbe = -12
	cout<<endl;	
	system("pause");
	return 0;
}// koniec tmain
//////
void (__cdecl funkcja1)(int* zmienna3)
{
	cout<<"w funkcji: funkcja1(int* zmienna3)"<<endl;
	cout<<"przed zamiana wartosci zmiennej"<<endl;
	// wypisanie w kolorach na ekran: cout<<"*zmienna3="<<*zmienna3<<" &zmienna3="<<&zmienna3<<" zmienna3="<<zmienna3<<endl;
	wypisz_na_ekran("*zmienna3=",7,7);//7=kolor domyslny  
	wypisz_na_ekran(*zmienna3,11,7);  //wyswietli liczbe = -21
	wypisz_na_ekran("&zmienna3=",7,7);//7=kolor domyslny 
	wypisz_na_ekran(reinterpret_cast<int*>(&zmienna3),15,7); //wyswietli adres
	wypisz_na_ekran("zmienna3=",7,7);//7=kolor domyslny 
	cout<<hex;
	wypisz_na_ekran(zmienna3,5,7); //wyswietli adres
	cout<<dec;
	cout<<endl;	

	*zmienna3=-12;//////////////

	cout<<"po zamiana wartosci zmiennej"<<endl;
	// wypisanie w kolorach na ekran: cout<<"*zmienna3="<<*zmienna3<<" &zmienna3="<<&zmienna3<<" zmienna3="<<zmienna3<<endl;
	wypisz_na_ekran("*zmienna3=",7,7);//7=kolor domyslny  
	wypisz_na_ekran(*zmienna3,11,7);  //wyswietli liczbe = -12
	wypisz_na_ekran("&zmienna3=",7,7);//7=kolor domyslny 
	wypisz_na_ekran(reinterpret_cast<int*>(&zmienna3),15,7); //wyswietli adres
	wypisz_na_ekran("zmienna3=",7,7);//7=kolor domyslny 
	wypisz_na_ekran(zmienna3,5,7); //wyswietli adres
	cout<<endl;	
	cout<<"wyjscie z funkcji: funkcja1(int* zmienna3)"<<endl;
	}
//////
void (__cdecl wypisz_na_ekran)(char* str,int i,int j)
{
	HANDLE  hConsole;
	hConsole = GetStdHandle(STD_OUTPUT_HANDLE);
	SetConsoleTextAttribute(hConsole, i);
	cout<<str;
	SetConsoleTextAttribute(hConsole, j); 	
}
//////
void (__cdecl wypisz_na_ekran)(int str,int i,int j)
{
	HANDLE  hConsole;
	hConsole = GetStdHandle(STD_OUTPUT_HANDLE);
	SetConsoleTextAttribute(hConsole, i);
	cout<<str;
	SetConsoleTextAttribute(hConsole, j); 	
}
//////
void (__cdecl wypisz_na_ekran)(int* str,int i,int j)
{
	HANDLE  hConsole;
	hConsole = GetStdHandle(STD_OUTPUT_HANDLE);
	SetConsoleTextAttribute(hConsole, i);
	cout<<str;
	SetConsoleTextAttribute(hConsole, j); 	
}
 

kod programu do przeanalizowania:

 

// wskazniki3.cpp by rewertyn: Defines the entry point for the console application.
//
#include "stdafx.h"
#include "iostream"
#include <stdio.h>
#include <cstdio>
#include <stdlib.h>
#include <conio.h> 
#include <iostream>
#include <windows.h>


//http://www.egrafik.pl/kurs-c-plus-plus/8.1.php
//http://www.egrafik.pl/kurs-c-plus-plus/8.3.php
//http://technet.microsoft.com/pl-pl/library/zarzadzanie-pamiecia-w-32-i-64-bitowych-systemach-windows-cz-2.aspx

using namespace std;
void (__cdecl funkcja1)(int* zmienna3);

int _tmain(int argc, _TCHAR* argv[])
{
	int zmienna1=0;
	zmienna1=-21;

	cout<<"test"<<endl;
	cout<<"w main()"<<endl;
	cout<<" &zmienna1="<<&zmienna1<<" zmienna1="<<zmienna1<<endl;
	cout<<"wywolanie funkcji: funkcja1(&zmienna1);"<<endl;

	funkcja1(&zmienna1);////////////

	cout<<"znowu w main()"<<endl;
	cout<<" &zmienna1="<<&zmienna1<<" zmienna1="<<zmienna1<<endl;
	system("pause");
	return 0;
}// koniec tmain
//////
void (__cdecl funkcja1)(int* zmienna3)
{
	cout<<"w funkcji: funkcja1(int* zmienna3)"<<endl;
	cout<<"przed zamiana wartosci zmiennej"<<endl;
	cout<<"*zmienna3="<<*zmienna3<<" &zmienna3="<<&zmienna3<<" zmienna3="<<zmienna3<<endl;

	*zmienna3=-12;//////////////

	cout<<"po zamiana wartosci zmiennej"<<endl;
	cout<<"*zmienna3="<<*zmienna3<<" &zmienna3="<<&zmienna3<<" zmienna3="<<zmienna3<<endl;
	cout<<"wyjscie z funkcji: funkcja1(int* zmienna3)"<<endl;
	}
//////

0

równie czytelny kod, albo nawet czytelniejszy można uzyskać dzięki znacznikom '\t' i '\n'. A co tak właściwie tutaj potrzebujesz żeby Ci pomóc?

0

nie potrzebuję program działa dobrze

0

Dołączanie "windows.h" do takiego programu, to śmiech na sali...

0

Możesz też stworzyć funkcje, które będą Ci drukowały tekst w określonych kolorach. Np.:

funkcja WydrukujWskaźnik(wartość):
	Wydrukuj("Opis");
	ZmieńKolorNaOczojebnyRóż();
	Wydrukuj(wartość);
	PrzywróćKolorStandardowy();

funkcja WydrukujLiczbę(liczba):
	Wydrukuj("Opis");
	ZmieńKolorNaHawajskaZatokaPoLipcowymDeszczu();
	Wydrukuj(liczba);
	PrzywróćKolorStandardowy();

Czytelność kodu nie będzie idealna, ale znacznie lepsza.

0

dobry pomysł

0

Jeśli chcesz zrobić coś naprawdę wyczesanego, mam dla Ciebie taką propozycję. Zadaniem tego programu jest pomóc w nauce używania wskaźników (jak sądzę), a przy tego typu szkoleniach świetną pomocą jest zobrazowanie (na jakimś poziomie abstrakcji) jak to mniej więcej wygląda w pamięci. W trybie tekstowym musiałbyś to zrobić na semigrafikach, co jest dość trudne, ale możliwe. Np. zobrazowanie wskaźnika na char (z podstawieniem rzeczywistych wartości! poniżej są przykładowe):

0x0043F8C8       0x0043F8CC                       0x0043F948
 .....+---+---+---+---+.....                       .....+------------------+.....
      | A | l | a |\0 |                                 |    0x0043F8C8    |
 .....+---+---+---+---+.....                       .....+------------------+.....
        ^                                                         |
        |                                                         |
        +---------------------------------------------------------+

Do tego arytmetyka, iterakcja, podział na tematy i masz ciekawy program.

0

tutaj są wykorzystane wszystkie możliwe kombinacje:

// wskazniki3.cpp by rewertyn: Defines the entry point for the console application.
//
#include "stdafx.h"
#include "iostream"
#include <windows.h>

//http://www.egrafik.pl/kurs-c-plus-plus/8.1.php
//http://www.egrafik.pl/kurs-c-plus-plus/8.3.php
//http://technet.microsoft.com/pl-pl/library/zarzadzanie-pamiecia-w-32-i-64-bitowych-systemach-windows-cz-2.aspx
 
using namespace std;

void (__cdecl wypisz_na_ekran)(int &str,int i,int j);
void (__cdecl wypisz_na_ekran2)(int str,int i,int j);
void (__cdecl wypisz_na_ekran3)(int* str,int i,int j);

int _tmain(int argc, _TCHAR* argv[])
{
	int zmienna1=0,zmienna2=0,zmienna3=0,&zmienna11=zmienna1;
	zmienna1=-21;
 
	cout<<"test"<<endl;
	cout<<"w main()"<<endl;
	cout<<"&zmienna1= "<<&zmienna1<<" zmienna1= "<<zmienna1<<endl;
	wypisz_na_ekran(zmienna1,5,7);
	wypisz_na_ekran2(reinterpret_cast<int>(&zmienna1),4,7);
	wypisz_na_ekran3(&zmienna1,3,7);
	cout<<"&zmienna1= "<<&zmienna1<<" zmienna1= "<<zmienna1<<endl;
	int &zmienna4=zmienna1;//robi kopię zmiennej 1 w zmiennej 4
	zmienna4=-11;
	cout<<"&zmienna1= "<<&zmienna1<<" zmienna1= "<<zmienna1<<endl;
	cout<<"&zmienna4= "<<&zmienna4<<" zmienna4= "<<zmienna4<<endl;
	
	system("pause");
	return 0;
}// koniec tmain
//////
void (__cdecl wypisz_na_ekran)(int &str,int i,int j)
{
        HANDLE  hConsole;
        hConsole = GetStdHandle(STD_OUTPUT_HANDLE);
        SetConsoleTextAttribute(hConsole, i);
		cout<<"&str ="<<&str<<" str ="<<str<<endl;
		str=str-4;	
		cout<<"&str ="<<&str<<" str ="<<str<<endl;
        SetConsoleTextAttribute(hConsole, j);         
}
//////
void (__cdecl wypisz_na_ekran2)(int str,int i,int j)
{
        HANDLE  hConsole;
        hConsole = GetStdHandle(STD_OUTPUT_HANDLE);
        SetConsoleTextAttribute(hConsole, i);
		cout<<"&str2 ="<<&str<<" str2 ="<<hex<<str<<dec<<endl;
		str=str-40;	// minus 40 adresow int
		cout<<"&str2 ="<<&str<<" str2 ="<<hex<<str<<dec<<endl;
        SetConsoleTextAttribute(hConsole, j);         
}
//////
void (__cdecl wypisz_na_ekran3)(int* str,int i,int j)
{
        HANDLE  hConsole;
        hConsole = GetStdHandle(STD_OUTPUT_HANDLE);
        SetConsoleTextAttribute(hConsole, i);
		cout<<"&str3 ="<<&str<<" str3 ="<<hex<<str<<dec<<endl;
		//str=str-4;	
		cout<<"&str3 ="<<&str<<" str3 ="<<hex<<str<<dec<<endl;
        SetConsoleTextAttribute(hConsole, j);         
}
 
0

Tylko po cholerę komu TAKI program?

Jak nie umiesz wskaźników to idziesz do kompedium wiedzy nie na forum.
Wydaje mi się że temat do usunięcia.

Skoro chcesz pomagać innym, masz od tego kompedium wiedzy.

0

to raczej program na którym TY się nauczyłeś obsługi wskaźników
i nie wiem po co się nim chwalić, raczej nikt się z niego niczego nie nauczy bo ucząc się wskaźników z tego programu musiałby się nauczyć jak działają wskaźniki i jak działa Twój program - prędzej by się nauczył w ten sposób rekurencji

0

http://www.image-share.com/ipng-937-224.html

user image

user image

user image


// wskazniki3.cpp by rewertyn: Defines the entry point for the console application.
//
#include "stdafx.h"
#include "iostream"
#include <windows.h>
#include <fstream>
#include <time.h> // do funkcji pomiar czasu() 
#include <sys/timeb.h> // do funkcji pomiar czasu() 
#include <tchar.h>


//http://www.egrafik.pl/kurs-c-plus-plus/8.1.php
//http://www.egrafik.pl/kurs-c-plus-plus/8.3.php
//http://technet.microsoft.com/pl-pl/library/zarzadzanie-pamiecia-w-32-i-64-bitowych-systemach-windows-cz-2.aspx
//http://www.cplusplus.com/reference/iostream/ostream/
//http://en.cppreference.com/w/cpp/keywords/reinterpret_cast
//http://edu.i-lo.tarnow.pl/inf/alg/001_search/0044.php
//http://gpl.ii.us.edu.pl/~romex/c_cxx/c_cxx_w07.pdf
//http://www.kssiz.freehost.pl/ZSZ/ID26_PSIO.pdf
//http://msdn.microsoft.com/en-us/library/bzbx67e8%28v=VS.80%29.aspx


using namespace std;

void funkcjia_1(float &tablica2);
void funkcjia_2(float *tablica3);
void gotoxy(int x, int y);
std::ostream& (__cdecl kol)(void* str,int i);
std::ostream& (__cdecl kol)(char* str,int i);
std::ostream& (__cdecl kol)(int str,int i);
std::ostream& (__cdecl kol2)(double str,int i);


int _tmain(int argc, _TCHAR* argv[])
{

	double tablica[4][3]={0};
	for(int i=0;i<4;i++){for(int j=0;j<3;j++){tablica[i][j]=i*i*i*1.53/(j+3.0f)+j*j+10.27;}}
	for(int i=0;i<4;i++){for(int j=0;j<3;j++){cout.precision(4),cout.width(5),cout<<"w main(): i= "<<i<<" tablica[0][i]= "<<tablica[i][j]<<" &tablica[0][i] "<<&tablica[i][j]<<" "<<endl;}}
	cout<<endl;
	
	kol("   tablica[i][j]     ",4),kol("| ",2),kol(" &tablica[i][j]",4),kol("                |",2),kol(" &tablica[i]",4),kol("  |",2),kol(" &tablica+i",4)<<endl;
	for(int i=0;i<4;i++){for(int j=0;j<3;j++){cout.width(5),kol2(tablica[i][j],3)<<" ";}kol("   ,",2)<<endl;}
	cout<<endl;
	for(int i=0;i<4;i++){for(int j=0;j<3;j++){cout.width(5),gotoxy(25+j*10,15+i),kol(&tablica[i][j],8)<<" ";}kol(" , ",2)<<endl;}
	cout<<endl;
	for(int i=0;i<4;i++){for(int j=0;j<1;j++){cout.width(5),gotoxy(57+j*10,15+i),kol(&tablica[i],15)<<" ";}kol("    ,",2)<<endl;}
	cout<<endl;
	for(int i=0;i<2;i++){for(int j=0;j<1;j++){cout.width(5),gotoxy(72+j*10,15+i),kol(&tablica+i,7)<<" ";}cout<<endl;}
	gotoxy(1,20);

	kol("sizeof(tablica[i][j])= ",6),kol(sizeof(tablica[0][0]),2),kol(" <-- wielkosc naszej liczby ",7)<<endl;
	kol("sizeof(&tablica[i][j])= ",6),kol(sizeof(&tablica[0][0]),2)<<endl;
	cout<<endl;
	kol("sizeof(*tablica[i])= ",6),kol(sizeof(*tablica[0]),2),kol("   <-- wielkosc naszej liczby ",7)<<endl;
	kol("sizeof(&(*tablica[i]))= ",6),kol(sizeof(&(*tablica[0])),2)<<endl;
	kol("sizeof(tablica[i])= ",6),kol(sizeof(tablica[0]),2)<<endl;
	kol("sizeof(&tablica[i])= ",6),kol(sizeof(&tablica[0]),2)<<endl;
	cout<<endl;
	kol("sizeof(&(**tablica)+i)= ",6),kol(sizeof(&(**tablica)+0),2)<<endl;
	kol("sizeof(*tablica+i)= ",6),kol(sizeof(*tablica+0),2)<<endl;
	kol("sizeof(&(*tablica)+i)= ",6),kol(sizeof(&(*tablica)+0),2)<<endl;
	kol("sizeof(tablica+i)= ",6),kol(sizeof(tablica+0),2)<<endl;
	kol("sizeof(&(tablica)+0)= ",6),kol(sizeof(&(tablica)+0),2)<<endl;
	kol("sizeof((&tablica+0))= ",6),kol(sizeof((&tablica+0)),2)<<endl;
	
	
	
	cout<<endl;
	
	kol("sizeof(**tablica+i)= ",6),kol(sizeof(**tablica+0),2),kol("   <-- wielkosc naszej liczby ",7)<<endl;
	kol("sizeof(*(&(**tablica)+i))= ",6),kol(sizeof(*(&(**tablica)+0)),2),kol("<-- wielkosc naszej liczby ",7)<<endl;
	kol("sizeof(*(*tablica+i))= ",6),kol(sizeof(*(*tablica+0)),2),kol("    <-- wielkosc naszej liczby ",7)<<endl;
	kol("sizeof(*(&(*tablica)+i))= ",6),kol(sizeof(*(&(*tablica)+0)),2)<<endl;
	kol("sizeof(*(tablica+i))= ",6),kol(sizeof(*(tablica+0)),2)<<endl;
	kol("sizeof(*(&(tablica)+i))= ",6),kol(sizeof(*(&(tablica)+0)),2)<<endl;
	kol("sizeof(*(&tablica+i))= ",6),kol(sizeof(*(&tablica+0)),2)<<endl;
	cout<<endl;

	kol("sizeof(**tablica+i)= ",6),kol(sizeof(**tablica+0),2),kol("   <-- wielkosc naszej liczby ",7)<<endl;
//	kol("sizeof(**tablica+i)= ",6),kol(sizeof(&(**tablica+0)),2),kol("   <-- wielkosc naszej liczby ",7)<<endl;
	kol("sizeof(**tablica+i)= ",6),kol(sizeof(&(**tablica)+0),2),kol("   <-- wielkosc naszej liczby ",7)<<endl;


	kol("sizeof(*(&(**tablica)+i))= ",6),kol(sizeof(*(&(**tablica)+0)),2),kol("<-- wielkosc naszej liczby ",7)<<endl;
	kol("sizeof(*(*tablica+i))= ",6),kol(sizeof(*(*tablica+0)),2),kol("    <-- wielkosc naszej liczby ",7)<<endl;
	kol("sizeof(*(&(*tablica)+i))= ",6),kol(sizeof(*(&(*tablica)+0)),2)<<endl;
	kol("sizeof(*(tablica+i))= ",6),kol(sizeof(*(tablica+0)),2)<<endl;
	kol("sizeof(*(&(tablica)+i))= ",6),kol(sizeof(*(&(tablica)+0)),2)<<endl;
	kol("sizeof(*(&tablica+i))= ",6),kol(sizeof(*(&tablica+0)),2)<<endl;
	cout<<endl;

	int adres_bazowy;
	int adres2;
	cout<<".........................."<<endl;
	system("pause");
	//////////////////////////////////////////////////////

	kol("(**tablica+0)= ",6),kol2((**tablica+0),8),kol(" //dodawanie liczb ",6)<<endl;
	kol("(**tablica+2)= ",6),kol2((**tablica+2),8),kol(" //dodawanie liczb ",6)<<endl<<endl;

	adres_bazowy=reinterpret_cast<int>(&(*(*tablica+0)));
	adres2=reinterpret_cast<int>(&(*(*tablica+2)));	
	kol("*(*tablica+0)= ",6),kol2(*(*tablica+0),8)<<endl;
	kol("*(*tablica+2)= ",6),kol2(*(*tablica+2),8),kol(" //przeskok o ",6),kol2(adres2-adres_bazowy,15),kol("  bajtow ",6)<<endl<<endl;

	adres_bazowy=reinterpret_cast<int>(&(**(tablica+0)));
	adres2=reinterpret_cast<int>(&(**(tablica+2)));	
	kol("**(tablica+0)= ",6),kol2(**(tablica+0),8)<<endl;
	kol("**(tablica+2)= ",6),kol2(**(tablica+2),8),kol(" //przeskok o ",6),kol2(adres2-adres_bazowy,15),kol("  bajtow ",6)<<endl<<endl;

	adres_bazowy=reinterpret_cast<int>(&*(*tablica+0));
	adres2=reinterpret_cast<int>(&*(*tablica+2));	
	kol("&*(*tablica+0)= ",6),kol(&*(*tablica+0),8)<<endl;
	kol("&*(*tablica+2)= ",6),kol(&*(*tablica+2),8),kol(" //przeskok o ",6),kol2(adres2-adres_bazowy,15),kol("  bajtow ",6)<<endl<<endl;

	adres_bazowy=reinterpret_cast<int>(&**(tablica+0));
	adres2=reinterpret_cast<int>(&**(tablica+2));	
	kol("&**(tablica+0)= ",6),kol(&**(tablica+0),8)<<endl;
	kol("&**(tablica+2)= ",6),kol(&**(tablica+2),8),kol(" //przeskok o ",6),kol2(adres2-adres_bazowy,15),kol("  bajtow ",6)<<endl<<endl;

	adres_bazowy=reinterpret_cast<int>((&**tablica+0));
	adres2=reinterpret_cast<int>((&**tablica+2));	
	kol("(&**tablica+0)= ",6),kol((&**tablica+0),8)<<endl;
	kol("(&**tablica+2)= ",6),kol((&**tablica+2),8),kol(" //przeskok o ",6),kol2(adres2-adres_bazowy,15),kol("  bajtow ",6)<<endl<<endl;

	adres_bazowy=reinterpret_cast<int>(*&*(tablica+0));
	adres2=reinterpret_cast<int>(*&*(tablica+2));	
	kol("*&*(tablica+0)= ",6),kol(*&*(tablica+0),8)<<endl;
	kol("*&*(tablica+2)= ",6),kol(*&*(tablica+2),8),kol(" //przeskok o ",6),kol2(adres2-adres_bazowy,15),kol("  bajtow ",6)<<endl<<endl;

	adres_bazowy=reinterpret_cast<int>((*&*tablica+0));
	adres2=reinterpret_cast<int>((*&*tablica+2));	
	kol("(*&*tablica+0)= ",6),kol((*&*tablica+0),8)<<endl;
	kol("(*&*tablica+2)= ",6),kol((*&*tablica+2),8),kol(" //przeskok o ",6),kol2(adres2-adres_bazowy,15),kol("  bajtow ",6)<<endl<<endl;

	adres_bazowy=reinterpret_cast<int>(*(&*tablica+0));
	adres2=reinterpret_cast<int>(*(&*tablica+2));	
	kol("*(&*tablica+0)= ",6),kol(*(&*tablica+0),8)<<endl;
	kol("*(&*tablica+2)= ",6),kol(*(&*tablica+2),8),kol(" //przeskok o ",6),kol2(adres2-adres_bazowy,15),kol("  bajtow ",6)<<endl<<endl;

	adres_bazowy=reinterpret_cast<int>((**&tablica+0));
	adres2=reinterpret_cast<int>((**&tablica+2));	
	kol("(**&tablica+0)= ",6),kol((**&tablica+0),8)<<endl;
	kol("(**&tablica+2)= ",6),kol((**&tablica+2),8),kol(" //przeskok o ",6),kol2(adres2-adres_bazowy,15),kol("  bajtow ",6)<<endl<<endl;

	adres_bazowy=reinterpret_cast<int>(*(*&tablica+0));
	adres2=reinterpret_cast<int>(*(*&tablica+2));	
	kol("*(*&tablica+0)= ",6),kol(*(*&tablica+0),8)<<endl;
	kol("*(*&tablica+2)= ",6),kol(*(*&tablica+2),8),kol(" //przeskok o ",6),kol2(adres2-adres_bazowy,15),kol("  bajtow ",6)<<endl<<endl;;

	adres_bazowy=reinterpret_cast<int>(**(&tablica+0));
	adres2=reinterpret_cast<int>(**(&tablica+2));	
	kol("**(&tablica+0)= ",6),kol(**(&tablica+0),8)<<endl;
	kol("**(&tablica+2)= ",6),kol(**(&tablica+2),8),kol(" //przeskok o ",6),kol2(adres2-adres_bazowy,15),kol("  bajtow ",6)<<endl<<endl<<endl<<endl;
	
	cout<<".........................."<<endl;
	system("pause");
	//////////////////////////////////////////////////////

	kol("(**tablica)+0= ",6),kol2((**tablica)+0,8),kol(" //dodawanie liczb ",6)<<endl;
	kol("(**tablica)+2= ",6),kol2((**tablica)+2,8),kol(" //dodawanie liczb ",6)<<endl<<endl;

	kol("*(*tablica)+0= ",6),kol2(*(*tablica)+0,8),kol(" //dodawanie liczb ",6)<<endl;
	kol("*(*tablica)+2= ",6),kol2(*(*tablica)+2,8),kol(" //dodawanie liczb ",6)<<endl<<endl;

	kol("**(tablica)+0= ",6),kol2(**(tablica)+0,8),kol(" //dodawanie liczb ",6)<<endl;
	kol("**(tablica)+2= ",6),kol2(**(tablica)+2,8),kol(" //dodawanie liczb ",6)<<endl<<endl;

	adres_bazowy=reinterpret_cast<int>(&(**tablica)+0);
	adres2=reinterpret_cast<int>(&(**tablica)+2);	
	kol("&(**tablica)+0= ",6),kol(&(**tablica)+0,8)<<endl;
	kol("&(**tablica)+2= ",6),kol(&(**tablica)+2,8),kol(" //przeskok o ",6),kol2(adres2-adres_bazowy,15),kol("  bajtow ",6)<<endl<<endl;

	adres_bazowy=reinterpret_cast<int>(&*(*tablica)+0);
	adres2=reinterpret_cast<int>(&*(*tablica)+2);	
	kol("&*(*tablica)+0= ",6),kol(&*(*tablica)+0,8)<<endl;
	kol("&*(*tablica)+2= ",6),kol(&*(*tablica)+2,8),kol(" //przeskok o ",6),kol2(adres2-adres_bazowy,15),kol("  bajtow ",6)<<endl<<endl;

	adres_bazowy=reinterpret_cast<int>(&**(tablica)+0);
	adres2=reinterpret_cast<int>(&**(tablica)+2);		
	kol("&**(tablica)+0= ",6),kol(&**(tablica)+0,8)<<endl;
	kol("&**(tablica)+2= ",6),kol(&**(tablica)+2,8),kol(" //przeskok o ",6),kol2(adres2-adres_bazowy,15),kol("  bajtow ",6)<<endl<<endl;
	
	adres_bazowy=reinterpret_cast<int>((&**tablica)+0);
	adres2=reinterpret_cast<int>((&**tablica)+2);		
	kol("(&**tablica)+0= ",6),kol((&**tablica)+0,8)<<endl;
	kol("(&**tablica)+2= ",6),kol((&**tablica)+2,8),kol(" //przeskok o ",6),kol2(adres2-adres_bazowy,15),kol("  bajtow ",6)<<endl<<endl;

	adres_bazowy=reinterpret_cast<int>(*&(*tablica)+0);
	adres2=reinterpret_cast<int>(*&(*tablica)+2);		
	kol("*&(*tablica)+0= ",6),kol(*&(*tablica)+0,8)<<endl;
	kol("*&(*tablica)+2= ",6),kol(*&(*tablica)+2,8),kol(" //przeskok o ",6),kol2(adres2-adres_bazowy,15),kol("  bajtow ",6)<<endl<<endl;

	adres_bazowy=reinterpret_cast<int>(*&*(tablica)+0);
	adres2=reinterpret_cast<int>(*&*(tablica)+2);		
	kol("*&*(tablica)+0= ",6),kol(*&*(tablica)+0,8)<<endl;
	kol("*&*(tablica)+2= ",6),kol(*&*(tablica)+2,8),kol(" //przeskok o ",6),kol2(adres2-adres_bazowy,15),kol("  bajtow ",6)<<endl<<endl;

	adres_bazowy=reinterpret_cast<int>((*&*tablica)+0);
	adres2=reinterpret_cast<int>((*&*tablica)+2);		
	kol("(*&*tablica)+0= ",6),kol((*&*tablica)+0,8)<<endl;
	kol("(*&*tablica)+2= ",6),kol((*&*tablica)+2,8),kol(" //przeskok o ",6),kol2(adres2-adres_bazowy,15),kol("  bajtow ",6)<<endl<<endl;

	adres_bazowy=reinterpret_cast<int>(*(&*tablica)+0);
	adres2=reinterpret_cast<int>((*&*tablica)+2);		
	kol("*(&*tablica)+0= ",6),kol(*(&*tablica)+2,8)<<endl;
	kol("*(&*tablica)+2= ",6),kol(*(&*tablica)+2,8),kol(" //przeskok o ",6),kol2(adres2-adres_bazowy,15),kol("  bajtow ",6)<<endl<<endl;

	adres_bazowy=reinterpret_cast<int>(**&(tablica)+0);
	adres2=reinterpret_cast<int>(**&(tablica)+2);		
	kol("**&(tablica)+0= ",6),kol(**&(tablica)+0,8)<<endl;
	kol("**&(tablica)+2= ",6),kol(**&(tablica)+2,8),kol(" //przeskok o ",6),kol2(adres2-adres_bazowy,15),kol("  bajtow ",6)<<endl<<endl;

	adres_bazowy=reinterpret_cast<int>((**&tablica)+0);
	adres2=reinterpret_cast<int>((**&tablica)+2);		
	kol("(**&tablica)+0= ",6),kol((**&tablica)+0,8)<<endl;
	kol("(**&tablica)+2= ",6),kol((**&tablica)+2,8),kol(" //przeskok o ",6),kol2(adres2-adres_bazowy,15),kol("  bajtow ",6)<<endl<<endl;

	adres_bazowy=reinterpret_cast<int>(*(*&tablica)+0);
	adres2=reinterpret_cast<int>(*(*&tablica)+2);		
	kol("*(*&tablica)+0= ",6),kol(*(*&tablica)+0,8)<<endl;
	kol("*(*&tablica)+2= ",6),kol(*(*&tablica)+2,8),kol(" //przeskok o ",6),kol2(adres2-adres_bazowy,15),kol("  bajtow ",6)<<endl<<endl;

	adres_bazowy=reinterpret_cast<int>(**(&tablica)+0);
	adres2=reinterpret_cast<int>(**&(tablica)+2);		
	kol("**(&tablica)+0= ",6),kol(**(&tablica)+0,8)<<endl;
	kol("**(&tablica)+2= ",6),kol(**(&tablica)+2,8),kol(" //przeskok o ",6),kol2(adres2-adres_bazowy,15),kol("  bajtow ",6)<<endl<<endl;
	
	cout<<".........................."<<endl;
	system("pause");
	//////////////////////////////////////////////////////

	kol("(*(*tablica))+0= ",6),kol2((*(*tablica))+0,8)<<endl;
	kol("(*(*tablica))+2= ",6),kol2((*(*tablica))+2,8),kol(" //dodawanie liczb ",6)<<endl<<endl;

	kol("(*(*tablica))+0= ",6),kol2((*(*tablica))+0,8)<<endl;
	kol("(*(*tablica))+2= ",6),kol2((*(*tablica))+2,8),kol(" //dodawanie liczb ",6)<<endl<<endl;

	kol("(**(tablica))+0= ",6),kol2((**(tablica))+0,8)<<endl;
	kol("(**(tablica))+2= ",6),kol2((**(tablica))+2,8),kol(" //dodawanie liczb ",6)<<endl<<endl;




	adres_bazowy=reinterpret_cast<int>(&(*(*tablica))+0);
	adres2=reinterpret_cast<int>(&(*(*tablica))+2);		
	kol("&(*(*tablica))+0= ",6),kol(&(*(*tablica))+0,8)<<endl;
	kol("&(*(*tablica))+2= ",6),kol(&(*(*tablica))+2,8),kol(" //przeskok o ",6),kol2(adres2-adres_bazowy,15),kol("  bajtow ",6)<<endl<<endl;

	adres_bazowy=reinterpret_cast<int>(&(*(*tablica))+0);
	adres2=reinterpret_cast<int>(&(*(*tablica))+2);		
	kol("&(*(*tablica))+0= ",6),kol(&(*(*tablica))+0,8)<<endl;
	kol("&(*(*tablica))+2= ",6),kol(&(*(*tablica))+2,8),kol(" //przeskok o ",6),kol2(adres2-adres_bazowy,15),kol("  bajtow ",6)<<endl<<endl;

	adres_bazowy=reinterpret_cast<int>(&(**(tablica))+0);
	adres2=reinterpret_cast<int>(&(**(tablica))+2);		
	kol("&(**(tablica))+0= ",6),kol(&(**(tablica))+0,8)<<endl;
	kol("&(**(tablica))+2= ",6),kol(&(**(tablica))+2,8),kol(" //przeskok o ",6),kol2(adres2-adres_bazowy,15),kol("  bajtow ",6)<<endl<<endl;




	adres_bazowy=reinterpret_cast<int>((&*(*tablica))+0);
	adres2=reinterpret_cast<int>((&*(*tablica))+2);		
	kol("(&*(*tablica))+0= ",6),kol((&*(*tablica))+0,8)<<endl;
	kol("(&*(*tablica))+2= ",6),kol((&*(*tablica))+2,8),kol(" //przeskok o ",6),kol2(adres2-adres_bazowy,15),kol("  bajtow ",6)<<endl<<endl;

	adres_bazowy=reinterpret_cast<int>((&*(*tablica))+0);
	adres2=reinterpret_cast<int>((&*(*tablica))+2);		
	kol("(&*(*tablica))+0= ",6),kol((&*(*tablica))+0,8)<<endl;
	kol("(&*(*tablica))+2= ",6),kol((&*(*tablica))+2,8),kol(" //przeskok o ",6),kol2(adres2-adres_bazowy,15),kol("  bajtow ",6)<<endl<<endl;

	adres_bazowy=reinterpret_cast<int>((&**(tablica))+0);
	adres2=reinterpret_cast<int>((&**(tablica))+2);		
	kol("(&**(tablica))+0= ",6),kol((&**(tablica))+0,8)<<endl;
	kol("(&**(tablica))+2= ",6),kol((&**(tablica))+2,8),kol(" //przeskok o ",6),kol2(adres2-adres_bazowy,15),kol("  bajtow ",6)<<endl<<endl;



	adres_bazowy=reinterpret_cast<int>((*&(*tablica))+0);
	adres2=reinterpret_cast<int>((*&(*tablica))+2);		
	kol("(*&(*tablica))+0= ",6),kol((*&(*tablica))+0,8)<<endl;
	kol("(*&(*tablica))+2= ",6),kol((*&(*tablica))+2,8),kol(" //przeskok o ",6),kol2(adres2-adres_bazowy,15),kol("  bajtow ",6)<<endl<<endl;

	adres_bazowy=reinterpret_cast<int>((*&(*tablica))+0);
	adres2=reinterpret_cast<int>((*&(*tablica))+2);		
	kol("(*&(*tablica))+0= ",6),kol((*&(*tablica))+0,8)<<endl;
	kol("(*&(*tablica))+2= ",6),kol((*&(*tablica))+2,8),kol(" //przeskok o ",6),kol2(adres2-adres_bazowy,15),kol("  bajtow ",6)<<endl<<endl;;

	adres_bazowy=reinterpret_cast<int>((*&*(tablica))+0);
	adres2=reinterpret_cast<int>((*&*(tablica))+2);		
	kol("(*&*(tablica))+0= ",6),kol((*&*(tablica))+0,8)<<endl;
	kol("(*&*(tablica))+2= ",6),kol((*&*(tablica))+2,8),kol(" //przeskok o ",6),kol2(adres2-adres_bazowy,15),kol("  bajtow ",6)<<endl<<endl;

	adres_bazowy=reinterpret_cast<int>((*(&*tablica))+0);
	adres2=reinterpret_cast<int>((*(&*tablica))+2);		
	kol("(*(&*tablica))+0= ",6),kol((*(&*tablica))+0,8)<<endl;
	kol("(*(&*tablica))+2= ",6),kol((*(&*tablica))+2,8),kol(" //przeskok o ",6),kol2(adres2-adres_bazowy,15),kol("  bajtow ",6)<<endl<<endl;

	adres_bazowy=reinterpret_cast<int>((*(&*tablica))+0);
	adres2=reinterpret_cast<int>((*(&*tablica))+2);		
	kol("(*(&*tablica))+0= ",6),kol((*(&*tablica))+0,8)<<endl;
	kol("(*(&*tablica))+2= ",6),kol((*(&*tablica))+2,8),kol(" //przeskok o ",6),kol2(adres2-adres_bazowy,15),kol("  bajtow ",6)<<endl<<endl;

	adres_bazowy=reinterpret_cast<int>((*&*(tablica))+0);
	adres2=reinterpret_cast<int>((*&*(tablica))+2);		
	kol("(*&*(tablica))+0= ",6),kol((*&*(tablica))+0,8)<<endl;
	kol("(*&*(tablica))+2= ",6),kol((*&*(tablica))+2,8),kol(" //przeskok o ",6),kol2(adres2-adres_bazowy,15),kol("  bajtow ",6)<<endl<<endl;


	adres_bazowy=reinterpret_cast<int>((*(*&tablica))+0);
	adres2=reinterpret_cast<int>((*(*&tablica))+2);		
	kol("(*(*&tablica))+0= ",6),kol((*(*&tablica))+0,8)<<endl;
	kol("(*(*&tablica))+2= ",6),kol((*(*&tablica))+2,8),kol(" //przeskok o ",6),kol2(adres2-adres_bazowy,15),kol("  bajtow ",6)<<endl<<endl;

	adres_bazowy=reinterpret_cast<int>((*(*&tablica))+0);
	adres2=reinterpret_cast<int>((*(*&tablica))+2);		
	kol("(*(*&tablica))+0= ",6),kol((*(*&tablica))+0,8)<<endl;
	kol("(*(*&tablica))+2= ",6),kol((*(*&tablica))+2,8),kol(" //przeskok o ",6),kol2(adres2-adres_bazowy,15),kol("  bajtow ",6)<<endl<<endl;

	adres_bazowy=reinterpret_cast<int>((**(&tablica))+0);
	adres2=reinterpret_cast<int>((**(&tablica))+2);		
	kol("(**(&tablica))+0= ",6),kol((**(&tablica))+0,8)<<endl;
	kol("(**(&tablica))+2= ",6),kol((**(&tablica))+2,8),kol(" //przeskok o ",6),kol2(adres2-adres_bazowy,15),kol("  bajtow ",6)<<endl<<endl;

	cout<<".........................."<<endl;
	system("pause");
	////////////////////////////////////////////////////////

	kol("(*(*tablica)+0)= ",6),kol2((*(*tablica)+0),8)<<endl;
	kol("(*(*tablica)+2)= ",6),kol2((*(*tablica)+2),8),kol(" //dodawanie liczb ",6)<<endl<<endl;
	
	kol("(*(*tablica)+0)= ",6),kol2((*(*tablica)+0),8)<<endl;
	kol("(*(*tablica)+2)= ",6),kol2((*(*tablica)+2),8),kol(" //dodawanie liczb ",6)<<endl<<endl;
	
	kol("(**(tablica)+0)= ",6),kol2((**(tablica)+0),8)<<endl;
	kol("(**(tablica)+2)= ",6),kol2((**(tablica)+2),8),kol(" //dodawanie liczb ",6)<<endl<<endl;
	

	adres_bazowy=reinterpret_cast<int>((&*(*tablica)+0));
	adres2=reinterpret_cast<int>((&*(*tablica)+2));		
	kol("(&*(*tablica)+0)= ",6),kol((&*(*tablica)+0),8)<<endl;
	kol("(&*(*tablica)+2)= ",6),kol((&*(*tablica)+2),8),kol(" //przeskok o ",6),kol2(adres2-adres_bazowy,15),kol("  bajtow ",6)<<endl<<endl;


	adres_bazowy=reinterpret_cast<int>((&*(*tablica)+0));
	adres2=reinterpret_cast<int>((&*(*tablica)+2));		
	kol("(&*(*tablica)+0)= ",6),kol((&*(*tablica)+0),8)<<endl;
	kol("(&*(*tablica)+2)= ",6),kol((&*(*tablica)+2),8),kol(" //przeskok o ",6),kol2(adres2-adres_bazowy,15),kol("  bajtow ",6)<<endl<<endl;

	adres_bazowy=reinterpret_cast<int>((&**(tablica)+0));
	adres2=reinterpret_cast<int>((&**(tablica)+2));		
	kol("(&**(tablica)+0)= ",6),kol((&**(tablica)+0),8)<<endl;
	kol("(&**(tablica)+2)= ",6),kol((&**(tablica)+2),8),kol(" //przeskok o ",6),kol2(adres2-adres_bazowy,15),kol("  bajtow ",6)<<endl<<endl;



	adres_bazowy=reinterpret_cast<int>((*&(*tablica)+0));
	adres2=reinterpret_cast<int>((*&(*tablica)+2));		
	kol("(*&(*tablica)+0)= ",6),kol((*&(*tablica)+0),8)<<endl;
	kol("(*&(*tablica)+2)= ",6),kol((*&(*tablica)+2),8),kol(" //przeskok o ",6),kol2(adres2-adres_bazowy,15),kol("  bajtow ",6)<<endl<<endl;

	adres_bazowy=reinterpret_cast<int>((*&(*tablica)+0));
	adres2=reinterpret_cast<int>((*&(*tablica)+2));		
	kol("(*&(*tablica)+0)= ",6),kol((*&(*tablica)+0),8)<<endl;
	kol("(*&(*tablica)+2)= ",6),kol((*&(*tablica)+2),8),kol(" //przeskok o ",6),kol2(adres2-adres_bazowy,15),kol("  bajtow ",6)<<endl<<endl;

	adres_bazowy=reinterpret_cast<int>((*&*(tablica)+0));
	adres2=reinterpret_cast<int>((*&*(tablica)+2));		
	kol("(*&*(tablica)+0)= ",6),kol((*&*(tablica)+0),8)<<endl;
	kol("(*&*(tablica)+2)= ",6),kol((*&*(tablica)+2),8),kol(" //przeskok o ",6),kol2(adres2-adres_bazowy,15),kol("  bajtow ",6)<<endl<<endl;


	adres_bazowy=reinterpret_cast<int>((*(&*tablica)+0));
	adres2=reinterpret_cast<int>((*(&*tablica)+2));		
	kol("(*(&*tablica)+0)= ",6),kol((*(&*tablica)+0),8)<<endl;
	kol("(*(&*tablica)+2)= ",6),kol((*(&*tablica)+2),8),kol(" //przeskok o ",6),kol2(adres2-adres_bazowy,15),kol("  bajtow ",6)<<endl<<endl;

	adres_bazowy=reinterpret_cast<int>((*(&*tablica)+0));
	adres2=reinterpret_cast<int>((*(&*tablica)+2));		
	kol("(*(&*tablica)+0)= ",6),kol((*(&*tablica)+0),8)<<endl;
	kol("(*(&*tablica)+2)= ",6),kol((*(&*tablica)+2),8),kol(" //przeskok o ",6),kol2(adres2-adres_bazowy,15),kol("  bajtow ",6)<<endl<<endl;

	adres_bazowy=reinterpret_cast<int>((*&*(tablica)+0));
	adres2=reinterpret_cast<int>((*&*(tablica)+2));		
	kol("(*&*(tablica)+0)= ",6),kol((*&*(tablica)+0),8)<<endl;
	kol("(*&*(tablica)+2)= ",6),kol((*&*(tablica)+2),8),kol(" //przeskok o ",6),kol2(adres2-adres_bazowy,15),kol("  bajtow ",6)<<endl<<endl;


	adres_bazowy=reinterpret_cast<int>((*(*&tablica)+0));
	adres2=reinterpret_cast<int>((*(*&tablica)+2));		
	kol("(*(*&tablica)+0)= ",6),kol((*(*&tablica)+0),8)<<endl;
	kol("(*(*&tablica)+2)= ",6),kol((*(*&tablica)+2),8),kol(" //przeskok o ",6),kol2(adres2-adres_bazowy,15),kol("  bajtow ",6)<<endl<<endl;
		
	adres_bazowy=reinterpret_cast<int>((*(*&tablica)+0));
	adres2=reinterpret_cast<int>((*(*&tablica)+2));		
	kol("(*(*&tablica)+0)= ",6),kol((*(*&tablica)+0),8)<<endl;
	kol("(*(*&tablica)+2)= ",6),kol((*(*&tablica)+2),8),kol(" //przeskok o ",6),kol2(adres2-adres_bazowy,15),kol("  bajtow ",6)<<endl<<endl;

	adres_bazowy=reinterpret_cast<int>((**(&tablica)+0));
	adres2=reinterpret_cast<int>((**(&tablica)+2));		
	kol("(**(&tablica)+0)= ",6),kol((**(&tablica)+0),8)<<endl;
	kol("(**(&tablica)+2)= ",6),kol((**(&tablica)+2),8),kol(" //przeskok o ",6),kol2(adres2-adres_bazowy,15),kol("  bajtow ",6)<<endl<<endl;

	cout<<".........................."<<endl;
	system("pause");
	////////////////////////////////////////////////////////

	kol("(*(*tablica+0))= ",6),kol2(((**tablica+0)),8)<<endl;
	kol("(*(*tablica+2))= ",6),kol2(((**tablica+2)),8),kol(" //dodawanie liczb ",6)<<endl<<endl;

	adres_bazowy=reinterpret_cast<int>(&(*(*tablica+0)));
	adres2=reinterpret_cast<int>(&(*(*tablica+2)));		
	kol("(*(*tablica+0))= ",6),kol2((*(*tablica+0)),8)<<endl;
	kol("(*(*tablica+2))= ",6),kol2((*(*tablica+2)),8),kol(" //przeskok o ",6),kol2(adres2-adres_bazowy,15),kol("  bajtow ",6)<<endl<<endl;

	adres_bazowy=reinterpret_cast<int>(&(**(tablica+0)));
	adres2=reinterpret_cast<int>(&(**(tablica+2)));		
	kol("(**(tablica+0))= ",6),kol2((**(tablica+0)),8)<<endl;
	kol("(**(tablica+2))= ",6),kol2((**(tablica+2)),8),kol(" //przeskok o ",6),kol2(adres2-adres_bazowy,15),kol("  bajtow ",6)<<endl<<endl;


	adres_bazowy=reinterpret_cast<int>(&(*(*tablica+0)));
	adres2=reinterpret_cast<int>(&(*(*tablica+2)));		
	kol("&(*(*tablica+0))= ",6),kol(&(*(*tablica+0)),8)<<endl;
	kol("&(*(*tablica+2))= ",6),kol(&(*(*tablica+2)),8),kol(" //przeskok o ",6),kol2(adres2-adres_bazowy,15),kol("  bajtow ",6)<<endl<<endl;

	adres_bazowy=reinterpret_cast<int>(&(*(*tablica+0)));
	adres2=reinterpret_cast<int>(&(*(*tablica+2)));		
	kol("&(*(*tablica+0))= ",6),kol(&(*(*tablica+0)),8)<<endl;
	kol("&(*(*tablica+2))= ",6),kol(&(*(*tablica+2)),8),kol(" //przeskok o ",6),kol2(adres2-adres_bazowy,15),kol("  bajtow ",6)<<endl<<endl;

	adres_bazowy=reinterpret_cast<int>(&(**(tablica+0)));
	adres2=reinterpret_cast<int>(&(**(tablica+2)));		
	kol("&(**(tablica+0))= ",6),kol(&(**(tablica+0)),8)<<endl;
	kol("&(**(tablica+2))= ",6),kol(&(**(tablica+2)),8),kol(" //przeskok o ",6),kol2(adres2-adres_bazowy,15),kol("  bajtow ",6)<<endl<<endl;

	adres_bazowy=reinterpret_cast<int>((&*(*tablica+0)));
	adres2=reinterpret_cast<int>((&*(*tablica+2)));		
	kol("(&*(*tablica+0))= ",6),kol((&*(*tablica+0)),8)<<endl;
	kol("(&*(*tablica+2))= ",6),kol((&*(*tablica+2)),8),kol(" //przeskok o ",6),kol2(adres2-adres_bazowy,15),kol("  bajtow ",6)<<endl<<endl;

	adres_bazowy=reinterpret_cast<int>((&*(*tablica+2)));
	adres2=reinterpret_cast<int>((&*(*tablica+2)));		
	kol("(&*(*tablica+2))= ",6),kol((&*(*tablica+2)),8)<<endl;
	kol("(&*(*tablica+2))= ",6),kol((&*(*tablica+2)),8),kol(" //przeskok o ",6),kol2(adres2-adres_bazowy,15),kol("  bajtow ",6)<<endl<<endl;

	adres_bazowy=reinterpret_cast<int>((&**(tablica+0)));
	adres2=reinterpret_cast<int>((&**(tablica+2)));		
	kol("(&**(tablica+0))= ",6),kol((&**(tablica+0)),8)<<endl;
	kol("(&**(tablica+2))= ",6),kol((&**(tablica+2)),8),kol(" //przeskok o ",6),kol2(adres2-adres_bazowy,15),kol("  bajtow ",6)<<endl<<endl;

	adres_bazowy=reinterpret_cast<int>((*&*(tablica+0)));
	adres2=reinterpret_cast<int>((*&*(tablica+2)));		
	kol("(*&*(tablica+0))= ",6),kol((*&*(tablica+0)),8)<<endl;
	kol("(*&*(tablica+2))= ",6),kol((*&*(tablica+2)),8),kol(" //przeskok o ",6),kol2(adres2-adres_bazowy,15),kol("  bajtow ",6)<<endl<<endl;

	adres_bazowy=reinterpret_cast<int>((*(&*tablica+0)));
	adres2=reinterpret_cast<int>((*(&*tablica+2)));		
	kol("(*(&*tablica+0))= ",6),kol((*(&*tablica+0)),8)<<endl;
	kol("(*(&*tablica+2))= ",6),kol((*(&*tablica+2)),8),kol(" //przeskok o ",6),kol2(adres2-adres_bazowy,15),kol("  bajtow ",6)<<endl<<endl;

	adres_bazowy=reinterpret_cast<int>((*(&*tablica+0)));
	adres2=reinterpret_cast<int>((*(&*tablica+2)));		
	kol("(*(&*tablica+0))= ",6),kol((*(&*tablica+0)),8)<<endl;
	kol("(*(&*tablica+2))= ",6),kol((*(&*tablica+2)),8),kol(" //przeskok o ",6),kol2(adres2-adres_bazowy,15),kol("  bajtow ",6)<<endl<<endl;

	adres_bazowy=reinterpret_cast<int>((*&*(tablica+0)));
	adres2=reinterpret_cast<int>((*&*(tablica+2)));		
	kol("(*&*(tablica+0))= ",6),kol((*&*(tablica+0)),8)<<endl;
	kol("(*&*(tablica+2))= ",6),kol((*&*(tablica+2)),8),kol(" //przeskok o ",6),kol2(adres2-adres_bazowy,15),kol("  bajtow ",6)<<endl<<endl;

	adres_bazowy=reinterpret_cast<int>((*(*&tablica+0)));
	adres2=reinterpret_cast<int>((*(*&tablica+2)));		
	kol("(*(*&tablica+0))= ",6),kol((*(*&tablica+0)),8)<<endl;
	kol("(*(*&tablica+2))= ",6),kol((*(*&tablica+2)),8),kol(" //przeskok o ",6),kol2(adres2-adres_bazowy,15),kol("  bajtow ",6)<<endl<<endl;

	adres_bazowy=reinterpret_cast<int>((*(*&tablica+0)));
	adres2=reinterpret_cast<int>((*(*&tablica+2)));		
	kol("(*(*&tablica+0))= ",6),kol((*(*&tablica+0)),8)<<endl;
	kol("(*(*&tablica+2))= ",6),kol((*(*&tablica+2)),8),kol(" //przeskok o ",6),kol2(adres2-adres_bazowy,15),kol("  bajtow ",6)<<endl<<endl;

	adres_bazowy=reinterpret_cast<int>((**(&tablica+0)));
	adres2=reinterpret_cast<int>((**(&tablica+2)));		
	kol("(**(&tablica+0))= ",6),kol((**(&tablica+0)),8)<<endl;
	kol("(**(&tablica+2))= ",6),kol((**(&tablica+2)),8),kol(" //przeskok o ",6),kol2(adres2-adres_bazowy,15),kol("  bajtow ",6)<<endl<<endl;
		
	cout<<".......koniec............."<<endl;
	system("pause");
	return 0;
}// koniec tmain

////////////////////////////////
////////////////////////////////
void gotoxy(int x, int y)
{
  COORD c;
  c.X = x - 1;
  c.Y = y - 1;
  SetConsoleCursorPosition (GetStdHandle(STD_OUTPUT_HANDLE), c);
}
////////////////////////////////
std::ostream& (__cdecl kol)(void* str,int i)
{
	HANDLE  hConsole;
	hConsole = GetStdHandle(STD_OUTPUT_HANDLE);
	SetConsoleTextAttribute(hConsole, i);
	return  cout<<str;
}
////////////////////////////////
std::ostream& (__cdecl kol)(int str,int i)
{
	HANDLE  hConsole;
	hConsole = GetStdHandle(STD_OUTPUT_HANDLE);
	SetConsoleTextAttribute(hConsole, i);
	return cout<<str;
}
////////////////////////////////
std::ostream& (__cdecl kol2)(double str,int i)
{
	HANDLE  hConsole;
	hConsole = GetStdHandle(STD_OUTPUT_HANDLE);
	SetConsoleTextAttribute(hConsole, i);
	return cout<<str;
}
////////////////////////////////
std::ostream& (__cdecl kol)(char* str,int i)
{
	HANDLE  hConsole;
	hConsole = GetStdHandle(STD_OUTPUT_HANDLE);
	SetConsoleTextAttribute(hConsole, i);
	return cout<<str;
}
////////////////////////////////
 
using namespace std;

void funkcjia_1(float &tablica2);
void funkcjia_2(float *tablica3);

int _tmain(int argc, _TCHAR* argv[])
{

	float tablica[20][4]={0};
	for(int i=0;i<20;i++){for(int j=0;j<4;j++){tablica[i][j]=i*i*i*1.53/(j+3.0f)+j*j;}}
	for(int i=0;i<20;i++){for(int j=0;j<4;j++){cout.precision(4),cout.width(5),cout<<"w main(): i= "<<i<<" tablica[0][i]= "<<tablica[i][j]<<" &tablica[0][i] "<<&tablica[i][j]<<" "<<endl;}}
	system("pause");
	int i=0,k=0,n=0;
			
	funkcjia_1(tablica[i][k]);
	//lub:  funkcjia_1((*(tablica[i]+k)));
	//lub:  funkcjia_1((*(*(tablica+i)+k)));
	//lub:  funkcjia_1((*(*tablica+n*i+k)));
	system("pause");	
	//funkcjia_2(&tablica[i][k]);
	//lub:  funkcjia_2((tablica[i]+k));
	//lub:  funkcjia_2((*(tablica+i)+k));
	//lub:  funkcjia_2(*tablica+n*i+k);
		
	for(int i=0;i<20;i++){for(int j=0;j<4;j++){cout.precision(4),cout.width(5),cout<<"w main(): i= "<<i<<" tablica[0][i]= "<<tablica[i][j]<<" &tablica[0][i] "<<&tablica[i][j]<<" "<<endl;}}
	system("pause");
	return 0;
}// koniec tmain

////////////////////////////////
void funkcjia_1(float &tablica2)
{
	for(int i=0;i<20;i++)//tablica 2 wymiarowa:
	{	
		for(int j=0;j<4;j++)//tablica 2 wymiarowa:
		{
			cout<<"w funkcj_1:["<<i<<"] tablica2= "<<*(&tablica2+i*4+j)<<" &tablica2= "<<&tablica2+i*4+j<<endl;
			//cout<<sizeof(&tablica2)<<" "<<sizeof(tablica2)<<endl;	
			*(&tablica2+i*4+j)=-1000;
			cout<<"w funkcji_1:["<<i<<"] tablica2= "<<*(&tablica2+i*4+j)<<" &tablica2= "<<&tablica2+i*4+j<<endl;
		}
	}
	system("pause");
}
////////////////////////////////
void funkcjia_2(float *tablica3)
{
	for(int i=0;i<20;i++)//tablica 2 wymiarowa:
	{
		for(int j=0;j<4;j++)//tablica 2 wymiarowa:
		{
			cout<<"w funkcj_2:["<<i<<"] *(tablica3+i*4+j)= "<<*(tablica3+i*4+j)<<" tablica3+i*4+j= "<<tablica3+i*4+j<<" &tablica3+i*4+j= "<<&tablica3+i*4+j<<endl;
			//cout<<sizeof(*tablica3)<<" "<<sizeof(tablica3)<<" "<<sizeof(&tablica3)<<endl;	
			*(tablica3+i*4+j)=-4000.0f;			
			cout<<"w funkcj_2:["<<i<<"] *(tablica3+i*4+j)= "<<*(tablica3+i*4+j)<<" tablica3+i*4+j= "<<tablica3+i*4+j<<" &tablica3+i*4+j= "<<&tablica3+i*4+j<<endl;
		}
	}
	system("pause");
}
////////////////////////////////

 

1 użytkowników online, w tym zalogowanych: 0, gości: 1