Ir ao conteúdo
  • Cadastre-se

MATEUS GOMES85

Membro Júnior
  • Posts

    14
  • Cadastrado em

  • Última visita

  1. #include<stdio.h> #define percentual 0.2; //Declaração de uma constante int main(void) 1 { 2 float salariofixo, salariototal, valorvendas, comissao; 3 char nome[20]; 4 5 printf("Digite o nome do vendedor: \n"); 6 scanf("%s",nome); 7 8 printf("Quanto em reais %s vendeu ? \n",nome); 9 scanf("%.2f",&valorvendas); 10 11 printf("Qual o salario fixo da/do %s ? \n",nome); 12 scanf("%.2f",&salariofixo); 13 14 15 16 return 0; 17 18} @arfneto Bom dia!!! Acompanhei as dicas sobre o uso da função scanf() e achei as informações esclarecedoras e ao mesmo tempo uma novidade pra mim. Talvez por isso eu não esteja conseguindo entender o por que do meu simples código acima não estar me retornando o que preciso: Por exemplo, as linhas 5 e 6, 8 e 9 executam normalmente e a função scanf funciona como espero. Isso acontece até a linha 11 quando o printf pede pra o usuario inserir o valor do seu salario fixo, mas a linha 12 é desprezada e o programa é finalizado. E não importa a ordem dos comandos, a linha 12 continua sem ser executada e assim não permite ao usuario a inserção do valor do salário fixo. Gostaria de saber por que isso acontece e se a razão disso tem haver com os esclarecimentos q você mencionou acima. Obrigado pela atenção! Aguardo a ajuda de vcs. Valeu
  2. #include<stdio.h> int main() { // Seção de Declarações das variáveis float a, b, c, area; // Seção de Comandos, procedimento, funções, operadores, etc... printf("----------------AREA TRAPEZIO----------------------\n"); printf("Digite o maior lado do trapezio: \n"); scanf("%f",&a); printf("Digite o menor lado do trapezio: \n"); scanf("%f",&b); printf("Digite a altura do trapezio: \n"); scanf("%f",&c); area = (a+b)*c/2; printf("---------------------------------------------------\n"); printf("A area do trapezio e %.2f",area); return 0; } @Luís Roberto C. da Silva @arfneto Valeu galera!! Deu tudo certo!! Fiz confusão com o uso do "\n", e acabou comprometendo . Obrigado pela dica!@arfneto
  3. #include<stdio.h> int main() { // Seção de Declarações das variáveis float a, b, c, area; // Seção de Comandos, procedimento, funções, operadores, etc... printf("----------------AREA TRAPEZIO----------------------\n"); printf("Digite o maior lado do trapezio: \n"); scanf("%d\n",&a); printf("Digite o menor lado do trapezio: \n"); scanf("%d\n",&b); printf("Digite a altura do trapezio: \n"); scanf("%d\n",&c); area = (a+b)*c/2; printf("---------------------------------------------------\n"); printf("A area do trapezio e %.2f",area); return 0; } Ola pessoal!! Tudo bem ? Gostaria de uma ajuda na compilação do código que pede os lados de um trapézio e dá como resultado a área na tela. Mas, quando executo o programa, não sei por qual razão, ele lê primeiro printf e recebe o valor através do scanf, mas não executa a próxima linha de comando, a nao ser que eu digite alguma tecla antes.... Alguém poderia me dizer por que isso está acontecendo ? OBRIGADO PELA ATENÇÂO DE VCS!
  4. @Simon Viegas Boa tarde Simon! Muito obrigado por suas dicas...elas são sempre muito valiosas pra mim. Lendo o seu comentário, logo fui buscar uma linguagem de programação pra desenvolver todas as questões do meu exercício com mais eficiência. Instalei a Linguagem C no meu notebook e estou me familiarizando com os comandos e rotinas. Logo estarei postando aqui no clube os programinhas que eu vinha treinando, inclusive essa questão que mecionei acima. PS:. Vinha tentando implementar todos os meus programas com a ferramenta VisualG (que realmente tem a limitação de passar vetores ou matrizes por parâmentro), então seguindo seu conselho estou treinando na Linguagem C e logo estarei interagindo com a galerinha minhas dúvidas e compartilhando o que venho praticando!!! Vamos em frente! .
  5. Exercicio 4 Faça uma subrotina que receba uma matriz M(10,10), o número de uma linha L, o numero de uma coluna C e retorne a matriz N(9,9), resultante da remoção da linha L e da coluna C. Boa tarde galerinha! Estava reforçando a minha lógica emm uma bateria de questoes e me deparei com esta...Estou com problemas de interpretação do enunciado, pois pelo que entendi ele pede pra fazer uma função com três parametros: um deles é uma matriz. Como nunca vi nada parecido peço a ajuda de vcs como montar esse código! Obrigado!
  6. @teimans2135 Tenta analisar todos as variáveis testadas no Se..Entao. Por exemplo, a variável SEXO é do tipo caractere, por isso tem que colocar as aspas. Se (sexo = "M") e (idade >= 10) e (cabelo =2) entao . . . FimSe Corrige esse detalhe e roda pra ver.
  7. @Simon Viegas Valeu muito a explicação Simon! Tava tentando acertar como se declarava uma constante e nao encontrei nenhuma referência nos meus mateirais.. Muito obrigado pelos esclarecimentos. Foi muito proveitoso pra mim esses diálogos.
  8. Var // Seção de Declarações das variáveis M: vetor[1..3,1..3] de Inteiro i, j, k, aux, t: Inteiro Inicio // Seção de Comandos, procedimento, funções, operadores, etc... t <- 3 Para i <- 1 ate t faca Para j <- 1 ate t faca Escreva("Digite um numero para posição [",i,",",j,"]: ") aleatorio 1,999 Leia(M[i,j]) aleatorio off FimPara EscrevaL() FimPara EscrevaL("..............................") EscrevaL(" MATRIZ INICIAL ") EscrevaL("..............................") Para i <- 1 ate t faca EscrevaL() Para j <- 1 ate t faca Escreva(M[i,j]:6) FimPara EscrevaL() FimPara EscrevaL("..............................") EscrevaL("..............................") Para i <- 1 ate t faca j <- 1 k <- 1 Enquanto k < t faca k <- k + 1 Se M[i,j] > M[i,k] entao aux <- M[i,j] M[i,j] <- M[i,k] M[i,k] <- aux FimSe Se (k = t) e (j < (t - 1)) entao j <- j + 1 k <- j FimSe FimEnquanto FimPara EscrevaL("") EscrevaL("..................................") EscrevaL("ORDEM CRESCENTE POR LINHA A LINHA ") EscrevaL("..................................") EscrevaL("..................................") Para i <- 1 ate t faca EscrevaL() Para j <- 1 ate t faca Escreva(M[i,j]:6) FimPara EscrevaL() FimPara EscrevaL("..................................") Fimalgoritmo @Simon Viegas Os pontos #1 e #2 eu entendi...Mas (o ponto #3) como fazer referencia em uma constante sobre a ordem da matriz sem a necessidade de repetir em todo código quando alterar o tamanho da matriz estou dúvida de como fazê-lo. Adicionei no código acima uma constante no primeiro Para do código afim de nao ter que alterar o tamanho da matriz no restante do código ...Seria isso mesmo ? Fico no aguardo.
  9. @Simon Viegas Muito esclarecedora a sua explicação !! Algoritmo "MATRIZ ordenar por linha" // Disciplina : [Linguagem e Lógica de Programação] // Professor : Gustavo Guanabara // Descrição : Ordenar matriz linha a linha // Autor(a) : Mateus Henrique // Data atual : 07/10/2019 Var // Seção de Declarações das variáveis M: vetor[1..3,1..3] de Inteiro i, j, k, aux, t: Inteiro Inicio // Seção de Comandos, procedimento, funções, operadores, etc... t <- 1 Para i <- 1 ate 3 faca Para j <- 1 ate 3 faca Escreva("Digite um numero para posição [",i,",",j,"]: ") Leia(M[i,j]) FimPara EscrevaL() FimPara EscrevaL("..............................") EscrevaL(" MATRIZ INICIAL ") EscrevaL("..............................") Para i <- 1 ate 3 faca EscrevaL() Para j <- 1 ate 3 faca Escreva(M[i,j]:6) FimPara EscrevaL() FimPara EscrevaL("..............................") EscrevaL("..............................") Para i <- 1 ate 3 faca Se i = t entao j <- 1 k <- 1 Enquanto k < 3 faca k <- k + 1 Se M[i,j] > M[i,k] entao aux <- M[i,j] M[i,j] <- M[i,k] M[i,k] <- aux FimSe Se (k = 3) e (j < 2) entao j <- j + 1 k <- j FimSe FimEnquanto t <- t + 1 FimSe FimPara EscrevaL("") EscrevaL("..................................") EscrevaL("ORDEM CRESCENTE POR LINHA A LINHA ") EscrevaL("..................................") EscrevaL("..................................") Para i <- 1 ate 3 faca EscrevaL() Para j <- 1 ate 3 faca Escreva(M[i,j]:6) FimPara EscrevaL() FimPara EscrevaL("..................................") Fimalgoritmo a explicação!!. Vou colocar logo em prática ... O código ficou muito menor! Obrigado!!!
  10. QUESTÃO: Escreva um algoritmo que ordene cada linha de uma matriz M[X,Y] A questão pede para ordenar cada linha da matriz isoladamente do restante da matriz. Então optei em ordenar de forma crescente: Algoritmo "MATRIZ ordenar por linha" // Disciplina : [Linguagem e Lógica de Programação] // Autor(a) : Mateus Henrique // Data atual : 07/10/2019 Var // Seção de Declarações das variáveis M: vetor[1..3,1..3] de Inteiro i, j, k, aux: Inteiro Inicio // Seção de Comandos, procedimento, funções, operadores, etc... Para i <- 1 ate 3 faca Para j <- 1 ate 3 faca Escreva("Digite um numero para posição [",i,",",j,"]: ") Leia(M[i,j]) FimPara EscrevaL() FimPara Para i <- 1 ate 3 faca Se i = 1 entao j <- 1 k <- 1 Enquanto k < 3 faca k <- k + 1 Se M[i,j] > M[i,k] entao aux <- M[i,j] M[i,j] <- M[i,k] M[i,k] <- aux FimSe Se (k = 3) e (j < 2) entao j <- j + 1 k <- j FimSe FimEnquanto Senao Se i = 2 entao j <- 1 k <- 1 Enquanto k < 3 faca k <- k + 1 Se M[i,j] > M[i,k] entao aux <- M[i,j] M[i,j] <- M[i,k] M[i,k] <- aux FimSe Se (k = 3) e (j < 2) entao j <- j + 1 k <- j FimSe FimEnquanto Senao Se i = 3 entao j <- 1 k <- 1 Enquanto k < 3 faca k <- k + 1 Se M[i,j] > M[i,k] entao aux <- M[i,j] M[i,j] <- M[i,k] M[i,k] <- aux FimSe Se (k = 3) e (j < 2) entao j <- j + 1 k <- j FimSe FimEnquanto FimSe FimSe FimSe FimPara EscrevaL("") EscrevaL("............................................................") EscrevaL(" ORDEM CRESCENTE POR LINHA A LINHA ") EscrevaL("............................................................") EscrevaL("............................................................") Para i <- 1 ate 3 faca EscrevaL() Para j <- 1 ate 3 faca Escreva(M[i,j]:6) FimPara EscrevaL() FimPara EscrevaL("...........................................................") Fimalgoritmo @Simon Viegas Simon, desculpa por nao ter postado todo o código completo. Aí está o enunciado e a resolução com uma matriz 3x3. O enunciado pede uma matriz M[10,10]. adicionado 13 minutos depois @Simon Viegas Tava faltando as linhas que mostram a matriz antes de ser modificada!
  11. @Simon Viegas, valeu pelos detalhes apontados amigo! Corrigi os erros de indentação e a lógica do programa tava errada também. Consistia em ordenar cada linha de forma crescente. Aí vai o pedaço do código que mudei pra q funcionasse. E em relação ao Se sem fechamento correspondente tem me acontecido todas as vezes que tento copiar/colar o código e acabo esquecendo fechar um deles (rs). Obrigado pela ajuda Simon! Até a próxima! Para i <- 1 ate 10 faca Se i = 1 entao j <- 1 k <- 1 Enquanto k < 10 faca k <- k + 1 Se M[i,j] > M[i,k] entao aux <- M[i,j] M[i,j] <- M[i,k] M[i,k] <- aux FimSe Se (k = 10) e (j < 9) entao j <- j + 1 k <- j FimSe FimEnquanto Senao . . . FimSe OBS:. O código continua exatamente igual até i = 10, pois a questão pede uma matriz 10x10
  12. Bom dia Galerinha do bem! Fiz este código no VisualG que ordena cada linha da minha matriz 5x5 em ordem crescente, mas só compila quando insiro um FIMSE antes do fechamento do penúltimo PARA do código...E a minha dúvida é exatamente por que, uma vez que não consegui visualizar nenhum SE sem um FIMSE correspondente. Aguardo a ajuda de vcs amigos de batalha!! Var // Seção de Declarações das variáveis M: vetor[1..5,1..5] de Inteiro i, j, k, aux: Inteiro Inicio // Seção de Comandos, procedimento, funções, operadores, etc... Para i <- 1 ate 5 faca Para j <- 1 ate 5 faca Escreva("Digite um numero para posição [",i,",",j,"]: ") Leia(M[i,j]) FimPara EscrevaL() FimPara Para i <- 1 ate 5 faca Se i = 1 entao j <- 1 k <- 1 Enquanto k < 5 faca k <- k + 1 Se M[i,j] > M[i,k] entao aux <- M[i,j] M[i,j] <- M[i,k] M[i,k] <- aux FimSe Se (k = 5) e (j < 4) entao j <- j + 1 k <- k - 1 FimSe FimEnquanto Senao Se i = 2 entao j <- 1 k <- 1 Enquanto k < 5 faca k <- k + 1 Se M[i,j] > M[i,k] entao aux <- M[i,j] M[i,j] <- M[i,k] M[i,k] <- aux FimSe Se (k = 5) e (j < 4) entao j <- j + 1 k <- k - 1 FimSe FimEnquanto Senao Se i = 3 entao j <- 1 k <- 1 Enquanto k < 5 faca k <- k + 1 Se M[i,j] > M[i,k] entao aux <- M[i,j] M[i,j] <- M[i,k] M[i,k] <- aux FimSe Se (k = 5) e (j < 4) entao j <- j + 1 k <- k - 1 FimSe FimEnquanto Senao Se (i = 4) entao j <- 1 k <- 1 Enquanto k < 5 faca k <- k + 1 Se M[i,j] > M[i,k] entao aux <- M[i,j] M[i,j] <- M[i,k] M[i,k] <- aux FimSe Se (k = 5) e (j < 4) entao j <- j + 1 k <- k - 1 FimSe FimEnquanto Senao Se (i = 5) entao j <- 1 k <- 1 Enquanto k < 5 faca k <- k + 1 Se M[i,j] > M[i,k] entao aux <- M[i,j] M[i,j] <- M[i,k] M[i,k] <- aux FimSe Se (k = 5) e (j < 4) entao j <- j + 1 k <- k - 1 FimSe FimEnquanto FimSe FimSe FimSe FimSe // Este FIMSE foi inserido por mim além dos demais por não compilar sem ele.... FimSe FimPara EscrevaL("") EscrevaL("...........................") EscrevaL(" ORDEM CRESCENTE POR LINHA ") EscrevaL("...........................") EscrevaL("...........................") Para i <- 1 ate 5 faca EscrevaL() Para j <- 1 ate 5 faca Escreva(M[i,j]:4) FimPara EscrevaL() FimPara EscrevaL("...........................") Fimalgoritmo
  13. Muito bom amigo!! Acabei de rodar aqui e deu certo também! Eu tava colocando um Se Entao a mais. Muito obrigado! Me abriu a mente! valeu adicionado 1 minuto depois
  14. Bom dia galerinha do bem! Fiz um programinha com estruturas de repetição no VISUALG, rodando bacana mas quando fecha a estrutura de repetição dá o seguinte erro: "Fim Enquanto sem enquanto correspondente" Alguém pode apontar um possível problema? Programa roda legal até o término do segundo Enquanto, ele deveria voltar para o início do Enquanto mas ele dá a mensagem "FIM Enquanto sem Enquanto correspondente". Não descobri por que. Quem conseguir ver onde está o problema agradeço muito. Obrigado galera! -------------------------------------------------------------------------------------------------------------------------------------------- Algoritmo "vetor 30 ordem crescente" Var // Seção de Declarações das variáveis V: vetor[1..5] de Inteiro Vazio: vetor[1..5] de Inteiro h, i, j, k, m, n, p, aux, opcao, resta: Inteiro partida, final: Inteiro resp, tec: Caractere Inicio // P R O G R A M A P R I N C I P A L // Seção de Comandos, procedimento, funções, operadores, etc... opcao <- 1 Enquanto (opcao <> 0) faca Para n <- 1 ate 5 faca // Inicialização de Vetores e contadores Vazio[n] <- 1 FimPara resta <- 5 Para p <- 1 ate 5 faca V[p] <- 0 FimPara Enquanto (opcao <> 6) ou (opcao <> 0) faca LimpaTela EscrevaL("Você gostaria de inserir quantos números no vetor de 5 posições ?") EscrevaL(" :'''''''''''''': ") EscrevaL("-----------------------: MENU :--------------------------") Escreval(" :,,,,,,,,,,,,,,: ") EscrevaL(" ") Escreval(" Digite 1 - Para inserir 1 número ") Escreval(" Digite 2 - Para inserir 2 números ") EscrevaL(" Digite 3 - Para inserir 3 números ") Escreval(" Digite 4 - Para inserir 4 números ") Escreval(" Digite 5 - Para inserir 5 números ") Escreval(" Digite 0 - Para sair do programa ") Escreval(" Digite 6 - Para reinicializar os vetores ") EscrevaL("-----------------------------------------------------------------") Leia(opcao) Se opcao = 1 entao // 1º Se Se resta <> 0 entao // 2º Se h <- 1 partida <- 0 Enquanto partida = 0 faca Se (Vazio[h] = 1) entao // 3º Se partida <- h FimSe // Fim 3º Se h <- h + 1 FimEnquanto final <- partida Para i <- partida ate final faca EscrevaL(i, "ª. posição: ") Leia(V) Vazio <- 0 FimPara resta <- resta - opcao EscrevaL("Você gostaria de ordenar de forma crescente ? [S/N]") Leia(resp) Se resp = "S" entao // 4º Se Para m <- 1 ate 4 faca j <- 1 Enquanto j < 5 faca k <- j + 1 Se (Vazio[j] = 0) e (Vazio[k] = 0) entao // 5º Se Se V[j] > V[k] entao // 6º Se aux <- V[j] V[j] <- V[k] V[k] <- aux FimSe //Fim do 6º Se FimSe //Fim do 5º Se j <- j + 1 FimEnquanto FimPara FimSe //Fim do 4º Se Para i <- 1 ate 5 faca EscrevaL(V) FimPara Escreval("Para voltar para o MENU dgite qualquer tecla seguida de ENTER") Leia(tec) Senao //Senao do 2º Se Aviso() Escreval("Para retornar ao MENU tecle qualquer tecla seguida de ENTER") Leia(tec) FimSe FimSe // Fim 1º Se FimEnquanto Se (opcao = 6) entao // 25º Se EscrevaL("Reinicializando programa ...Aguarde!") EscrevaL("") EscrevaL("") Escreval("Tecle qulaquer tecla seguida de ENTER para continuar") Leia(tec) FimSe FimSe // Fim 25º Se FimEnquanto Escreval("Obrigado por usar nosso programa!!! Volte sempre!") EscrevaL("-------------------------------------------------") EscrevaL("------------- FIM -------------------") EscrevaL("-------------------------------------------------") Fimalgoritmo

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