Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #include <stdio.h>
- #include <stdbool.h>
- #include <stdlib.h>
- #include <time.h>
- #include <string.h>
- #include <math.h>
- void initMatrix();
- void newNumber(int*);
- void cloneMat(void*,void*);
- void printMat();
- char *ctrAlign(int, char, char*);
- bool isFree(int, int, int*);
- char *my_itoa(int);
- int matrix[4][4];
- void initMatrix(){
- int x,y;
- for (x=0; x<4; x++){
- for(y=0; y<4; y++){
- matrix[x][y] = 0;
- }
- }
- }
- char *my_itoa(int i){
- char *a;
- sprintf(a, "%d", i);
- return a;
- }
- void newNumber(int * mat){
- int x, y, n;
- do {
- srand(time(NULL));
- x = rand() % 4;
- srand(time(NULL));
- y = rand() % 4;
- } while (!isFree(x, y, mat));
- srand(time(NULL));
- n = rand() % 10;
- mat[x][y] = n<8? 2: 4;
- }
- void cloneMat (void * desMat, void * srcMat){
- memcpy(desMat, srcMat, sizeof(srcMat));
- }
- bool isFree(int x, int y, int * mat){
- if(mat[x][y]){
- return true;
- }
- return false;
- }
- char *ctrAlign(int space, char spacer, char *text ){
- int i,l, s;
- char * string;
- string = malloc((space+1)*sizeof(char));
- for (i=0; i<space; i++){
- string[i] = spacer;
- }
- string[i]='\0';
- l = strlen(text);
- i=0;
- for (s=floor(space/2-l/2); i<l; s++){
- string[s] = text[i];
- i++;
- }
- return string;
- }
- void printMat(){
- int x,y;
- for(x=0;x<4;x++){
- printf("+-----+-----+-----+-----+\n");
- printf("| | | | |\n");
- printf("| | | | |\n");
- for(y=0;y<4;y++){
- printf("|%s", ctrAlign(5, ' ', my_itoa(matrix[x][y])));
- }
- printf("|\n");
- printf("| | | | |\n");
- printf("| | | | |\n");
- }
- printf("+-----+-----+-----+-----+\n");
- }
- int main(int argc, char *argv[]) {
- initMatrix();
- newNumber(matrix);
- system("clear");
- printMat();
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement