Pagini recente » Cod sursa (job #329729) | Cod sursa (job #2327482) | Cod sursa (job #1043132) | Cod sursa (job #2717898) | Cod sursa (job #231146)
Cod sursa(job #231146)
# include <iostream>
# include <fstream>
using namespace std;
struct matrice
{
int n;
int** matr;
matrice();
matrice(int n);
void print(ofstream out);
};
matrice::matrice()
{
n=0;
matr=NULL;
}
matrice::matrice(int n)
{
if(n<0) return;
matr=new int* [n];
for(int i=0; i<n; i++)
matr[i]=new int[n];
this->n=n;
}
void citeste(const char* filename, int &n, int &k)
{
ifstream in(filename);
in>>n>>k;
in.close();
}
matrice ciocolataaa(int n, int k)
{
matrice m(n);
bool *bagat=new bool[n*n];
for(int i=0; i<n*n; i++) bagat[i]=false;
for(int i=0; i<n; i++)
{
int i_bagat=0;
while(bagat[i_bagat]) i_bagat++;
for(int j=0; j<n; j++)
{
if(j==k-1)
{
while (((i_bagat+1)%2!=0)||(bagat[i_bagat])) i_bagat++;
m.matr[i][j]=i_bagat+1;
bagat[i_bagat]=true;
}
else
{
while(bagat[i_bagat]) i_bagat++;
m.matr[i][j]=i_bagat+1;
bagat[i_bagat]=true;
}
}
}
return m;
}
int main()
{
int n,k;
citeste("tablete.in", n, k);
if(n<2||k<2) return 0;
if(k>n) return 0;
matrice m=ciocolataaa(n, k);
ofstream out("tablete.out");
for(int i=0; i<n; i++)
{
for(int j=0; j<n; j++)
out<<m.matr[i][j]<<' ';
out<<'\n';
}
out.close();
return 0;
}