All pastes #453621 Raw Edit

Something

public c v1 · immutable
·published 2007-04-23 02:43 UTC
rendered paste body
/* Autor: RONAN Alves da Paixão - 1° Ten - 2°ano CG 2007 * Ler uma matriz 3x4 de inteiros * imprimir -posição e valor do maior valor lido *          -posição e valor do menor valor lido *          -média dos valores lidos e *          -a transposta *  *  o) fazer uma funcao para os 3 primeiros e outra para o 4o item * */#include <stdio.h>#include <conio.h> /*  Biblioteca para kbhit() */void scan_matriz(int* matriz, int x, int y){	// Solicita o preenchimento da matriz pelo usuário	int i, j;	for (i = 0; i < y; i++)	{		for (j = 0; j < x; j++)		{			printf("Insira o valor [%i][%i]", i+1, j+1);			scanf("%i", &matriz[i*x + j]);		}	}}void print_matriz(int *matriz, int x, int y){	// Imprime uma matriz formatada	printf("Matriz[%i][%i]:\n", x, y);	int i, j;	for (i = 0; i < y; i++)	{		printf("[");		for (j = 0; j < x; j++)		{			printf(" %3i ", matriz[i*x + j]);		}		printf("]\n");	}}void calculo(int *matriz, int x, int y){	// Calcula o maior e menor numeros (com posições) e a media	int i, j;	int posMaior[2], posMenor[2], maior, menor, soma = 0;	posMaior[0] = posMaior[1] = posMenor[0] = posMenor[1] = 1;	maior = menor = matriz[0];	for (i = 0; i < y; i++)	{		for (j = 0; j < x; j++)		{			if (matriz[i*x + j]>maior){				posMaior[0] = i+1; posMaior[1] = j+1;				maior = matriz[i*x + j];			}			if (matriz[i*x + j]<menor){				posMenor[0] = i+1; posMenor[1] = j+1;				menor = matriz[i*x + j];			}			soma += matriz[i*x + j];		}	}	printf("Maior: %i em %ix%i\n", maior, posMaior[0], posMaior[1]);	printf("Menor: %i em %ix%i\n", menor, posMenor[0], posMenor[1]);	printf("Media: %f\n", (float)soma/(x*y));}void transposta(int *matriz, int *matrizt, int x, int y){	int i, j;	for (i = 0; i < x; i++)	{		for (j = 0; j < y; j++)		{			matrizt[i*y+j]=matriz[j*x+i];		}			}	}int main(void){	int y = 3; // tamanho vertical	int x = 4; // tamanho horizontal	int matriz[x*y];	scan_matriz(matriz, x, y);	print_matriz(matriz, x, y);	calculo(matriz, x, y);	int matrizt[y*x];	transposta(matriz, matrizt, x, y);	print_matriz(matrizt, y, x);	calculo(matrizt, y, x);i	while(!kbhit()); /* Gera uma pausa ate que o usuario pressione qualquer tecla.*/	return 0;}