Ir ao conteúdo

Posts recomendados

Postado

Alguém pode me ajudar com os erros de lógica desse código?




#include <stdio.h>
#include <stdlib.h>

int main (){
	int m[3][6];
	int i, j;
	int op =999, soma=0;
	int cont=0, media=0;

		while (op != 6){
			printf ("\n1 - Carregar a matriz");
			printf ("\n2 - Imprimir a soma de todos os elementos das colunas ímpares");
			printf ("\n3 - Imprimir a média aritmética dos elementos da segunda e quarta coluna");
			printf ("\n4 - Substituir os valores da sexta coluna pela soma dos valores das colunas 1 e 2");
			printf ("\n5 - Imprimir a matriz modificada");
			printf ("\n6 - Sair");
			printf ("\nQual a sua opcao?");
			scanf ("%d", &op);
			
			switch (op){
				case 1: for (i=0;i<3;i++){
											for (j=0;j<6;j++){
							printf ("\nInsira o elemento [%d][%d]: ", i, j);
							scanf ("%d", &m[i][j]);
							
		}
	}
	break;
				case 2: for (i=0;i<3;i++){
											for (j=0;j<6;j=j+2){
							soma = soma + m[i][j];
							break;
		
			}
			
			
		}
		printf ("\nTotal da soma = %d", soma);
		
				case 3: for (i=0;i<3;i++){
											for (j=2;j<4;j=j+2){
							soma = soma + m[i][j];
							cont++;
}
}

	media = soma/cont;
	printf ("\nMedia = %d", media);
	break;
			case 4: for (i=0;i<3;i++){
											for (j=0;j<1;j=j++){
							soma = soma + m[i][j];
							soma = m[i][6];
							soma = 0;
	
}

}
break;
		case 5: for (i=0;i<3;i++){
					for (j=0;j<6;j++){
						printf ("[%d][%d]: %d", i, j, m[i][j]);
		
			
					}
		printf ("\n");
		}
		break;
	}
}
getchar ();
getchar ();
return 0;
}

 

  • Obrigado 1
Postado

@Gabbie1      seu código está bom , alguns comandos colocados fora do lugar ,  e seu código poderia ser assim  :

#include <stdio.h>
#include <conio.h>
#include <time.h>
#include <stdlib.h>
#include <locale.h>
#define pausa printf("\n    Tecle !");while( ! kbhit());
int main(){
    system("color ec");
    srand(time(NULL));
    int m[3][6];
    int i,j;
    int op,soma=0;
    int cont=0,media=0;
	while(op != 6){
        printf("1 - Carregar a matriz\n");
        printf("2 - Imprimir a soma de todos os elementos das colunas ímpares\n");
        printf("3 - Imprimir a média aritmética dos elementos da segunda e quarta coluna\n");
        printf("4 - Substituir os valores da sexta coluna pela soma\n    dos valores das colunas 1 e 2\n");
        printf("5 - Imprimir a matriz modificada\n");
        printf("6 - Sair\n");
        printf("    Qual a sua opcao ? ");
        scanf ("%d",&op);
        switch(op){
        case 1:
            for(i=0;i<3;i++){
                for(j=0;j<6;j++){
                    printf("Insira o elemento [%d][%d]: ",i,j);
                    scanf ("%d",&m[i][j]);
                }
                printf("\n");
            }
            printf("\n\n");
            break;
        case 2:
            for(i=0;i<3;i++){
                for(j=0;j<6;j++){
                    if( j % 2 !=0 ){ /* calcular só as colunas ímpares */
                        soma += m[i][j];
                    }
                }
            }
            printf("\nTotal da soma = %d\n\n",soma);
            break;                   /* esse break estava fora do lugar */
        case 3:
            for(i=0;i<3;i++){
                for(j=1;j<3;j+=2){   /* a segunda coluna é a 1 e a quaeta é a 3 , pois começa de zero */
                    soma += m[i][j];
                    cont++;
                }
            }
            media = soma/cont;       /* aqui cont sempre terá valor de 3 x 2 = 6 */
            printf("\nMedia Aritmetica = %d\n\n", media);
            break;
        case 4:
            for(i=0;i<3;i++){        /* são as três linhas e as colunas 1 e 2 */
                for(j=0;j<2;j++){    /* colocou poucas colunas e um j sobrando */
                    if(j==0){
                        m[i][5]=0;   /* zera o valor nessa posição */
                    }
                    m[i][5] += m[i][j];
                }
            }
            printf("\n");
            break;
        case 5:
            for(i=0;i<3;i++){
                for(j=0;j<6;j++){
                    printf("[%d][%d]: %2d | ",i,j,m[i][j]);
                }
                printf("\n");
            }
            printf("\n\n");
            break;
        }
    }
    pausa;
    return 0;
}

 

Crie uma conta ou entre para comentar

Você precisa ser um usuário para fazer um comentário

Criar uma conta

Crie uma nova conta em nossa comunidade. É fácil!

Crie uma nova conta

Entrar

Já tem uma conta? Faça o login.

Entrar agora

Sobre o Clube do Hardware

No ar desde 1996, o Clube do Hardware é uma das maiores, mais antigas e mais respeitadas comunidades sobre tecnologia do Brasil. Leia mais

Direitos autorais

Não permitimos a cópia ou reprodução do conteúdo do nosso site, fórum, newsletters e redes sociais, mesmo citando-se a fonte. Leia mais

×
×
  • Criar novo...