All pastes #2101998 Raw Edit

Mine

public text v1 · immutable
#2101998 ·published 2012-01-10 21:53 UTC
rendered paste body
#include <stdio.h>
#include <stdlib.h>
#include <string.h>

#define maxStup 100
#define maxRed 100
#define maxNiz 10

void printMatrix(int* mat, int brRed, int brStup, int defStup){
int i, j;
printf("Ovako izgleda matrica: \n");
for(i = 0; i < brRed;i ++){
    for(j = 0; j < brStup; j++)
        printf("%d ", mat[i*defStup + j]);
    printf("\n");
    }
}

void readCharArray(char* t, int maxLength){
do gets(t);
while (strlen(t) < 1 || strlen(t) > maxLength);
}

void printMatrixNew(char* mat, int brRed, int brStup, int defStup){
int i, j; 
printf("Ovako izgleda znakovna matrica \n");
for(i = 0; i < brRed; i++){
    for(j = 0; j < brStup; j++){
        putchar(mat[i*defStup + j]);
        printf(" "); 
        }
    printf("\n");
    }
}

void readMatrix(int* mat, int brRed, int brStup, int defStup, int maxElement){
int i, j, element;
for(i = 0; i < brRed; i++)
    for(j = 0; j < brStup;j ++){
        printf("M(%d,%d)=",i,j);
        scanf("%d", &element);
        mat[i*defStup + j]=element;
        if (element > maxElement || element < 0) j--;
        }
}

void newMatrix(char* newMatrix, int* oldMatrix, int brRed, int brStup, int defStup, char p[]){
int i, j;
for(i = 0; i < brRed; i++)
    for(j = 0; j < brStup; j++)
        *(newMatrix+i*defStup+j)=p[*(oldMatrix+i*defStup+j)];
}

int main(){
	int mat[maxRed][maxStup]; 
	int brRed, brStup;
	char p[maxNiz+1];
	char matNova[maxRed][maxStup];
	
printf("Unesite znakovni niz: ");
readCharArray(p, maxNiz);	

do{
	printf("Upisite broj redaka matrice iz intervala [1,%d]\n", maxRed);
	scanf("%d", &brRed);
}
	while (brRed < 1 || brRed > maxRed);

do{
	printf("Upisite broj stupaca matrice iz intervala [1,%d]\n", maxRed);
	scanf("%d", &brStup);
}
	while (brStup < 1 || brStup > maxStup);

readMatrix(&mat[0][0], brRed, brStup, maxStup, strlen(p)-1);
printMatrix(&mat[0][0], brRed, brStup, maxStup);
newMatrix(&matNova[0][0], &mat[0][0], brRed, brStup, maxStup, p);
printMatrixNew(&matNova[0][0], brRed, brStup, maxStup);

    system("pause");
    return 0;
}