Ir ao conteúdo

devair1010

Membro Pleno
  • Posts

    6.318
  • Cadastrado em

  • Última visita

Tudo que devair1010 postou

  1. @carlos20030 como você vai ordenar uma colunas especifica dessa matriz então faça como se fosse ordenar um vetor simples, o melhor para isso é usar o método bubblesort , que você pode ver nesse site aqui : https://codigofonte.uol.com.br/codigos/metodo-bolha-bubble-sort faça o código e poste aqui para vermos como está e em que podemos ajudar .
  2. @Thales Muchante o que o @LuisGCarv disse é uma boa ideia, então coloca um for indo de 0 enquanto for menor que 7 para as 7 linhas e dentro desse for coloque outro indo de 0 enquanto for menor que 7 para as colunas então coloque uma variável para informar a colunas que vai começar a imprimir o asterisco e outra variável para informar até qual coluna imprimir, então no inicio essas duas variáveis terão o mesmo valor, e a cada linha impressa diminua o valor da primeira variável e aumente o valor da segunda, fazendo isso até a terceira linha, e depois da quarta linha em diante aumente o valor da primeira variável e diminua o valor da segunda. e dentro desse segundo for coloque outro começando do valor da primeira variável enquanto for menor que a segunda e aí então imprime o asterisco . faça o código e poste aqui para vermos como está e em que podemos ajudar .
  3. devair1010

    C Biblioteca math.h em C

    @Willgo infelizmente no c não se pode ter o valor de seno cosseno e tangente digitando o grau, então para isso precisa de o usuário fazer a conversão que é até fácil de fazer , veja um exemplo : z=tan(50*3.141592/180); printf("valor de tang de 50 eh -> %.2f\n\n",z);
  4. @Luis Henrique Ramalho acredito que as senhas sigam uma ordem crescente , a pessoa escolhendo preferencial ou normal ele gera a senha com o próximo número do que foi gerado antes , pois se for (random) quem chegou em segundo poderia ser atendido antes de quem chegou primeiro. então para fazer esse algoritmo você coloca um contador para as senhas preferenciais e outro contador para as senhas normais e vai somando de um em um a cada senha gerada . faça o código do jeito que você souber e poste ele aqui para podermos ver como está e em que podemos ajudar .
  5. @Jacqueline Santos ele está dando esse erro por que, o visualg não consegue calcular raiz quadrada de números negativos, então no seu código você precisa colocar essa instrução : rz:=raizq(abs(delta)) para que, se o número for negativo ele faz o cálculo como se fosse positivo mesmo ou seja ele ignora o sinal que esteja antes do número . então seu código ficaria assim : algoritmo "bhaskara" var a,b,c,x1,x2,yv,xv,delta,rz : real inicio escreva("informe o valor de a ") leia(a) escreva("informe o valor de b ") leia(b) escreva("informe o valor de c ") leia(c) delta <- b^2 - 4*a*c rz:=raizq(abs(delta)) x1 := (-b)+rz/2*a x2 := (-b)-rz/2*a escreval("-----------------------------") escreval("o valor de delta é: ",delta) escreval("-----------------------------") escreval("o valor de x1 e x2 é: ",x1,x2) escreval("----------------------------") escreval("parabola") yv := ((delta)/4*a) xv := ((-b)-2*a) escreval("o valor do vértice é: ",yv) escreval("o valor do vértice é: ",xv) fimalgoritmo assim ele compila e mostra os resultados normalmente, no entanto estou sem tempo para calcular o resultado para ver se está certo, veja aí se confere.
  6. @Vanderlei Luiz Kotz seu código esta bom, apenas ajeitei algumas linhas e seu código ficou assim : algoritmo "CEM_NUMEROS_INTEIROS_E_REAIS" // Disciplina : [Linguagem e Lógica de Programação] // Professor : // Função : Usuário informa 100 valores inteiros e 100 valores real e o programa sempre exibe ao termino a soma. // Autor : Vanderlei Luiz Kotz // Data : 14/10/2017 tipo valores=registro num_int : inteiro num_r : real fimregistro var ficha_num : vetor[0..100] de valores // coloquei 3 valores para testar apenas depois altero. i,j,resp : inteiro soma : inteiro mult_int : inteiro mult_real : real inicio i <- 0 j := 0 repita //assim você coloca quantos numeros quiser escreva("Informe um número inteiro: ") leia(ficha_num[j].num_int) escreva("Informe um número real: ") leia(ficha_num[j].num_r) escreval("você quer inserir mais um número ? 1 = não 2 = sim") leia(resp) j := j+1 ate resp=1 para i de 0 ate j-1 faca mult_int<-0 se(ficha_num[i].num_int mod 2 = 0) ENTÃO mult_int:=mult_int+ficha_num[i].num_int*2 escreval("mult 2",mult_int) senao mult_int:=mult_int+ficha_num[i].num_int*3 escreval("mult 3",mult_int) fimse se(ficha_num[i].num_r > 0) ENTÃO mult_real:=mult_real+ficha_num[i].num_r*4 senao mult_real:=mult_real+ficha_num[i].num_r*0 fimse soma := soma + mult_int fimpara escreva ("A soma dos números inteiros é:",soma) fimalgoritmo
  7. @ALLLMIR1993 eu conecto com o wi-fi que eu quero e para isso eu escolho procurar wi-fi depois que ele encontra os wi-fi que tem por perto eu seleciono o que eu achar melhor, no caso o que eu sei a senha, e clico em concluir, com isso ele conecta com o wi-fi que escolhi .
  8. @vitor de jesus seu código está funcionando bem aqui, ali no do while ele está repetindo por que precisa digitar o código de barra certo, pois ele pega esse código de barra e coloca na variável temp e depois compara com o código do produto e se não for igual ele repete o loop sem modificar a variável controle para que ele saia do loop . e esse dois cout é porque quando ele encontra o comando getline, ele pega o que estiver no buffer do teclado então se no buffer não tiver nada,então ele fica esperando digitar alguma coisa e teclar enter e se no buffer tiver algo como o caractere nullo que é quando se pressiona enter então ele passa pelo getline sem parar, então para reslover isso precisa limpar o buffer do teclado e para isso você pode usar esse comando : fflush(stdin); getline(cin,temp);
  9. @Solitario234604 para fazer esse código você precisa primeiro pegar o mês , usando para isso o comando scanf assim : printf("Digite um mes do ano "); scanf("%d",&a); depois verificar que mês foi digitado usando o comando if assim : if(a==1||a==3||a==5||a==7||a==8||a==10||a==12) d=31; else{ esses aí são os meses de 31 dias então você precisa ajeitar o código para verificar os meses de 30 e 28 dias, sendo que a variável d recebe a quantidade de dias do mês, então no final imprimir o resultado assim : printf("O Mes %d Possui %d Dias",a,d);
  10. @Isadora Silva esse 47 se refere ao código ascii dos caracteres, onde 48 é o caractere zero e o próximo é o caractere 1 e vai somando o valor para cada caractere sendo que o 57 é o caractere 9, então aí no código ele está procurando os números de zero até 9 que são os números do celular . se você quiser ver o código dos outros caracteres execute o código a seguir : #include <stdio.h> int a; void main(){ for(a=0;a<256;a++){ printf("Codigo ASCII => %d ---- Caractere -> %c\n",a,a); } } portanto você pode imprimir assim também : printf("Aqui Esta O Caractere Zero => %c",48);
  11. @TYSQUARE89 sim provavelmente funcionaria , mas aí já é para determinar a segunda letra, com isso ficaria bem mais sofisticado e bem melhor , mas por falta de tempo foi o que consegui pensar .
  12. @AndrezaWF você tem a biblioteca allegro instalada? ou você vai fazer usando apenas os comandos do c ? e esse arquivo txt pode ser aberto e lido com os comandos : FILE*arq; char palavra[30]; arq=fopen("nome_do_arquivo","r"); while(fscanf(arq,"%s",palavra)){ aqui dentro você coloca os comandos para fazer o que você quiser com esses dados lidos do arquivo. por exemplo você pode imprimir ele na tela, se você desenhar o labirinto no bloco de notas usando o caractere asterisco. lembrando que a tela do c tem 80 colunas e 24 linhas, para imprimir na tela do jeito certo. } fclose(arq); no caso esse arquivo tem que estar salvo na mesma pasta onde você salvou o programa e com o mesmo nome ali onde está nome_do_arquivo .
  13. @João Friatzsa elas servem para pegar o primeiro caractere da palavra e depois comparar uma com a outra na mesma posição na string que é a palavra, a que tiver o número do caractere menor,por exemplo, o A = 65 o B =66 e assim ate Z=90 , será a primeira palavra, o que tiver o segundo número menor será a segunda palavra e a outra será a terceira palavra .
  14. @mosiah santos aqui na função loc_carro tem esse erro : //recuperar o valor da diaricarro[k].valor; //multiplicar a quantidade de dias pelo valor da diaria valorfinaldeloc[k] = Carro[i].valor*dias; /*<---- está sem os colchete para informa a posição */ printf("Valor de locação é %d! \n Deseja locar carro?", valorfinaldeloc);//corrigido Cliente[k].codigocar=codi;
  15. @João Friatzsa se você puder usar vetor seria mais fácil, no entanto usando variáveis simples também dá para fazer, e esse seu código precisaria de algumas modificações , então ele ficaria assim : #include <stdio.h> #include <conio.h> #include <stdlib.h> #include <string.h> #include <locale.h> int main(){ setlocale(LC_ALL,""); char nome1[30]; char nome2[30]; char nome3[30]; char P[30]; char S[30]; char T[30]; char a[2],b[2],c[2]; int l,w; printf("Fale o primeiro nome: "); fflush(stdin); gets(nome1); printf("Fale o segundo nome: "); fflush(stdin); gets(nome2); printf("Fale o terceiro nome: "); fflush(stdin); gets(nome3); a[0]=nome1[0]; b[0]=nome2[0]; c[0]=nome3[0]; if(a[0]<b[0]&&a[0]<c[0]){strcpy(P,nome1);l=1;w=1;} if(b[0]<a[0]&&b[0]<c[0]){strcpy(P,nome2);l=2;w=2;} if(c[0]<a[0]&&c[0]<b[0]){strcpy(P,nome3);l=3;w=3;} if(l==1){ if(b[0]<c[0]){ strcpy(S,nome2); l=2; } else{ strcpy(S,nome3); l=3; } } else{ if(l==2){ if(a[0]<c[0]){ strcpy(S,nome1); l=1; } else{ strcpy(S,nome3); l=3; } } else{ if(l==3){ if(a[0]<b[0]){ strcpy(S,nome1); l=1; } else{ strcpy(S,nome2); l=2; } } } } if( w == 2 && l == 3 || w == 3 && l == 2 )strcpy(T,nome1); if( w == 1 && l == 3 || w == 3 && l == 1 )strcpy(T,nome2); if( l == 2 && w == 1 || w == 2 && l == 1 )strcpy(T,nome3); printf("Os nomes em ordem alfabética\n\n%s\n%s\n%s", P, S, T); return 0; }
  16. @rjort_nine testei esse ternário aqui e ele funcionou normal do jeito que você queria, imagino que essa variável auxElementTransfer e essa limResetAuxElmTrns sejam inteiro, e ele executa se for verdadeiro e também se for falso . veja o teste que fiz : #include <stdio.h> #include <conio.h> #include <windows.h> int main(){ int auxElementTransfer=5;/* se mudar o valor ele imprime do jeito certo també */ int limResetAuxElmTrns=5; auxElementTransfer == limResetAuxElmTrns ? auxElementTransfer = 0 : printf("error\n"); printf("val de auxElementTransfer %d",auxElementTransfer); return 0; } então se as duas variáveis forem iguais , ele faz o que está antes dos dois pontos , e se não for iguais ele faz o que está depois dos dois pontos .
  17. @Thales Muchante para desenhar esse losango é fácil, você pode usar uma função criada pelo usuário chamada de gotoxy que é essa aqui : #include <stdio.h> #include <conio.h> #include <windows.h> void gotoxy(int x, int y){ COORD c; c.X = x; c.Y = y; SetConsoleCursorPosition(GetStdHandle(STD_OUTPUT_HANDLE),c); } com isso você posiciona o cursor no local onde quer imprimir, e para isso você usa um loop para as linhas e outro loop dentro desse para as colunas e também três variáveis para controlar a posição desejada, por exemplo : gotoxy(10,15); isso coloca o cursor para imprimir na posição coluna 10 na linha 15, então se você der um printf (" * " ); ele imprime o asterisco nessa posição . agora não entendi por que imprimir o asterisco e logo em seguida apagar o mesmo .
  18. @Murillo Pereira da Silva para você carregar um char com caracteres, entre aspas duplas, você pode usar a função strcpy junto com a biblioteca string.h , ajeitei algumas linhas para dar uma melhor aparência no texto , mas para você fazer muitos cadastros é melhor você usar vetores ou matrizes, pois do jeito que está você só consegue cadastrar um cliente : com vetores você usaria assim : char nome[100][256]; e na hora de cadastrar você colocaria assim : printf("escreva seu nome para se identificar: "); fflush(stdin); gets(nome[j]); j++; sendo que J é uma variável para controlar a quantidade de clientes cadastrados , então ele começaria de zero e iria aumentando a cada cliente que for cadastrado, aqui está seu código com algumas modificações : #include <stdio.h> #include <stdlib.h> #include <time.h> #include <locale.h> #include <string.h> int main(){ int carroalugado, diascarro, alugarconsultar,idosoparceiro,continuar=1, dia, devolucao; float tarifacarro,parceiro; int idoso; char nome[256]; char data[9]; char mostrarcarroalugado[256]; /*// Quero mostrar essa variavel na tela.*/ char hora[9]; char c[3];/*um a mais para o caractere nulo \0*/ setlocale(LC_ALL,""); _strdate(data); /*isso pega a data do sistema*//* // não usei ainda*/ _strtime(hora); /*isso pega a hora do sistema*//* // não usei ainda*/ printf("a data é %s\n",data);/*o caractere 0 e 1 eh o mes - o 2 eh a barra - o 3 e 4 eh o dia */ /* o 5 eh a outra barra*/ /* o 6 e 7 eh o ano */ printf("a hora é %s\n",hora); printf("=================================================\n"); printf("========== Bem-vindo a Legal Rent a Car =========\n"); printf("================================================="); do{ printf("\n\n O que voce deseja fazer ? \n\n"); printf(" 1- Alugar um carro\n"); printf(" 2- Consultar dados de carro alugado\n"); printf(" 3- Sair\n\n"); scanf("%d",&alugarconsultar); if(alugarconsultar==3)return 0; if(alugarconsultar==1){ printf("escreva seu nome para se identificar: "); fflush(stdin); /*gets(nome);*/ gets(nome); printf("qual Carro voce deseja alugar? \n\n"); printf(" Carros disponiveis no momento: \n\n"); printf(" 1-Fox AAA2020 diaria = R$10,00 "); scanf("%d",&carroalugado); if(carroalugado == 1){ strcpy(mostrarcarroalugado,"FoxAAA2020");/*// <-- aqui eu estou tentando atribuir o nome do carro*/ /*(não sei se é o certo)*/ printf("Por quantos dias voce deseja alugar o veiculo? "); scanf("%d",&diascarro); printf("voce e de alguma empresa parceira ou idoso?\n\n 1-Parceiro\n 2-Idoso\n 3- Nenhum "); scanf("%d",&idosoparceiro); if(idosoparceiro==1){ tarifacarro = (10.00*5)/100; parceiro = 10.00 - tarifacarro; printf("desconto para parceiro = %.2f\n\n",parceiro ); } else{ if(idosoparceiro==2){ tarifacarro = (10.00*5)/100; idoso = (10.00*10)/100; printf("desconto para idoso = %d\n\n",idoso ); } else{ if(idosoparceiro==3){ printf("Sem Descontos \n\n"); } } } printf("==========Nota Fiscal==========\n\n"); printf(" Nome: %s \n carro alugado: %s\n Preco a ser pago: R$%.2f \n",nome,mostrarcarroalugado,tarifacarro); printf(" Data do Recebimento do veiculo: \n ==============================\n\n\n"); /*// tento imprimir ela */ /*aqui, mas ela saiu como 0(zero), ou alguma letra aleatória quando altero o codigo.*/ } } printf("deseja continuar a navegar? 1- sim 2- nao "); scanf("%d",&continuar); }while(continuar == 1); return 0; }
  19. @Tiago SRibeiro você pode usar o comando string . Length para ver o tamanho da string e com um laço de repetição ir pegando letra por letra e comparando com a letra a e quando encontrar essa letra A então escreve a posição , com isso indo até o final da string . using System; using System.Collections.Generic; using System.Text; namespace ConsoleApplication1 { class Program { static void Main(string[] args) { string s; Console.WriteLine("Digite uma palavra "); s = Console.ReadLine(); Console.WriteLine(); for (int i = 0; i < s.Length; i++) { if (s[i] == 'a') { Console.WriteLine("foi encontrada a letra A na posicao "+(i+1)+" Do Vetor"); } } Console.WriteLine("\n"); } } }
  20. @mosiah santos se programa está com alguns erros de compilação, e ali na função tipo_do_carro você tem um return que retorna o mesmo valor de entrada tp e deveria retornar o resultado que é valor, então como esse código é bem extenso vai demorar para conseguir acertar .
  21. @Simon Viegas sim , creio que no c++ seja diferente, mas o @carlos20030 postou como c e no codeblocks eu fiz como c mesmo, quer dizer coloquei apenas os comandos do c, como printf que tem no c e c++ ao invés de usar cout que só tem no c++, no entanto o manuseio de string provavelmente seja diferente mesmo .
  22. @Paula Argon não entendi muito bem, você disse " A sua tarefa é escrever um algoritmo que leia as notas de várias turmas deste professor " ele vai ler as notas ou as médias das notas ? pois se for ler as notas então precisa fazer a média e se não precisar das notas então fica mais fácil pois já pega as medias. aqui está um inicio de programa , está pegando as notas e calculando as médias , agora precisa fazer a porcentagem, mas é de apenas uma turma, se o professor tem outras turmas , vai precisar organizar melhor o código : Algoritmo "porcentagem por grupo" Var aluno :vetor[1..40,1..6] de real//numero do aluno e as quatro notas //e a media e a turma n,i,a : inteiro m : real Inicio escreval("Digite Qual O Nùmero Da Turma ") leia(aluno[1,6]) escreval("Vamos pegar as notas dos alunos Da Turma ",aluno[1,6]) n:=1 a:=1 repita m:=0 para i de 1 ate 4 faca escreva("Digite a",i," Nota Do",a," Aluno") leia(aluno[a,i])//a = aluno e i = nota m := m + aluno[a,i] fimpara aluno[a,5] := m/4 escreva("Quer Cadastrar As Notas De Outro Aluno (1)-sim (0)-não ") leia(n) a:=a+1 ate n=0 para i de 1 ate a-1 faca escreval("O Aluno",i," Teve Média =",aluno[i,5]) fimpara Fimalgoritmo
  23. @Paulo_kusanagi o pessoal começa estudando pela internet mesmo no youtube tem aulas de lógica de programação que é para iniciantes e depois que estudar essa lógica de programação vai para um linguagem mais avançada que pode ser c / c ++ / c# / java sendo que essas três primeiras são mais fácil e tem muita coisa sobre elas na internet. mas se você quer um livro aqui está um em c : https://www.amazon.com.br/Programação-Para-Adolescentes-Leigos/dp/8550800007?tag=goog0ef-20&smid=A1ZZFT5FULY4LN&ascsubtag=12ba94f5-9e10-45ec-b0f8-73185bfa31ae
  24. @_MainNami você precisa criar os vetores A e B assim : int vetor_A[10]; int vetor_B[10]; int i; e depois pegar os dez números e colocar no vetor_A, e para isso você pode usar um laço de repetição que pode ser um for indo de zero enquanto for menor que 10 e dentro do for você pega os números usando scanf assim : scanf("%d",&vetor_A[i]); depois com outro laço de repetição você verifica se o número na posição do vetor_A é par ou impar usando esse comando if(vetor_A[i] % 2 == 0) se for zero é por que é par e se não for zero é por que é ímpar aí então você faz o que foi pedido ou multiplica por 5 ou soma 5 e coloca no vetor_B [ i ] , depois desse laço de repetição terminar você imprime na tela usando outro laço de repetição. mas agora que vi que você quer fazer é no visualg, então os comandos serão diferentes . então os vetores seriam assim : vetor_A : vetor[1..10] de inteiro vetor_B : vetor[1..10] de inteiro i : inteiro o scanf seria assim : leia(vetor_A[ i ] ) e o if seria assim : se vetor_A[ i] mod 2 = 0 . . o que fazer nesse caso . fimse
  25. @jbiribi o return só pode retornar um resultado . você pode usar uma variável global ( aquela que fica lá no início antes da main ) para retornar o outro número . então seu código ficaria assim: : #include <stdio.h> #include <locale.h> float c; float troca (float a, float b){ float aux; aux = a; a = b; b=aux; c = b; return a; } int main() { setlocale(LC_ALL,""); float x, y; printf("Insira um valor para X: "); scanf("%f", &x); printf("Insira um valor para Y: "); scanf("%f", &y); printf("\nX é igual a %.2f e Y é igual a %.2f\n\n", troca(x,y),c); return 0; }

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

LANÇAMENTO!

eletronica2025-popup.jpg


CLIQUE AQUI E BAIXE AGORA MESMO!