Ir ao conteúdo
  • Cadastre-se

Helio Junnior Sartor Dalmolin

Membro Pleno
  • Posts

    20
  • Cadastrado em

  • Última visita

posts postados por Helio Junnior Sartor Dalmolin

  1. @devair1010

    Tentei fazer da maneira como você explicou, porém não consegui.

    poderia me dizer o que eu fiz de errado? 

    #include<stdio.h>
    #include<conio.h>
    int main (void ){
    	int m1[3][3], m2[3][3],m3[3][3]={0}, i,j,k;
    
    	printf ("\nDigite valor para os elementos da matriz 1\n\n");
      
    	for ( i=0; i<3; i++ ){
        	for ( j=0; j<3; j++ ){
          	printf ("\nElemento[%d][%d] = ", i, j);
          	scanf ("%d", & m1[ i ][ j ]);
         	}
      	}
      		printf("matriz 1:\n");
    	for(i=0;i<3; i++){
    		printf("| ");
    		for(j=0;j<3;j++){
    			printf(" %d ", m1[ i ][ j ]);
    		}
    		printf(" |\n");
    	}
    	printf ("\nDigite valor para os elementos da matriz 2\n\n");		 	
       	for ( i=0; i<3; i++ ){
        	for ( j=0; j<3; j++ ){
          	printf ("\nElemento[%d][%d] = ", i, j);
          	scanf ("%d", & m2[ i ][ j ]);
            }
        }
    	printf("matriz 2:\n");
    	for(i=0;i<3; i++){
    		printf("| ");
    		for(j=0;j<3;j++){
    			printf(" %d ", m2[ i ][ j ]);
    		}
    		printf(" |\n");
    	}
    		
    	if( m1[ i ][ j ]>m2[ i ][ j ]){
    		for(i=0;i<3; i++){
    			for(j=0;j<3;j++){
    				for(k=0;k<3;k++){
    					m3[i][j]+=m1[i][k];
    				}
    			}
    		}
    	}
    	if(m2[ i ][ j ]> m1[ i ][ j ]){
    		for(i=0;i<3; i++){
    			for(j=0;j<3;j++){
    				for(k=0;k<3;k++){
    					m3[i][j]+=m2[k][j];
    				}
    			}
    		}
    	}
    		
    		printf("matriz 3:\n");
    	for(i=0;i<3; i++){
    		printf("| ");
    		for(j=0;j<3;j++){
    			printf(" %d ", m3[ i ][ j ]);
    		}
    		printf(" |\n");
    	}
    
    }

     

    • Obrigado 1
  2. Escrever um programa que leia duas matrizes 3x3 e escreva uma terceira, matriz também 3x3, com os maiores elementos entre a respectivas posições das duas primeiras matrizes. Imprima as três matrizes na tela. 

     

    Não consegui gerar a terceira matriz, como posso fazer isso?

    #include<stdio.h>
    #include<conio.h>
    int main (void ){
    	int m1[3][3], m2[3][3],m3[3][3]={0}, i,j;
    
    	printf ("\nDigite valor para os elementos da matriz 1\n\n");
      
    	for ( i=0; i<3; i++ ){
        	for ( j=0; j<3; j++ ){
          	printf ("\nElemento[%d][%d] = ", i, j);
          	scanf ("%d", & m1[ i ][ j ]);
         	}
      	}
      		printf("matriz 1:\n");
    	for(i=0;i<3; i++){
    		printf("| ");
    		for(j=0;j<3;j++){
    			printf(" %d ", m1[ i ][ j ]);
    		}
    		printf(" |\n");
    	}
    	printf ("\nDigite valor para os elementos da matriz 2\n\n");		 	
       	for ( i=0; i<3; i++ ){
        	for ( j=0; j<3; j++ ){
          	printf ("\nElemento[%d][%d] = ", i, j);
          	scanf ("%d", & m2[ i ][ j ]);
            }
        }
    	printf("matriz 2:\n");
    	for(i=0;i<3; i++){
    		printf("| ");
    		for(j=0;j<3;j++){
    			printf(" %d ", m2[ i ][ j ]);
    		}
    		printf(" |\n");
    
    }

     

    • Curtir 1
  3. 44 minutos atrás, kgin disse:

    Esse seu algorítimo funciona?

     

    Pelo o que eu aprendi na 3° serie, você soma todas as notas e divide pela quantidade de notas.

    https://mundoeducacao.uol.com.br/matematica/media-aritmetica.htm

    Em C seria assim

    
    	media = (aluno[0].nota[0]+aluno[0].nota[1]+aluno[0].nota[2]+aluno[0].nota[3])/4;

    Mas é claro que seria melhor fazer isso com um laço for por exemplo.

    Vi agora meu código não esta funcionando mesmo.

    	informações Aluno[5];
    	float media [5];
    	int i,k,t,j=0;
    	
    	for(i=0;i<5;i++){
    		
    		printf("Insira o nome do aluno:");
    		scanf("%[^\n]", Aluno[i].nome);
    		
    		printf("\n Insira a idade do aluno:");
    		scanf("%d", &Aluno[i].idade);
    		
    		printf("\n Insira a turma do aluno:");
    		scanf("%f", &Aluno[i].turma);
    		
    		for(k=0;k<4;k++){
    			j++;
    			printf("\n Insira a nota %d:", j);
    			scanf("%f", &Aluno[i].notas[k]);
    		}
    		
    	}
    
    }

    fiz ele assim e deu erro nos for ai fica assim quando executo:

    737375702_2021-06-16(1).thumb.png.d17d6c23ebfb185d63d0c59a9e0cfaa7.png

    Como posso arrumar isso?

  4. Leia o cadastro de 5 alunos que contenha as informações: nome, idade, turma, valor de quatro notas (utilize um vetor para armazenar as notas) e a média do aluno (média baseada no valor das quatro notas.

     a. Defina um registro/struct para armazenar as informações sobre o aluno.

    b. Obtenha as informações sobre os alunos através de entradas fornecidas pelo usuário.

    c. Calcule a média de cada um aluno com base no vetor com as quatro notas.

    d. Escreva os dados dos alunos “aprovados” (média >= 7.0).

    e. Escreva os dados dos alunos em “exame” (3.0 <= média < 7.0).

    f. Escreva os dados dos alunos “reprovados” (média < 3.0).

     

    Como faço para calcular essa media(No meu código)?

    #include<stdio.h>
    
    typedef struct aluno{
    	char nome[30];
    	char idade[3];
    	char turma[10];
    	int notas[4];
    }informações;
    
    main(){
    	
    	informações Aluno[5];
    	float media [5];
    	int i,k,t,j=0;
    	
    	for(i=0;i<5;i++){
    		
    		printf("Insira o nome do aluno:");
    		scanf("%[^\n]", Aluno[i].nome);
    		
    		printf("\n Insira a idade do aluno:");
    		scanf("%d", &Aluno[i].idade);
    		
    		printf("\n Insira a turma do aluno:");
    		scanf("%f", &Aluno[i].turma);
    		
    		for(k=0;k<4;k++){
    			j++;
    			printf("\n Insira a nota %d:", j);
    			scanf("%f", &Aluno[i].notas[k]);
    			
    		setbuf(stdin, NULL);
    		getchar();
    		}
    		
    		setbuf(stdin, NULL);
    		getchar();
    	}
    
    }

     

  5. @devair1010

    Mudei do jeito como entendi, agora ele esta calculando, porém aparece a media como 0 dos cinco atletas. o que estou errando ainda?

    #include<stdio.h>
    #include<stdlib.h>
    struct jogador{
    	char nome [50];
    	char idade [3];
    	int njogos [50];
    	int ngols [6];
    }atleta[5];
    
     main(){
    	int i;
    	float media;
    	
    	for(i=0;i<5;i++){
    		printf("Digite o nome do jogador: \n");
    		scanf("%s", &atleta[i].nome);
    		printf("Digite a idade do jogador: \n");
    		scanf("%s", &atleta[i].idade);
    		printf("Digite o numero de jogos do jogador: \n");
    		scanf("%d", &atleta[i].njogos[i]);
    		printf("Digite o numero de gols do jogador: \n");
    		scanf("%d", &atleta[i].ngols[i]);
    	}
    	printf("Numeros de gols de cada jogador: \n");
    	for(i=0;i<5;i++){
    		media=(atleta[i].ngols[i])/(atleta[i].njogos[i]);
    		printf("%s:",atleta[i].nome); 
    		printf("%f gol(s).\n",media);
    	}
    }

     

    • Obrigado 1
  6. Crie um registro para armazenar informações de um jogador de futebol contendo:

    nome;
    idade;
    número de jogos;
    número de gols.

    Escreva um programa que obtenha os dados para jogadores titulares de um time de futsal (5 jogadores; utilize um vetor de registros).

    Por fim imprima o nome e a média de gols de cada jogador.

    Eu não consegui fazer a media, alguém poderia me mostrar como é?

    #include<stdio.h>
    #include<stdlib.h>
    struct jogador{
    	char nome [50];
    	char idade [3];
    	int njogos [50];
    	int ngols [6];
    }atleta[5];
    
     main(){
     	
    	int i;
    	float media;
    	
    	for(i=0;i<5;i++){
    		printf("Digite o nome do jogador: \n");
    		scanf("%s", &atleta[i].nome);
    		printf("Digite a idade do jogador: \n");
    		scanf("%s", &atleta[i].idade);
    		printf("Digite o numero de jogos do jogador: \n");
    		scanf("%d", &atleta[i].njogos);
    		printf("Digite o numero de gols do jogador: \n");
    		scanf("%d", &atleta[i].ngols);
    	}
    	printf("Numeros de gols de cada jogador: \n");
    	for(i=0;i<5;i++){
    		media=(atleta[i].ngols)/(atleta[i].njogos);
    		printf("%s:",atleta[i].nome); 
    		printf("%f gol(s).\n",media);
    	}
    }

     

  7. Leia um cadastro com 10 automóveis que contenha:

    modelo,
    ano,
    nome do dono,
    potência e 
    IPVA (se está pago ou não).

    Por fim, gere um relatório informando quantos automóveis tem motores com potência superior a 100cv.

    Meu contador (cont) está contando todos os veículos, como posso fazer para arrumar?

    #include<stdio.h>
    
    struct automovel{
    	char modelo [50];
    	char ano [5];
    	char proprietario [50];
    	int potencia [6];
    	char IPVA [12];
    }
    
     main(){
     	struct automovel cadastro;
     	
    	int i, cont=0;
    	
    	for(i=0; i<10; i++){
    		printf("Digite o modelo do carro: \n");
    		scanf("%s",cadastro.modelo);
    		printf("Digite o ano do carro: \n");
    		scanf("%s",cadastro.ano);
    		printf("Digite o nome do dono do carro: \n");
    		scanf("%s",cadastro.proprietario);
    		printf("Digite a potencia do carro (em cv): \n");
    		scanf("%d",cadastro.potencia);
    		printf("O IPVA  do carro esta pago? \n");
    		scanf("%s",cadastro.IPVA);
    	
    		if(cadastro.potencia>100){
    			cont++;
    		}
    	}
    
    	printf("A quantidade de automoveis que tem motores com potencia superior a 100cv eh de:%d",cont);
    }

     

  8. Escreva um programa para ler 10 palavras (considere que cada palavra possui no máximo 30 caracteres). Contar e escrever a frequência de cada caractere presente em cada palavra.

    quando aparece uma string ex (sartor) ele só conta um R, mas quando é ex (junnior) ele conta certo. alguém pode me ajudar?

    #include <stdio.h>
    
    main(){
        char str[30];
        int i, j,k, count = 0, aux = 0, c = 1;
        
    	for(k=0; k<10;k++){
        puts("\nInforme uma palavra:");
        gets(str);
    
        while (str[count] != '\0'){
            count++;
        }
    
        for(i = 0; i < count; i++){ 
            aux = 1; 
            for(j = i + 1; j < count; j++){ 
                if(str[i] == str[j]){ 
                    aux++; 
                } else
                    break;
            }   
            if(i == 0) 
              c = 1; 
            else{
              for(j = i - 1; j >= 0; j--){ 
                if(str[i] != str[j])
                  c = 1;
                else{ 
                  c = 0;
                  break;
                }
              }
            }
            if(c == 1){
            printf("\n%c : %d", str[i], aux);
        
        	}
    	}
    	}
    }

     

  9. Escreva um programa para ler uma quantidade indeterminada de dupla de dados. O primeiro elemento da dupla é um dos seguintes caracteres: 'M','m', 'F' ou 'f' (não é necessário validar). O segundo é uma palavra de até 30 caracteres (considere que ela pode conter hífen). Converta cada palavra lida para maiúscula ou minúscula conforme o primeiro caractere (da dupla) informado seja 'M' (Maiúscula) ou 'm' (Minúscula). Imprimir cada palavra após a conversão. O programa termina quando o primeiro caractere informado (da dupla) for 'F' ou 'f'.

    Poderiam me dizer o que estou fazendo de errado no código abaixo? quando eu coloco M ou m ele volta pra primeira opção.

     

    #include <stdio.h>
    #include <string.h>
    
    main(){
    	char pal[30], aux[1];
    
    	for( ; ; ){
    		printf("Digite M para transformar palavras em maiusculo, m para transformar palavras em minusculo e F ou f para encerrar o programa: \n");
    		scanf("%s", &aux[1]);
    	    if (aux[1]== 'F'||aux[1]== 'f'){
    			break;
    		}
    		else if(aux[1]== 'M'){
    			printf("Digite uma palavra (de ate 30 caracteres): \n");
    			fgets(pal,30,stdin); 
    			strupr(pal);
    			printf("%s \n", pal);  
    		}else if(aux[1]== 'm'){
    			printf("Digite uma palavra (de ate 30 caracteres): \n");
    			fgets(pal,30,stdin); 
    			strlwr(pal);
    			printf("%s \n", pal);  
    		}
    	}
    }

     

  10. @.if

    #include <stdio.h>
    #include <string.h>
    #include <ctype.h>
    
    int main() {
    
        char frase[71];
        int i;
    	for(i=0;i<5;i++){
        	printf("Digite seus dois primeiros nomes: ");
        	scanf("%[^\n]", frase);
    
        	strlwr(frase);
    
        	for (i = 0; i <strlen(frase) + 1; i++) {
            	if (i == 0 || frase[i - 1] == ' ')
                	frase[i] = toupper(frase[i]);
            	else
                	frase[i] = frase[i];
        	}
    
        	printf("Nome: %s\n", frase);
        }
    
        return 0;
    }

    arrumei ali a parte que você falou porém não repetiu as 5 vezes

  11. Escreva um programa para ler 5 nomes (e sobrenomes) de pessoas (considere que cada nome possui no máximo 70 letras e contém apenas letras minúsculas). Converter apenas a inicial de cada nome para maiúscula. Imprimir cada nome após a conversão.

    #include <stdio.h>
    #include <string.h>
    #include <ctype.h>
    
    int main() {
    
        char frase[71];
        int i;
    	for(i=0;i<5;i++){
        	printf("Digite seus dois primeiros nomes: ");
        	scanf("%[^\n]", frase);
    
        	strlwr(frase);
    
        	for (i = 0; i < ; i++) {
            	if (i == 0 || frase[i - 1] == ' ')
                	frase[i] = toupper(frase[i]);
            	else
                	frase[i] = frase[i];
        	}
    
        	printf("Nome: %s\n", frase);
        }
    
        return 0;
    }

    Eu coloquei esse ''for(i=0;i<5;i++)'' para poder colocar os 5 nomes que pede ali, porém só repete uma vez. o que estou fazendo de errado?

  12. Escreva um programa para ler uma quantidade indeterminada de frases (considere que cada frase possui no máximo 70 caracteres). Para cada frase imprima a quantidade de espaços em branco que ela contém. O programa se encerra quando for digitada uma frase que não contém espaços em branco.

    Minha duvida em relação a questão acima é como fazer para contar os espaços e como sair do loop infinito quando for digitada uma frase que não contém espaços em branco.

    Segue o começo do meu código:

    #include<stdio.h>
    #include <string.h>
    #include <conio.h>
    int main ()
    {
        char pal[70];
        int i, qtd=0;
        printf ("Digite algumas frases:\n");
        for( ; ; ){
            fgets(pal,70,stdin);   
        }
    }

     

  13. preciso escrever um código que lê uma palavra e em seguida escreve apenas a primeira e a ultima letra. Não estou conseguindo fazer a saída do meu código, alguém poderia me mostrar como é? 

    #include<stdio.h>
    #include <string.h>
    #include <conio.h>
    int main ()
    {
        char pal[30];
        int i, qtd=0;
        printf ("Digite 10 palavras:\n");
        for ( i=0; i<10; i++ ){
            fgets(pal,30,stdin); 
            qtd = strlen(pal); 
            printf("\nPrimeira letra: %c", pal[0]);   
            printf("\nUltima letra: %c", pal[qtd-i]);     
        }
    }

    #include<stdio.h>
    #include <string.h>
    #include <conio.h>
    int main ()
    {
        char pal[30];
        int i, qtd=0;
        printf ("Digite 10 palavras:\n");
        for ( i=0; i<10; i++ ){
            fgets(pal,30,stdin); 
    		qtd = strlen(pal); 
    		printf("\nPrimeira letra: %c", pal[0]);   
    		printf("\nUltima letra: %c", pal[qtd-i]);     
        }
    }

     

  14. Estou fazendo um exercício em c, no qual pede  para digitar 10 palavras de no máximo 30 caracteres e ao final pede para dar o total de caracteres digitados. porém meu contadores esta errado. poderiam me mostrar como é?

    #include<stdio.h>
    #include <string.h>
    
    int main (){
    	char pal[30];
    	int i,j, contador=0;
    
    	printf ("Digite 10 palavras:\n");
      
    	for ( i=0; i<10; i++ ){
          	fgets(pal,30,stdin);
         	}
    
    	printf("a quantidade de caracteres eh:%d",strlen(pal) );
    }

     

  15. Ler um vetor de até 20 elementos. A leitura deverá ser executada até que o vetor fique totalmente preenchido ou seja informado um valor negativo ou zero. Ler 2 valores que representam 2 posições (índices) no vetor (aceitar apenas índices válidos), escrever os valores nas posições entre estes índices (inclusive).

     

    Poderiam me dizer o que estou errando no while?

    #include<stdio.h>
    
    int main() {
    	
    	int vet[20], soma, i, pos,var_1, var_2;
    	
    	printf("Digite os valores para o vetor: \n");
    	
        for (i = 0; i < 20; i++) {
    		printf("[%d]: ", i);
    		scanf("%d", &vet[i]);
    		
    		if(vet[i]<=0){
    			pos=i;
    			break;
    		}
        }
    
    	printf("Digite os numeros do intervalo: \n");
    
        while(scanf("%d", &var_1)!=vet[i], scanf("%d", &var_2)!=vet[i]){
        	printf("Numeros do intervalo invalidos \n");
    		printf("Digite os numeros do intervalo novamente: \n");
    		scanf("%d", &var_1);
    		scanf("%d", &var_2);
    	}
        for(vet[i]=var_1; vet[i]<=var_2; vet[i]++) {
    		printf("%d", vet[i]);
    	}
    }

     

  16. Ler um vetor de até 20 elementos. A leitura deverá ser executada até que o vetor fique totalmente preenchido ou seja informado um valor negativo ou zero. Ler 2 valores que representam 2 posições (índices) no vetor (aceitar apenas índices válidos), escrever os valores nas posições entre estes índices (inclusive).

     

    Estou com dificuldade de fazer a saída deste exercício(citado a cima), segue a baixo o desenvolvimento do meu código:

    #include<stdio.h>
    
    int main() {
    	
    	int vet[10], soma, i, pos;
    	
    	printf("Digite os valores para o vetor: \n");
    	
        for (i = 0; i < 10; i++) {
    		printf("[%d]: ", i);
    		scanf("%d", &vet[i]);
    		
    		if(vet[i]<=0){
    			pos=i;
    			break;
    		}
        }
        


        

  17. 725309461_WhatsAppImage2021-05-04at21_27_11.thumb.jpeg.1d112c9cca3af14f693c5e16a2c178b4.jpeg

    Estou na parte 2 (Alterar senha) e não consigo dar continuidade, sou estudante, e comecei a aprender agora em C, se alguém puder me ajudar fiaria muito grato.

    Segue condigo onde parei (else if):

    #include <stdio.h>
    #include <stdlib.h>
    #define cls system("cls");
    void delay();
    #include <string.h>
    int main(){
        int codigo, senha=100932, ret, senhan, senha1;
        char nome[7]={"helio"},nome2[7];  
        do{
            cls
            printf("Para prosseguir escolha uma das tres opcaos.\n");
            printf("(1) login\n");
            printf("(2) alterar senha\n");
            printf("(3) sair.\n");
            scanf("%d", &codigo);
        }while(codigo < 1 || codigo > 3);
     	  
    	    if(codigo == 1){
            do{
                cls
                printf("Informe o nome de login: ");
                scanf("%s",nome);
                ret = strcmp(nome,nome2);
                if(ret = 0){
                    printf("Acesso negado \nInforme o nome de login:\n");
                    delay();
                }
            }while( ret );
            printf("Informe a senha: ");    
            while(scanf ("%d", &senha1), senha1!=senha){ 
                printf("Acesso negado \nInforme a senha: ");
            }
            printf("Acesso Permitido.");
            return main();
        }else if( codigo == 2){
        	printf("Digite a senha atual: \n");
        	while(scanf ("%d", &senha1), senha1!=senha){ 
                printf("Acesso negado \n");
                return main();
            }
            printf("Digite a nova senha: \n");
            scanf("%d", senhan);
            
            strcpy(senha,senhan);
            printf("A nova senha eh: %d \n" senha);
    	}
        return 0;
    }
    void delay() 
    {
        for(int i=0; i<60000; i++)  
            for(int i=0; i<20000; i++);
    }

     

     

     

     

     

     

     

  18. Boa noite, 

     

    A imagem adicionada é sobre o exercício que estou com problemas. Sou estudante e comecei agora a aprender em C, e não estou conseguindo desenvolver meu código corretamente. se alguém puder me ajudar fico agradecido. 

    #include<stdio.h>
    int main(){
        int codigo, senha;
        char nome[6]="helio",nome2[6]; 
    
        printf("Para prosseguir escolha uma das tres opcaos. (1) login, (2) alterar senha, (3) sair. \n");
        scanf("%d", &codigo);
        if(codigo=1){
            printf("Informe o nome de login: \n");
            while(scanf ("%s", &nome2), nome2!="helio"){
            printf("Acesso negado \nInforme o nome de login: \n");
            }
            printf("Informe a senha: \n");    
            while(scanf ("%d", &senha), senha!=100932){
            printf("Acesso negado \nInforme a senha: \n");
            }
            printf("Acesso Permitido.");
        }
            
    }

     

     

     

     

     

     

     

     

     

     

     

     

     

     

     

     

     

     

     

     

     

     

     

     

     

     

     

     

     

    WhatsApp Image 2021-05-04 at 21.27.11.jpeg

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...

Ebook grátis: Aprenda a ler resistores e capacitores!

EBOOK GRÁTIS!

CLIQUE AQUI E BAIXE AGORA MESMO!