-
Posts
6.318 -
Cadastrado em
-
Última visita
Tipo de conteúdo
Artigos
Selos
Livros
Cursos
Análises
Fórum
Tudo que devair1010 postou
-
@Thiago Vieira Galvão você está começando a programar e foi logo para c# ? cara essa linguagem é bem difícil, para quem está começando o melhor é usar o visualg, depois que você já estiver acostumado a programar em visualg aí você vai para outras linguagens. e aqui no fórum não podemos dar códigos prontos, só podemos ajudar com suas dúvidas, então faça o código e poste aqui para podermos ver como está e em que podemos ajudar .
-
@Willgo eu estou usando o code blocks também versão 16.01 e não funcionou , copia o código que você postou e coloca no code blocks e veja se consegue compilar . aqui ele deu erros nessas funções que não foram declaradas .
-
@Willgo testei aqui sem essas linas de declaração e não funcionou . por isso coloquei elas .
-
@Willgo muito bom, funcionou bem, mas nesse código que você postou ficou faltando declarar três funções, então acrescente essas linhas lá no início : void juntarlistas (int lista1[], int lista2[],int lista3[], int quant1, int quant2); void intersecao (int lista1[], int lista2[], int lista4[], int quant1, int quant2, int *quant4); void uniao(int lista1[], int lista2[], int lista5[],int quant1, int quant2, int *quant5);
-
C problema sobre programa em c que não consigo resolver
devair1010 respondeu ao tópico de Guilherme Germany Barni em C/C#/C++
@Guilherme Germany Barni você não disse se o seu código é c ou c++, mas parece que é c++ . então organizei seu código para c++ e ele ficou assim : #include <stdio.h> #include <string.h> #include <iostream> #include <vector> using namespace std; vector < float > salario; vector < int > idade ; int main() { int npessoas,idad,i,soma_idades=0,maior_ida=0; int soma_idades2=0,menor_ida=150,k=0,x=0; printf("Digite o numero de pessoas: "); scanf("%d",&npessoas); float media=0,salari,media2=0; for(i=0;i<npessoas;i++){ printf("Digite a idade da %d pessoa : ",i+1); scanf("%d",&idad); idade.push_back(idad); printf("Digite o salario da %d pessoa : ",i+1); scanf("%f",&salari); salario.push_back(salari); if (idade[i] > maior_ida){ maior_ida = idade[i]; } if (idade[i] < menor_ida){ menor_ida = idade[i]; } } printf("A maior idade eh: %d\n", maior_ida); printf("A menor idade eh: %d\n", menor_ida); for(i=0;i<salario.size();i++){ if(salario[i] >= 3000){ soma_idades = soma_idades + idade[i]; k++; } if(salario[i] < 3000){ soma_idades2 = soma_idades2 + idade[i];x++; } } media = (float)soma_idades/k; media2= (float)soma_idades2/x; if(k > 0){ printf("A media das idades das pessoas que ganham R$3000 ou mais eh %.2f: \n", media); }else printf("Nenhuma pessoa ganha mais de R$3000\n"); if(x > 0){ printf("A media das idades das pessoas que ganham menos de R$3000 eh %.2f: \n", media2); }else printf("Nenhuma pessoa ganha menos de R$3000\n"); } -
@thevaulthuntebr o que seria esse QT que você diz ? os vetores ajudam e facilitam a programação pois ele substitui uma grande quantidade de variáveis, nele você armazena os dados para depois guardar no arquivo ou banco de dados :
-
C calcular em quantas horas o garrafao estara vazio
devair1010 respondeu ao tópico de Igor Vargas em C/C#/C++
@Igor Vargas realmente o @Xaws tem razão essa linha calc=garrafao-furo*60; está errada então melhor deletar . e reorganizando seu código ficaria assim : #include <stdlib.h> #include <stdio.h> #include <conio.h> #include <math.h> int funcao(){ int garrafao=20000; int hora=0,furo=100,x,calc;; printf("Digite 1 se tiver consumo\nDigite 0 se não tiver consumo\n"); scanf("%d",&x); calc=furo; if(x==1)calc=furo+300; while(garrafao > 0){ garrafao-=calc; hora++; printf("valor de garrafao %d em %d horas\n",garrafao,hora); } return hora; } int main(){ int horas=funcao(); printf("\n\n Demorou %d horas . . . !\n\n",horas); return 0; } -
@WilliamNascimento isso é porque você coloca vírgula e o certo é ponto . 1.75 e não 1,75 inclusive lá no if tem que ser assim .
-
C calcular em quantas horas o garrafao estara vazio
devair1010 respondeu ao tópico de Igor Vargas em C/C#/C++
@Igor Vargas estou tentando ver se ele funciona . seguindo seu código ele precisa de mais alguns comandos, então depois de calc=garrafao-furo*60; coloque a pergunta se vai ter consumo ou não 1 pra sim e zero para não e pegue a resposta com scanf("%d",&x); então se for 1 calc vale 400 se for zero vale 100 e o while garrafao >= 0 e dentro do while soma um a hora e garrafao menos calc e no final return hora; assim na função main você pode imprimir a quantidade de horas. -
C calcular em quantas horas o garrafao estara vazio
devair1010 respondeu ao tópico de Igor Vargas em C/C#/C++
ta certo pode ser assim mesmo , então antes do while pergunte se tem consumo , se for sim soma os 300 mais os 100 =400 mL aí dentro do while subtraia esses 400 dos 20 000 mL até chegar a ser igual ou menor que zero , e a cada passada vai somando um ao número de horas . no final estará a quantidade de horas . -
C calcular em quantas horas o garrafao estara vazio
devair1010 respondeu ao tópico de Igor Vargas em C/C#/C++
@Igor Vargas o garrafão tem vinte Litro e você colocou 20 mil Litros e o furo vaza 50 mL em meia hora você colocou 100 mL, então coloque furo como float e com o valor = 0.05 L e no caso de consumo então soma com 150 mL para cada meia hora , ficando então com valor igual a 200 mL ou 0.2 L . então subtraia esse valor dos 20 L , e os números com casas decimais são separados por ponto e não por vírgula . -
@thevaulthuntebr seu código está bom, mas para você trabalhar com os dados você precisa de um local para armazenar esses dados e para isso você pode usar um vetor ou uma struct que é um vetor mais sofisticado, mas como você está começando creio que seja melhor usar o vetor, pois é mais fácil, então declare um vetor assim logo abaixo dos includes : #include <conio.h> char Alunos[10][20];/* este aqui é o vetor */ int x; char nome[30]; e então na função inserirAlunos use esse vetor para guardar os dados nele assim : void inserirAluno() { std::cout << "\t Digite o nome do aluno" << std::endl; std::cout << std::endl; std::cin >> Alunos[x]; x++; } aqui o x é a posição no vetor e nesse caso o vetor foi declarado como tendo 10 posições então só pode guardar dez dados nele ou você pode alterar o valor dele para o tanto que quiser, e nas outras funções você usa o mesmo vetor como referencia, por exemplo para consultar seria assim : void consultar() { std::cout << "\t Consulte algum aluno Digite O Nome " << std::endl; std::cout << std::endl; std::cin >> nome; for(i=0;i<10;i++){ if(strcmp(nome,Alunos[i])==0){ cout<<"Nome Do Aluno "<<Alunos[i]; getch(); break; } } } depois que você estiver acostumado a usar esses vetores você passa a usar os struct e os arquivos .
-
Outro armazenar em um vetor de tamanho 10, numeros aleatorios entre 0 e 99 , por fim
devair1010 respondeu ao tópico de AdrianoSilva0213 em Programação - iniciantes
@AdrianoSilva0213 em qual programa você pretende fazer esse algoritmo ? se for no visualg você pode usar o camando randi para gerar esses números aleatórios, assim : a := randi(100) e colocar no vetor assim : vetor[x] := a para somar seria assim : vetor[x] := vetor[x]+1 e para apresentar na tela pode ser assim : escreval(vetor[y]) mas no visualg os vetores não tem posição zero, eles começam na posição 1 -
@hidantachi não seria porque a variável str só cabe 1000 caracteres ? experimente aumentar esse valor para por exemplo 10000.
-
VisualG Construção algoritmo de numeração
devair1010 respondeu ao tópico de Vengefull em Programação - iniciantes
@Helen Fernanda de Souza aqui o código com as melhorias feitas pelo Simon Viegas , os vetores tiveram os nomes modificados para melhor compreensão, então até aqui ele excluiu os 10 de 60, e gerou os 30 dos 50 que sobraram e fez isso 3 vezes, e agora os dez que vai fixar dos 30 são escolhidos pelo usuário ? e você quer fixar dez de cada um desses trinta ? algoritmo "Algoritmo exercicio de numeracao3" var vetor_60 :vetor [1..60] de inteiro //vetor armazena 60 posiçoes vetor_30_1 :vetor [1..30] de inteiro //vetor armazena 30 posições vetor_30_2 :vetor [1..30] de inteiro //vetor armazena 30 posições vetor_30_3 :vetor [1..30] de inteiro //vetor armazena 30 posições vetor_10_1 :vetor [1..10] de inteiro //vetor armazena 10 posições vetor_10_2 :vetor [1..10] de inteiro //vetor armazena 10 posições vetor_10_3 :vetor [1..10] de inteiro //vetor armazena 10 posições vetor_3_1 :vetor [1..3 ] de inteiro //vetor armazena 3 posições vetor_3_2 :vetor [1..3 ] de inteiro //vetor armazena 3 posições vetor_3_3 :vetor [1..3 ] de inteiro //vetor armazena 3 posições p :inteiro //auxiliar para posicionar o vetor i,j :inteiro //auxiliar para percorrer o vetor OK :logico //flag para verificar se a etapa foi realizada com sucesso excluir :inteiro //número a ser excluído do vetor aguardar:caracter //variável criada apenas para aguardar um ENTER na interação com o usuário Inicio //gera os 60 números do vetor inicial escreval("GERANDO OS 60 NÚMEROS INICIAIS...") para p de 1 ate 60 faca vetor_60[p]:=p fimpara escreval("Tecle Enter") leia(aguardar) escreval("NÚMEROS GERADOS COM SUCESSO!") //exibe os 60 números gerados escreval() escreval("Aqui estão os 60 números iniciais") p:=1 para i de 1 ate 6 faca //cada linha para j de 1 ate 10 faca //cada coluna escreva(vetor_60[p]:2," - ") p:=p+1 fimpara escreval//para pular para a linha de baixo fimpara //"Remove" 10 números do vetor inicial escreval() escreval("REMOVENDO 10 NÚMEROS DO VETOR INICIAL...") para i de 1 ate 10 faca repita OK:=verdadeiro //inicializa a flag como OK escreva("Digite o ",i:2," número de 1 a 60 para deletar: ") //ALEATORIO ON //HABILITA O RECURSO DE GERAR VALORES ALEATÓRIOS //aleatorio -20,80 //DEFINIE A FAIXA DE NÚMERO QUE PODEM SER GERADOS leia(excluir) //ALEATORIO OFF //DESABILITA O RECURSO //OBS.: para faltar a ler pelo teclado, basta remover essas linhas se (excluir<1) ou (excluir>60) ENTÃO //se o número está fora da faixa válida escreval("Só pode ser número de 1 a 60") OK:=falso //marca como inválido {escreva("Digite ENTER para retornar")} //acho que não é necessário {leia(aguardar) //apenas para aguarda um ENTER} senao se vetor_60[excluir]=0 ENTÃO //se posição já está removida escreval("Esse número ja foi removido, escolha outro") OK:=falso //marca como inválido {escreva("Digite ENTER para retornar")} //acho que não é necessário {leia(aguardar) //apenas para aguarda um ENTER} senao vetor_60[excluir]:=0 //remove o número do vetor fimse fimse ate OK fimpara escreval("NÚMEROS REMOVIDOS COM SUCESSO") //exibe os 10 números que foram removidos escreval() escreval("Aqui estão os 10 números removidos") para p de 1 ate 60 faca se vetor_60[p]=0 ENTÃO //se tiver zero ENTÃO o número foi removido escreva(p:2," - ") //exibe a posição do número (que representa o próprio número) fimse fimpara escreval() escreval("Tecle Enter") leia(aguardar) //exibe os 50 números que sobraram após ser removido os 10 escreval() escreval("Aqui estão os 50 números que sobraram") p:=1 para i de 1 ate 6 faca para j de 1 ate 10 faca se vetor_60[p] <> 0 ENTÃO escreva(vetor_60[p]:2," - ") senao escreva(" "," - ") fimse p:=p+1 fimpara escreval() fimpara escreval("Tecle Enter") leia(aguardar) //Sorteia os primeiro 30 números do vetor de 60 posições que agora tem 50 escreval("Vamos Escolher Aleatoriamente Os Primeiros 30 Números Dos 50") para i de 1 ate 30 faca // serão 30 números repita // repite se precisar ok := verdadeiro p:=randi(60)+1 // gera um número aleatorio se vetor_60[p]=0 ENTÃO//numero foi deletado ok := falso fimse para j de 1 ate 30 faca//verifica os trinta numeros no vetor_30_1 se ok = verdadeiro ENTÃO //se o número não houver sido deletado se vetor_30_1[j] = vetor_60[p] ENTÃO//se no vetor já haver o numero gerado ok := falso// b recebe o valor 2 para repetir e escolher outro numero interrompa fimse fimse fimpara se ok = verdadeiro ENTÃO vetor_30_1[i] := vetor_60[p] //vetor_3 armazena o numero gerado fimse ate ok fimpara escreval("Os Primeiros 30 Números Foram Gerados Com Sucesso") //escrevando os primeiros números gerados aleatórios escreval("Aqui Estão Os primeiros 30 Números Gerados Aleatórios") p:=1 para i de 1 ate 3 faca para j de 1 ate 10 faca escreva(vetor_30_1[p]," - ") p := p+1 fimpara escreval//para pular para a linha de baixo fimpara escreval("Tecle Enter") leia(aguardar) //Sorteia os segundos 30 números do vetor de 60 posições que agora tem 50 escreval("Vamos Escolher Aleatoriamente Os segundos 30 Números Dos 50") para i de 1 ate 30 faca // serão 30 números repita // repite se precisar ok := verdadeiro p:=randi(60)+1 // gera um número aleatorio se vetor_60[p]=0 ENTÃO//numero foi deletado ok := falso fimse para j de 1 ate 30 faca//verifica os trinta numeros no vetor_30_1 se ok = verdadeiro ENTÃO //se o número não houver sido deletado se vetor_30_2[j] = vetor_60[p] ENTÃO//se no vetor já haver o numero gerado ok := falso// b recebe o valor 2 para repetir e escolher outro numero interrompa fimse fimse fimpara se ok = verdadeiro ENTÃO vetor_30_2[i] := vetor_60[p] //vetor_3 armazena o numero gerado fimse ate ok fimpara escreval("Os Segundos 30 Números Foram Gerados Com Sucesso") //escrevando os segundos números gerados aleatórios escreval("Aqui Estão Os segundos 30 Números Gerados Aleatórios") p:=1 para i de 1 ate 3 faca para j de 1 ate 10 faca escreva(vetor_30_2[p]," - ") p := p+1 fimpara escreval//para pular para a linha de baixo fimpara escreval("Tecle Enter") leia(aguardar) //Sorteia os terceiros 30 números do vetor de 60 posições que agora tem 50 escreval("Vamos Escolher Aleatoriamente Os terceiros 30 Números Dos 50") para i de 1 ate 30 faca // serão 30 números repita // repite se precisar ok := verdadeiro p:=randi(60)+1 // gera um número aleatorio se vetor_60[p]=0 ENTÃO//numero foi deletado ok := falso fimse para j de 1 ate 30 faca//verifica os trinta numeros no vetor_30_1 se ok = verdadeiro ENTÃO //se o número não houver sido deletado se vetor_30_3[j] = vetor_60[p] ENTÃO//se no vetor já haver o numero gerado ok := falso// b recebe o valor 2 para repetir e escolher outro numero interrompa fimse fimse fimpara se ok = verdadeiro ENTÃO vetor_30_3[i] := vetor_60[p] //vetor_3 armazena o numero gerado fimse ate ok fimpara escreval("Os terceiros 30 Números Foram Gerados Com Sucesso") //escrevando os terceiros números gerados aleatórios escreval("Aqui Estão Os terceiros 30 Números Gerados Aleatórios") p:=1 para i de 1 ate 3 faca para j de 1 ate 10 faca escreva(vetor_30_3[p]," - ") p := p+1 fimpara escreval//para pular para a linha de baixo fimpara escreval("Tecle Enter") leia(aguardar) fimAlgoritmo -
@Leonardo Pereira Kaiser ok esse está certo, mas o primeiro loop você colocou variavel d e tem que ser c , e lá no loop para imprimir o resultado você precisa colocar um endl no segundo cout .
-
@Leonardo Pereira Kaiser nesse código ficou faltando colocar a posição do vetor .
-
@Leonardo Pereira Kaiser aqui testei e funcionou certo . posta o código que você usou .
-
@Leonardo Pereira Kaiser quase isso, ali no segundo if você colocou vetor sem a posição que deve ser posição b assim if(vetor[a]==vetor[b]) e também dentro do if você esqueceu de colocar a posição do vetor. e na hora de imprimir escreva o número e depois a quantidade de vezes que ele repetiu.
-
@Leonardo Pereira Kaiser então, ele não pode comparar o número com ele mesmo pois senão sempre será igual, por isso precisa colocar um if para que ele não compare o número com ele mesmo. e dentro desse if você coloca o outro if que faz a comparação do número .
-
@Leonardo Pereira Kaiser dentro desse loop que faz a comparação você precisa colocar outro if para ver se não está comparando o número com ele mesmo, isso seria assim : if(a != b){ e então nesse if que compara os números não precisa dessa segunda comparação, coloque assim : if(vetor[a]==vetor[b]){ vetor[b]=0; quant[a]++; com isso o número que repetiu será zerado, para que não entre na próxima comparação , depois que sair desse loop você pode imprimir os números e a quantidade de vezes que repetiu, então veja se no vetor em determinada posição for diferente de zero imprime o número que está no vetor nessa posição e a quantidade de vezes que está no quant nessa mesma posição .
-
@Sandro Generoso seu código está funcionando bem, você apenas esqueceu de colocar essa linha na função movimento peca=xadrez[LinOri][ColOri];/* faltava essa linha aqui */ e na função main modificar essa linha aqui : if (movimento(LinOri-1,ColOri-1,LinDes-1,ColDes-1) != 1){/*para começar da linha 1 e coluna 1*/ /* se começar de linha 0 e coluna 0 remova esse -1 */ então seu código ficaria assim : #include <stdio.h> char xadrez[8][8] = { {' ', ' ', ' ', ' ', ' ', ' ', ' ', ' '}, {' ', ' ', ' ', ' ', ' ', ' ', ' ', ' '}, {' ', ' ', ' ', ' ', ' ', ' ', ' ', ' '}, {' ', ' ', ' ', 'c', ' ', ' ', ' ', ' '}, {' ', ' ', ' ', ' ', ' ', ' ', ' ', ' '}, {' ', ' ', ' ', ' ', ' ', ' ', ' ', ' '}, {' ', ' ', ' ', ' ', ' ', ' ', ' ', ' '}, {' ', ' ', ' ', ' ', ' ', ' ', ' ', ' '} }; int ImprimeTabuleiro(){ system("cls"); int linha, coluna, repete; for(linha=0; linha<8; linha++){ for(repete=0; repete<3; repete++){ for(coluna=0; coluna<8; coluna++){ char peca = xadrez[linha][coluna]; char letra = ((linha+coluna)%2==0) ? '\xB2' : ' '; letra = (repete == 1 && peca != ' ') ? peca : letra; if((linha+coluna)%2==0){ printf("\xB2\%c\xB2", letra); } else{ printf(" %c ", letra); } } printf(" \n"); } } } int movimento(int LinOri, int ColOri, int LinDes, int ColDes){ int mover = 0; char peca; peca=xadrez[LinOri][ColOri];/* faltava essa linha aqui */ int Vertical = abs(LinDes - LinOri); int Horizontal = abs(ColDes - ColOri); if((peca == 'c') && (Vertical == 2 && Horizontal == 1)){ mover = 1; } if((peca == 'c') && (Vertical == 1 && Horizontal == 2)){ mover = 1; } if(mover == 1){ xadrez[LinDes][ColDes] = xadrez[LinOri-0][ColOri]; xadrez[LinOri][ColOri] = ' '; return 1; } else{ return 2; } } int main(){ int LinOri, LinDes, ColOri, ColDes; while (1) { ImprimeTabuleiro(); printf("\nCOORDENADAS DE ORIGEM DA PEÇA: (linha, coluna): "); scanf("%d %d", &LinOri, &ColOri); printf("\nCOORDENADAS DE DESTINO DA PEÇA: (linha, coluna): "); scanf("%d %d", &LinDes, &ColDes); if (movimento(LinOri-1,ColOri-1,LinDes-1,ColDes-1) != 1){/*para começar da linha 1 e coluna 1*/ /* se começar de linha 0 e coluna 0 remova esse -1 */ printf("\nERRO: O CAVALO não SE MOVIMENTA ASSIM!"); getch(); } } getch(); return 0; } então do jeito que ficou você deve digitar a primeira linha e coluna como sendo 1, portanto no começo a peça cavalo está na posição 4 4 e vai para aposição 6 5 .
-
@Barbara Oliveira seu programa está pulando por que está lendo um char e isso acontece mesmo, por que talvez tenha algum dado no buffer do teclado, então para resolver você precisa colocar um comando para limpar o buffer antes do scanf você pode usar esse aqui : fflush(stdin); e nesse programa você poderia colocar informações para o usuário saber o que fazer tipo assim : int main(){ float r,d,e,l,p; char op; while(op != 's' && 'S' ){ system("cls"); printf("Digite valor em Real: "); scanf("%f",&r); printf("D - Dolar Americano\n"); printf("E - Euro\n"); printf("L - Libra\n"); printf("P - Peso\n"); printf("S - Sair Do Programa\n\n"); printf("Digite a moeda para conversao: "); fflush(stdin); scanf("%c",&op); switch(op){ e limitar a quantidade de zeros depois da vírgula assim : case 'd': printf("O valor em Dolar Americano e igual a %.2f\n",r*0.5485);/* .2f limita em apenas dois zeros depois da virgula*/ break; e acrescentar o case para sair do programa assim : case 's': return 0;
-
VisualG visual g (uri 1001)
devair1010 respondeu ao tópico de Caique Santos Barbosa em Programação - iniciantes
@Caique Santos Barbosa pelo que entendi você ainda não sabe os comandos do visualg, então para fazer esse algoritmo use esses comando : para a entrada você usa o comando leia ex: leia(a) para somar você usa o sinal de soma ex: a + b para atribuir um valor á variável use o simbolo := ex: x := a + b para imprimir na tela você usa o comando escreva ou escreval ex: escreva( " Valor De X = " , x ) -
@Leonardo Pereira Kaiser aqui você não colocou em que posição do vetor está o dado : for (b=0;b<10;b++) { cout<<"Quantidade de objetos vendidos"; cout<<qdov;/*aqui seria assim cout << qdov[b]; */ cout<<"Valor unitario do objeto"; cout<<vdo;/*aqui seria assim cout << vdo[b]; */ vtdo[b]= vdo[b]*qdov[b]; cout<<"Valor total do objeto"; cout<<vtdo[b]; } então seu código ficaria assim : #include<iostream> #include <conio.h> using namespace std; int main(){ int i,d,j,x,vdo[10],qdov[10],vtdo[10]; float vdc,vgdv; d=0; for(i=0;i<10;i++){ cout<<"Valor do objeto "; cin>>vdo[i]; cout<<"Quantidade de objetos vendidos"; cin>>qdov[i]; } for(j=0;j<10;j++){ cout<<"Quantidade de objetos vendidos "; cout<<qdov[j]<<endl; cout<<"Valor unitario do objeto "; cout<<vdo[j]<<" "; vtdo[j] = vdo[j]*qdov[j]; cout<<"Valor total do objeto "; cout<<vtdo[j]<<"\n"<<endl; } x=qdov[0]; for(i=0;i<10;i++) if(qdov[i]>x){d=i+1;x=qdov[i];}/*d é a posição do mais vendido*/ for(i=0;i<10;i++) vgdv+=vtdo[i];/*valor total geral*/ vdc=(vgdv/100)*5;/*valor da comissao*/ cout<<"\no objeto mais vendido esta na posicao "<<d<<" do vetor"<<endl; cout<<"o valor da comissao foi : "<<vdc<<endl; 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