rendered paste body#include <cstdlib>
#include <iostream>
#include "header.h"
int size = 0;
using namespace std;
float** make(int size){
try {
float **tablica;
tablica = new float* [size];
for (int i=0; i<size; i++)
tablica[i] = new float[size];
return tablica;
}
catch (bad_alloc)
{
cout<<"Podana liczba jest zbyt duza - nie można zarezerwowac tyle pamieci"<<endl<<"Podaj mniejsza liczbe"<<endl;
cin>>size;
make(size);
}
}
float zapisz(float x, float ** tab, int size){
for (int i=0; i<size; i++){
for(int j=0; j<size; j++)
{
tab[i][j] = x;
}
}
}
void wypisz(float **tab, int size)
{
for (int i=0; i<size; i++){
for(int j=0; j<size; j++)
cout<<tab[i][j]<<"\t";
cout<<endl;}
}
void kasuj(float **tab, int size)
{
for (int i=0; i<size; i++)
delete tab[i];
delete [] tab;
}
void koloruj1(float **tab, float x, int size)
{
for(int i=0; i<size; i++)
tab[i][i]=x;
}
void koloruj2(float **tab, float x, int size)
{
for(int i=0; i<size; i++){
tab[size/2][i]=x;
tab[i][size/2]=x;
}
}
void koloruj3(float **tab, float x, int size)
{
int i;
for(i=0; i<size/2; i++){
tab[2*i][i]=x;
}
for(i=size/2; i<size; i++){
tab[2*(size-i-1)][i]=x;
}
}
int main(int argc, char *argv[])
{
while (size < 3)
{
cout << "Podaj rozmiar tablicy: ";
cin >> size;
if (cin.fail() == true)
{
cout << "Podaj liczbe!\n";
cin.clear();
cin.ignore();
}
else
{
if (size < 3)
{
cout<<"Podana liczba nie ma sensu !! Spróbuj jeszcze raz."<<endl;
}
}
}
float **tab_temp = make(size);
//============ Pytanie o główna licze
cout<<"Podaj liczbe do wypelnienia: "<<endl;
float x;
cin>>x;
zapisz(x, tab_temp, size);
system("cls");
cout<<"Zawartosc tablicy"<<endl;
wypisz(tab_temp, size);
cout<<"Podaj extra liczbe"<<endl;
float d;
cin>>d;
koloruj1(tab_temp, d, size);
system("cls");
cout<<"Zawartosc tablicy"<<endl;
wypisz(tab_temp, size);
cout<<"Podaj extra liczbe"<<endl;
float a;
cin>>a;
koloruj2(tab_temp, a, size);
system("cls");
cout<<"Zawartosc tablicy"<<endl;
wypisz(tab_temp, size);
cout<<"Podaj extra liczbe"<<endl;
float g;
cin>>g;
koloruj3(tab_temp, g, size);
system("cls");
cout<<"Zawartosc tablicy"<<endl;
wypisz(tab_temp, size);
char t;
cin>>t;
return EXIT_SUCCESS;
}