Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #include <stdio.h>
- #define MAX 100
- #define OPCAO_OBTER_MENOR 1
- #define OPCAO_OBTER_MAIOR 2
- #define OPCAO_OBTER_SOMA 3
- #define OPCAO_NOVA_MATRIZ 4
- #define OPCAO_SAIR 5
- int menor = 10000, maior = 0 ;
- int vetor[2500];
- int m, n;
- int matriz[MAX][MAX];
- int obter_menor(int i);
- int obter_maior(int i);
- int obter_soma(int i);
- void gambiarra();
- int main() {
- int i, j, opcao, nova_matriz;
- while (scanf("%d %d", &m, &n) > 0 && m > 0 && n > 0) {
- for (i = 0; i < n; ++i) {
- for (j = 0; j < m; ++j)
- scanf("%d", &matriz[i][j]);
- }
- nova_matriz = 0;
- while (!nova_matriz && scanf("%d", &opcao) > 0) {
- switch(opcao) {
- case OPCAO_OBTER_MENOR:
- printf("%d\n", obter_menor(0));
- break;
- case OPCAO_OBTER_MAIOR:
- printf("%d\n", obter_maior(0));
- break;
- case OPCAO_OBTER_SOMA:
- printf("%d\n", obter_soma(0));
- break;
- case OPCAO_NOVA_MATRIZ:
- nova_matriz = 1;
- gambiarra();
- maior = vetor[0];
- menor = vetor[0];
- break;
- case OPCAO_SAIR:
- return 0;
- }
- }
- }
- return (0);
- }
- int obter_menor(int i) {
- if(i==0)
- gambiarra();
- if(i == (m*n)-1){
- return menor;
- }
- else if(vetor[i] < menor){
- menor = vetor[i];
- return obter_menor(i+1);
- }
- else
- return obter_menor(i+1);
- return 0;
- }
- int obter_maior(int i) {
- if(i==0)
- gambiarra();
- if(i == (m*n)){
- return maior;
- }
- else if(vetor[i] > maior){
- maior = vetor[i];
- return obter_maior(i+1);
- }
- else
- return obter_maior(i+1);
- }
- int obter_soma(int i) {
- if(i==0)
- gambiarra();
- if(i == (m*n)-1){
- return vetor[i];
- }
- else
- return obter_soma(i+1) + vetor[i];
- }
- void gambiarra(){
- int i, j, aux = 0;
- for(i=0;i<m;i++)
- for(j=0;j<n;j++, aux++)
- vetor[aux] = matriz[i][j];
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement