
ERRO
By: a guest on
May 8th, 2012 | syntax:
None | size: 1.69 KB | hits: 16 | expires: Never
/*Nome: Matheus Henrique Toneti
* RA: 138888
* Entrada: AS DIMENSÕES DA MATRIZ ( ALTURA E LARGURA)
* Saída: A MATRIZ REDUZIDA
* Descrição: O OBJETIVO DO PROGRAMA É RECEBER UMA MATRIZ COM POSSÍVEIS NÚMEROS NULOS (0) E IMPRIMIR SOMENTE A MATRIZ REDUZIDA, OU SEJA, COM OS NÚMEROS NÃO NULOS E SEUS RESPECTIVOS ENDEREÇOS. O RESTO DA MATRIZ( SE HOUVER ) É ZERO.
*/
#include <stdio.h>
void read_input(int* matrix , int *h, int *w) /*FUNÇÃO PARA LER A MATRIZ*/
{
int i,j;
scanf("%d%d", &h, &w);
for(i=0;i<h;i++){
for(j=0;j<w;j++){
scanf("%d", &*(matrix (h*i)+j));}
}
return;
}
void reduce(int *matrix, int h, int w, int *red, int *k) /*FUNÇÃO PARA EFETUAR AS REDUÇÕES NA MATRIZ*/
{
int i,j;
for(i=0;i<h;i++){
for(j=0;j<w;j++){
if(*(matrix (h*i)+j)=!0)
k++;
}
}
for(i=0;i<h;i++){
for(j=0;j<w;j++){
if(*(matrix (h*i)+j)=!0){
*(red k*i+j) = *(matrix (h*i)+j);
}
}
}
return;
}
void print_red(int *red, int k)/*FUNÇÃO PARA IMPRIMIR A MATRIZ REDUZIDA*/
{
int i,j;
for(i=0;i<h;i++){
for(j=0;j<w;j++){
if(*(red k*i+j)!=0)
{printf("%d%d%d",*(red (k*i)+j), i,j);
printf("\n");}
}
}
return;
}