Ir ao conteúdo

devair1010

Membro Pleno
  • Posts

    6.318
  • Cadastrado em

  • Última visita

Tudo que devair1010 postou

  1. @joaovitor0198 apenas copiar os códigos não ajudam a aprender , você precisa tentar alguns códigos que você mesmo fez , e ver os resultados , e então como você pelo menos postou esse código , e que não está cumprindo o enunciado , que diz para fazer usando o while , e isso significa que o while é o ponto principal que vai dar o resultado , então apenas colocar esse loop while ali , mas que não faz nada , e esse seu código modificado poderia ser assim : #include <iostream> #include <string> using namespace std; int main() { int Bob = 42, Renata = 17, anos = 0; /// conta = bob - (2 * renata); while ( Bob != Renata * 2 ) { Bob++; Renata++; anos++; } cout << "Bob terah o dobro da idade de Renata em " << anos << " anos" << endl; cout << "Quando Bob estiver com " << Bob << " anos" << endl; cout << "\n" << endl; return 0; }
  2. @Fídias Torres o erro é por posição inexistente na list , você precisa validar a list para não dar erros : n1 = -1 n2 = -1 p1 = -1 p2 = -1 p3 = -1 for diferença in range(qtdColuna): n1 += 1 n2 += 1 for diferença2 in range(qtdLinha): p1 += 1 for diferença3 in range(qtdLinha): p2 += 1 p3 += 1 if n1 < qtdColuna and p1 < qtdColuna: res = valores_colunas[n1][p1] print("res=",res) if n2 < qtdLinha and p2 < qtdLinha: rez = valores_colunas[n2][p2] print("rez=", rez) r1.append(res) if p3 < qtdColuna and p3 < qtdLinha: if r1[p3] != 0: regra_de_tres_p1.append(r1) else: lixeira.append(r1) print(regra_de_tres_p1) print(lixeira)
  3. @joaovitor0198 qual sua duficuldade ? , não podemos te dar um código pronto , pois eh contra as regras do fórum , e se você já tiver feito um código sobre esse exercício , então poste ele aqui para vermos como está e em que podemos ajudar .
  4. @Pietra Ester você está usando variáveis Globais , que não é bom , e além disso você não inicializou as variáveis n e tam_v , e mesmo assim enviou elas por parâmetro para as funções , e nesse caso vai criar um vetor com zero qtd de elementos , pois as variáveis globais são inicializadas pelo compilador automaticamente e com o valor zero , mas n tem um valor desconhecido , e melhor inicializar as variáveis maior e menor usando uma macro que já existe na biblioteca #include <float.h> que são FLT_MAX e FLT_MIN e algumas função não necessidade como a de criar um veto dinâmico , ali você pode cria lo na função main mesmo , e seu código poderia ser assim //BIBLIOTECAS #include <stdio.h> #include <stdlib.h> #include <float.h> //CONSTANTE LOCAL DO ARQUIVO #define ARQ_LOCAL "soma_diferenca.txt" //VARÁVEL GLOBAL PARA O TAMANHO DO VETOR int tam_v; // variaveL Global , é ruim //CRIA VETOR int *cria_vet( int n ) /// recebe variavel n , que tem valor desconhecido { int *vet; int i; printf("\nDigite o tamanho do vetor: "); scanf("%d", &tam_v); //cria um vetor de n posições vet = (int *) malloc (tam_v*sizeof(int)); //return vet; vetor dinamico não precisa ser retornado } //PREENCHE O VETOR void inicializa(float *vet, int tam_v) { int i; //Preenche o vetor for(i=0; i<tam_v; i++) { printf("Elemento %d: ", i); /// valores digitados pelo usuario scanf("%f", &vet[i]); /// lê os valores } } //MOSTRA float mostra(float *vet, int tam_v) { int i; printf("na Funcao Mostar\n"); printf("Vetor gerado: "); for (i=0; i<tam_v; i++) printf("%.2f ", vet[i]); /// return vet[tam_v]; /// retorna o vetor /// não precisa retornar pois o vetor eh dinamico /// e não se pode retornar nem vetor nem string , mas apenas um valor simples } //CALCULA A DIFERENÇA float diferenca(float *vet, int tam_v) { int i; float dif, menor = FLT_MAX, maior = FLT_MIN; printf("\nna Funcao diferenca\n"); //encontra o maior printf("tam_v = %d\nvet[0]= %.2f\n",tam_v,vet[0]); /// apenas para ver a saida printf("vet[0]= %.2f\n%.2f\n",vet[0]); printf("Maior= %.2f\n",maior); printf("Menor= %.2f\n",menor); for(i=0; i<tam_v; i++) { /// printf("vet[%d]= %.2f\n",i,vet[i]); if (vet[i] > maior) maior = vet[i]; else if( vet[i] < menor ) menor = vet[i]; } printf("\n\nMaior = %.2f\n", maior); printf("Menor = %.2f\n", menor); //calcula a diferença dif = maior - menor; //mostra a diferença printf("Diferenca = %.2f \n\n", dif); return dif; } //CALCULA A SOMA DOS ELEMENTOS float soma_elementos(float *vet, int tam_v) { int i; float soma=0; for(i=0; i<tam_v; i++) { soma = soma + vet[i]; } printf("Soma dos elementos = %.2f\n\n", soma); return soma; } //ARMAZENA EM DISCO float salva_le(float *vet, int tam_v, float soma, float dif) { FILE *fp; //Modo W de write (escrita) fp = fopen(ARQ_LOCAL, "a"); if(fp == NULL) { fopen(ARQ_LOCAL, "w");// cria e abre e reseta o arquivo para gravar no inicio dele } else { fprintf(fp, "Soma = %.2f", soma); fprintf(fp, "Dif = %.2f", dif); fclose(fp);//fecha o arquivo } printf("Soma e diferenca gravados com sucesso!\n"); //LÊ EM DISCO FILE *le; le = fopen(ARQ_LOCAL, "r");//Modo R de Read (leitura) if(le == NULL) //verifica se existe o arquivo { printf("\nErro ao abrir o arquivo.\n\n"); } else { fscanf(le, "Soma = %.2f\n", &soma); /// fscanf só le até encontrar um espaco em branco na linha fscanf(le, "Dif = %.2f", &dif); /// assim só vai ler o primeiro numero printf("Soma = %.2f\nDiferenca = %.2f\n", soma, dif); fclose(fp);//fecha o arquivo } system ("pause");//pausa na tela, somente para Windows } int main() { //VARIÁVEIS int n; /// variavel local eh bom , mas esta sem ser inicializada e com valor desconhecido float *vet, soma, dif; /// FUNÇÃO QUE CRIA O VETOR /// cria_vet(n); /// não precisa de uma funcao que cria um vetor unico printf("\nDigite o tamanho do vetor: "); /// pode cria lo aqui na funcao main mesmo scanf("%d", &tam_v); //cria um vetor de n posições vet = (int *) malloc ( tam_v * sizeof( int ) ); //FUNÇÃO QUE INICIALIZA O VETOR inicializa(vet, tam_v); int i; //Preenche o vetor printf("na funcao main\n"); for(i=0; i<tam_v; i++) { printf("%.2f\n",vet[i]); } //FUNÇÃO QUE IMPRIME O VETOR mostra(vet, tam_v); //FUNÇÃO QUE CALCULA A DIFERENÇA dif = diferenca(vet, tam_v); //FUNÇÃO SOMA soma = soma_elementos(vet, tam_v); //FUNÇÃO QUE ARMAZENA EM DISCO FAZ A LEITURA salva_le(vet, tam_v, soma, dif); return 0; }
  5. @Fídias Torres não entendi por que precisa colocar nome nas linhas e colunas , mas creio que você possa usar tres listas para armazenar esses dados , imagino algo assim : nesse caso você coloca os nomes de todas as linhas uma lista e o nome de todas as colunas em outra lista , e na terceira lista armazena a linha e a coluna e o valor daquela posição na matriz : import os # from array import array tudao = [] linhas = [] colunas = [] qtdColuna = int(input('DIGITE O NÚMERO DE COLUNAS DA SUA TABELA: ')) qtdLinha = int(input('DIGITE O NÚMERO DE LINHAS DA SUA TABELA: ')) os.system('cls') for linha in range(qtdLinha): print("linha ",linha) nom_linha = str(input("nome dessa Linha ") ) linhas.append(nom_linha) print(linhas) for coluna in range(qtdColuna): print("coluna ",coluna) nom_coluna = str(input("nome dessa coluna ") ) colunas.append(nom_coluna) print("coluna =",colunas) for linha in range(qtdLinha): vet_linha = [] for coluna in range(qtdColuna): print("valor Armazenar na linha",linhas[linha]," coluna",colunas[coluna]) val = int( input("") ) vet_linha.append(val) tudao.append( vet_linha ) print("") for j in range(qtdLinha): for i in range(qtdColuna): print("posição",linhas[j],"x",colunas[i],end="") print(" e o ConteÚdo Dessa posição em ",j,"x",i," => ",tudao[j][i]) print("A Matriz **Tudao**") print(tudao)
  6. @neto562155 para preencher ou carregar um vetor você pode usar um laço de repetição , que se repita dez vezes e usar o comando randi para gerar os números de -100 até 100 , assim poderá ter números negativos e positivos , e depois fazer os cálculos , e depois que você fizer um código sobre esse exercício , poste aqui para ajudarmos se precisar .
  7. @Fídias Torres para pegar os dados da lista , basta informar a posição na lista print("colina 0=" , colunas[0] , " linha 0=" , linhas[0]) print("Valores 0=" , valores[0] )
  8. @Pietra Ester no seu código tem nessa função //ARMAZENA EM DISCO float salva_le(float *vet, int tam_v, float soma, float dif) { FILE *fp; //Modo W de write (escrita) fp = fopen(ARQ_LOCAL, "w"); /// cria abre e reseta o arquivo /// para gravar a partir do inicio do arquivo if(fp == NULL) { printf("Sem memória!\n");//verifica se existe o arquivo } else { fprintf(fp, "Soma = %f", soma); fprintf(fp, " Dif = %f", dif); printf("Soma e diferenca gravados com sucesso!\n"); fclose(fp);//fecha o arquivo } para gravar os dados no arquivo , e toda vez que usar essa função vai resetar o arquivo , deletando o que foi gravado antes , e esses dados serão perdidos . , ficando apenas os últimos que foram gravados . então seria melhor usar outro modo de abertura do arquivo , por exemplo esse : https://www.pucsp.br/~so-comp/cursoc/aulas/c950.html FILE *fp; /// Modo "a" de "append" fp = fopen(ARQ_LOCAL, "a"); /// tenta abrir o arquivo para ler e gravar no final dele if(fp == NULL) /// se o arquivo não existir { fp = fopen(ARQ_LOCAL, "w"); /// cria e abre e reseta o arquivo para gravar no inicio dele } else { fprintf(fp, "Soma = %f", soma); fprintf(fp, " Dif = %f", dif); printf("Soma e diferenca gravados com sucesso!\n"); fclose(fp); // fecha o arquivo }
  9. @lluccasccastro você vai fazer esse programa usando a Linguagem C++ , mesmo , pois o c++ é bem diferente c , e para começar você vai criar as variáveis , e já que vai armazenar os dados gerados Aleatoriamente , usando para isso a função rand , juntamente com srand , então crie o vetor e para inserir os números gerados no vetor use o símbolo "=" , e depois para ordenar use os tais três tipos de método de ordenação de vetores , e depois que você fizer um código sobre esse exercício , poste ele aqui para ajudarmos se precisar .
  10. @Fídias Torres converter para outra linguagem , não é uma boa ideia , pois cada linguagem tem suas peculiaridades , e na outra pode não ter uma função que faça a mesma coisa , e aí vai precisar criar uma função que faça isso , então seria melhor saber o que esse programa precisa fazer , e cria lo do zero , pois nesse seu código não tem praticamente nada de python , como nessa linha : valor = new int[c][l] # em c# seria uma matriz valor = [] # em python seria assim "list" e para armazenar nessa list seria bem diferente também valor = [] # cria uma list ou "matriz" for i in range(5): # loop qtd de linhas da matriz linhas = [] # cria um vetor ou "list" for j in range(3): # loop qtd de colunas num = input('Escreva um número: ') # le o teclado e pegar o que foi digitado linhas.append(num) # armazena o numero na coluna j do vetor valor.append(linhas) # armazena cada linha na matriz
  11. @G0di9zz0 nesse link https://www.clubedohardware.com.br/forums/topic/1464792-valores-em-real-brasileiro-no-python/ tem informações .
  12. @Robs156 você quer que ele reinicie e volte a executar do zero , como se estivesse começando o jogo naquele momento ? , então essa função restart_program() // uma funcao criada pelo usuario que você colocou vai funcionar sim , se dentro dela tiver os comando certos para resetar todas as variáveis , ou então sem usar essa função , que o programa esteja dentro de um loop while , e se não for digitado a resposta certa use break , que sai desse loop e volta ao inicio , x = 1 while x != 0: // aqui as variaveis , com os valores de inicializaçao while x = 1: // aqui dentro desse loop a funcao principal resposta = (int(input('[1]Norte\n[2]Sul\n[3]Leste\n'))) if resposta == 2: string = 'Você seguiu em direção ao Sul!' for ch in string: time.sleep(0.2) print(ch, end='') else: break; // sai desse segundo loop e volta ao inicio que // esta dentro do primeiro loop
  13. @Bloonsky seu código está bem confuso , várias coisas desnecessárias , como usar dois loop's para fazer as comparações , usar strlen , que só serve para identificar o tamanho da string , e não faz nenhuma contaGem de letras , e na contageM de Números , precisa de aspas simples , pois são tratados como caracteres , sendo que estão dentro de uma string , e você usou o scanf para pegar o que for digitado no teclado , e mais esse scanf do modo simples como você usou , tem limitações , ali ele só vai pegar os caracteres digitados e até encontrar um espaço em branco , e vai parar por ali mesmo e colocar um finalizador de string , que é esse aqui "\0" , e o restante que foi digitado será descartado , então tem outros modos de usar o scanf para Que ele pegue todos os caracteres digitados , mas creio mesmo que seria melhor usar a função "fgets" , que pega todos os caracteres digitados , e seu código modificado poderia ser assim : #include<stdio.h> #include<string.h> #include<stdlib.h> int main() { int i,cont = 0, volume; /// variaveis Locais int letras = 0; /// e inicializadas int numeros = 0; char nome[100] = {"Loremipsumdolorsit amet123--"}; printf("uma frase Qualquer -> "); /// scanf("%s", &nome); O scanf só pega os dados ate encontra um espaco em branco fgets( nome , sizeof( nome ) , stdin); /// fgets pega todos os caracteres digitados e mais o newLine q eh a tecla Enter nome[strlen(nome) - 1] = 0; /// remover aquele newLine , no caso , indesejado /// o laco for diz assim : para i comecando de zero /// pois Ao escrever essa string irah pilar uma Linha da para Baixo for(i = 0; nome[i]; i++) /// e enquanto o conteudo da variavel nome na posicao { /// apontada pelo valor de i for diferente de Zero /// incrementa a variavel i , senao fim do laco printf("val de Nome[%3d]= %3d %c\n" , /// apenas verificar a SaiDa e os Num org em colunas i , nome[i] , nome[i] ); if( nome[i] >= 'a' && nome[i] <= 'z' || /// comparar com as Letras Minusculas nome[i] >= 'A' && nome[i] <= 'Z' ) /// comparar com as Letras Maiusculas { letras++; /// incrementa a qtd de letras em mais uma unidade /// se quisesse duas unidades seria : letras += 2; /// O Que prEcisa eh contar a qtd de letras /// essas tres linhas aqui de baixo não servem para Nada, /// volume = strlen( nome ); para Que pegar o tamanho da string ? /// printf( "Letras: %d\n",volume ); escrever o tamanho da string ? ? ? /// break; isso aqui vai finalizar o loop e parar a contagem na primeira letras encontrada } if(nome[i] >= '0' && nome[i] <= '9') /// comparar com Os Numeros (Digitos De 0 ate 9) { numeros += 1; /// incrementa a qtd de Numeros em mais uma Unidade } } /* for(i = 0; i <= nome[i]; i++) { if(nome[i]>=0 && nome[i]<=9) não precisa de mais esse loop , resolve se no primeiro mesmo cont++; printf("\nNumeros: %d",cont); break; } */ printf("\rA Qtd de Letras nessa String eh ---: %d\n\ \rA Qtd De Numeros na String eh ---: %d\n\n\n", letras , numeros); /// apenas uma chamada a Funcao printf torna o odiGo mais rápido return 0; }
  14. @Fídias Torres creio sinceramente que voce possa acrescentar mais um vetor para armazenar os valores , e outro lopp onde apreseta o nome da linhael e da coluna e pega o valor que voce quer e insere nesse vetor de "int" ou "float" .
  15. @Fídias Torres por que você quer nomear as linhas e as colunas ? , e outra coisa é que ali nesse seu código não tem nenhuma Matriz e sim Vetor de String's , e sendo assim em cada posição desses dois vetores só podem ser inseridos uma string e mais nenhum valor ,
  16. @Vitor Nata Zanetta Santos ele está retornando zero por que foi esse valor que você quis atribuir à essa variáveL menor , e durante as comparações ela não foi modificada pois já era a menor mesmo e assim no final escreve o valor dela que continua sendo zero mesmo , e então você pode usar muitas formas de inicializar essas duas variáveis , maior e menor , e uma delas pode ser com um if assim : scanf("%i", &p[i]); if( i == 0 ) /// ou sem usar INT_MAX e INT_MIN { menor = p[i]; /// pega o primeiro valor inserido no vetor maior = p[i]; /// e maior e menor recebem esse primeiro valor } /// para depois fazer as comparacoes ou usando a biblioteca #include <limits.h> , que permite obter o menor e o maior valor de um int na linguagem C , usando os comandos INT_MAX e INT_MIN , e seu código modificado com correções poderia ser assim : #include <stdio.h> #include <stdlib.h> #include <limits.h> /* faça um programa que leia um valor N e crie dinamicamente um vetor de N elementos e informe a média, o maior e o menor dos valores fornecidos pelo usuário. Além disso, antes de finalizar o programa, deve-se liberar a área de memória alocada. */ int main(int argc, char *argv[]) { int q, i, n, soma=0, /// soma eh do tipo int maior = INT_MIN, menor = INT_MAX; /// maior pega o menor valor possível para um int /// menor pega o maior valor possível para um int float media; /// media eh do tipo float com casas decimais int *p; printf("Digite a quantidade de elementos: "); scanf("%i", &q); p = (int *) malloc ( q * sizeof( int ));/// a primeira posicao esta no indice zero for( i=0; i<q; i++ ) /// comecando de zero aproveita um a posicao do vetor { printf("Digite o numero para o indice [%i]: ", i); scanf("%i", &p[i]); if( i == 0 ) /// ou sem usar INT_MAX e INT_MIN { menor = p[i]; /// pega o primeiro valor inserido no vetor maior = p[i]; /// e maior e menor recebem esse primeiro valor } /// para depois fazer as comparacoes soma = soma + p[i]; if( p[i] < menor ) { menor = p[i]; } else { if( p[i] > maior ) { maior = p[i]; } } } printf("\n"); for( i=0; i<q; i++ ) /// normalmente os loop's comecam em Zero { printf("Valor do elemento armazenado no indice [%i] = [%i]\n", i, p[i]); } for( i=0; i<q; i++ ) { if( p[i] < menor ) /// se for igual n precisa , deixa ele quieto { menor = p[i]; } else { if(p[i] > maior) { maior = p[i]; } } } media = (float)soma/q; /// um Cast , converter para float printf("\n\n"); printf("A media dos valores eh igual a %.2f\n\n", media); printf("Menor elemento eh %i\n", menor); printf("Maior elemento eh %i\n", maior); free(p); printf("\n\n\n"); return 0; }
  17. @robzpe Quais dados , ? , o resumo de cada disciplina e o resumo da turma ? , mas o que seria escrito nesse resumo ? , se por exemplo for o nome de todos os alunos e a situação em cada disciplina , então precisa armazenar esses dados em algumas variáveis e no final escrever os valores contidos nelas , e então seriam muitas , mas se você já souber usar os vetores e/ou matrizes , var vetor_de_nomes : vetor[1..20] de caractere /// para armazenar os nomes dos alunos vetor_de_medias : vetor[1..20] de real /// para guardar as medias de cada aluno /// pode armazenar ate 20 nomes e medias basta uma dessas variáveis onde se pode guardar várias informações nela ,
  18. @robzpe você esqueceu de colocar o "fimpara" do laço de repetição nessas duas opções 3 e 4 . caso 3 para i de 1 ate numaluno faca escreva("digite a primeira nota",i,": ") leia(nota1) escreva("digite a segunda nota ",i,":") leia(nota2) escreval media <-(nota1 + nota2 )/2 se (media < 3) entao escreval("ALUNO ESTA REPROVADO!SUA MEDIA É: " , media ) fimse se (media >= 3) e (media < 7) entao escreval("ALUNO EM PROVA FINAL! SUA MEDIA É: " , media) fimse se (media >= 7) entao escreval("PARABÉNS, VOCÊ FOI APROVADO! SUA MEDIA É: " , media) fimse fimpara // precisa desse fimpara caso 4
  19. @Lucca Dias Bertolucci você que ordenar todos dados da estrutura pelo identificador ? , e precisa ser com o MergeSort ? , e se puder ser outro você poderia fazer com o bubbleSort que é bem mais fácil de fazer , e outro ,mais fácil ainda seria esse , bem parecido , que chamo de AnchorSort . , void anchorSort( empresas *vet ) { empresas *vet2,*aux; int p1, p2, tamanho, fim1=0, fim2=0; int tamanho = sizeof(vet),j,i; vet2 = new empresas[tamanho]; if (vet2 != NULL) { for(int i=0; i < tamanho; i++) { for(int j=i+1; j < tamanho; j++) { if(vet[i].identificador > vet[j].identificador) /// organiza em Ordem crescente { aux = vet[i]; vet[i] = vet[j]; vet[j] = aux; } } } } delete[] vet2; }
  20. @robzpe não é bem isso que o enunciado pede , ele diz para ler o número de disciplinas e o número de alunos , e depois as duas notas de cada aluno nessa disciplina , mas não pede o nome de nenhuma disciplina , então basta usar o número de disciplina para formar um loop e assim ler todas as disciplinas e igualmente para os alunos , assim você pode usar qq laço de repetição , mas creio que o laço (Loop) "´para/fimpara" ,seria ideal , e o laço de repetição serve para quando você precisa fazer a mesma coisa várias vezes , pois assim nem precisa ficar escrevendo tudo novamente , e nesse seu código você fez exatamente isso nesse "escolha / caso / fimescolha" , então como disse @Simon Viegas nos códigos exemplos que ele postou , creio que você poderia fazer assim : Algoritmo "media aluno" // Escreva um pseudocódigo (algoritmo) que receba // 1 - o nome da turma // 2 - o número de disciplinas // 3 - o número de alunos por turma. // O pseudocódigo deve calcular // 4 - a média de cada aluno em cada disciplina. // Para calcular a média de cada aluno é necessário // 5 - ler as notas de 1ª avaliação // 6 - ler as notas de 2ª avaliação deste aluno [média =(1AV + 2AV) / 2]. // O pseudocódigo também deve verificar a situação do aluno: // 7 - • Reprovado por média se média for menor que 3; // 8 - • Aguardando final se média for maior ou igual a 3 e menor que 7 // 9 - • Aprovado por média se média for maior ou igual a 7 // Após ler todas as notas de todos os alunos de uma determinada disciplina, // 10 - dever ser impresso o resumo da disciplina [ver relatório abaixo]. // após ler todas as disciplinas de uma determinada turma // 11 - dever ser mpresso o resumo da turma. Var num_aluno,num_diciplina : inteiro nota1,nota2,media : real nome_turma : caractere opc_dis , j, i : inteiro Inicio escreva ("digite o nome da turma") leia (nome_turma) escreva ("digite o numero de Diciplinas") leia (num_diciplina) escreva ("digite o numero de alunos") leia (num_aluno) para j de 1 ate num_diciplina faca para i de 1 ate num_aluno faca escreva("primeira nota do Aluno",i," da diciplina",j," ") leia(nota1) escreva("Segunda nota",i," da diciplina",j," ") leia(nota2) media <-(nota1 + nota2 )/2 se ( media < 3 ) entao escreval("ALUNO ESTA REPROVADO!SUA MEDIA É: " , media) senao se (media >= 3) e (media < 7) entao escreval("ALUNO EM PROVA FINAL! SUA MEDIA É: " , media) senao escreval("PARABÉNS, VOCÊ FOI APROVADO! SUA MEDIA É: " , media) fimse fimse fimpara fimpara escreval("SainDo Do PrograMa . . . !") Fimalgoritmo e isso são os pedidos de 1 até 9 do enunciado , e os outros você pode ir fazendo aos poucos e poste aqui , para ajudarmos .
  21. @robzpe se você vai fazer usando essa linguagem visualG , então crie as variáveis que vai precisar e use o comando leia para pegar os dados inseridos pelo usuário , e depois fazer os cálculos , e depois que você tiver feito um código sobre esse exercício , poste ele aqui e ajudaremos se precisar ...
  22. @laura bezerra esse código que você postou seria o da letra b ? , se for então o que faltou nele foi criar a função ordena , e também é melhor colocar as funções depois da função main , e não usar variáveis globais , assim crie as variáveis dentro da função main e envie esse vetor por parâmetro para a função de ordenação , e seu código modificado poderia ser assim : #include <stdio.h> #include <stdlib.h> void ordena( int* ); /// prototipo da funcao int main() { int vet[5]; int i; for (i=0; i<4; i++) { printf("Digite os vets para ordenar: "); scanf("%d", &vet[i]); } ordena( vet ); ///chama a função para ordenar printf("vetOr ordenado:\n"); for (i=0; i<4; i++) { printf("%3d\n", vet[i]); } printf("\n"); system("pause"); } /// fim main void ordena(int *vet) { /// Metodo AnchorSort /// bem parecido com o bubbleSort int i=0,j,ax; for(i=0; i<4; i++ ) { for(j=i+1; j<4; j++ ) { if(vet[i] > vet[j]) { ax = vet[i]; vet[i] = vet[j]; vet[j] = ax; } } } }
  23. @bryan_carvalhal seu código funciona mas não mostra nenhum resultado , por que você colocou um vetor de tamanho desconhecido , então primeiro precisa pegar o tamanho informado pelo usuário e depois a criação desse vetor com a qtd de elementos , e corrigindo essa parte , seu código poderia ser assim : #include <stdio.h> #include <stdlib.h> #include <time.h> int main() { int i = 0, j, igual,soma=0,p;///,vet[p]; printf("Insira o tamanho do vetor\n"); scanf("%d",&p); int vet[p]; // cria o vetor com a qtd de elementos inf srand((unsigned)time(NULL)); do { vet[i] = rand() % 100; /// gerar numeros de zero ate 99 igual = 0; for(j=0; j<i; j++) { if (vet[j] == vet[i]) igual = 1; } if(igual == 0) /// não eh repetido i++; }while( i < p ); printf("ordem regular\n"); for(i=0; i<p; i++) { printf("%d ", vet[i]); } return 0; }
  24. @LucasrodriguesP o erro eh que voce colocou virgula como separador de casas decimais , e precisa ser ponto .
  25. @elisa_schneider ficou bom e funciona bem , e se você Quiser usar Letras , você pode colocar a variável "apt" como sendo do tipo char e use uma função para converter letras em maiúsculas , e seu código ficaria assim : #include <iostream> #include <iomanip> using namespace std; char maiusc(char); /// funcao converte minusculas em maiusculas int main() { string nome; char apt; double servico=0.00, total= 0.00; int diaria = 0, v_apt = 0, v_int = 0, t_diaria = 0, subtotal= 0, Servico = 0, Total = 0, Apt = 0; cout << "Nome do hOspede ----------: "; cin >> nome; cout << "NUmero de diArias --------: "; cin >> diaria; cout << "Valor do consumo interno -: "; cin >> v_int; cout << endl; cout << "Tabela de preCos: " << endl; cout << "Apt A = R$ 150 " << endl; cout << "Apt B = R$ 100 " << endl; cout << "Apt C = R$ 75 " << endl; cout << "Apt D = R$ 50 " << endl; cout << endl; cout << "Tipo de apartamento (digite uma Letra da lista)" << endl; cin >> apt; apt = maiusc(apt); if( apt == 'A' ) { v_apt = 150; } else { if( apt == 'B' ) { v_apt = 100; } else { if( apt == 'C' ) { v_apt = 75; } else { v_apt = 50; } } } t_diaria = v_apt * diaria ; subtotal = t_diaria + v_int ; servico = subtotal * 0.1 ; total = subtotal + servico; cout << fixed << setprecision(2); /// qtd de casas decimais cout << endl; cout << "HOspede -------------------: " << setw(6) << nome << endl;/// qtd de caracteres escritos cout << "Tipo de apartamento -------: " << setw(6) << apt << endl; cout << "NUmero de diArias ---------: " << setw(6) << diaria << endl; cout << "Valor da diAria -----------: " << setw(6) << v_apt << endl; cout << "Valor total das diArias ---: " << setw(6) << t_diaria << endl; cout << "Consumo interno -----------: " << setw(6) << v_int << endl; cout << "Subtotal ------------------: " << setw(6) << subtotal << endl; cout << "Taxa de serviCo (10%) -----: " << setw(6) << servico << endl; cout << "Total geral ---------------: " << setw(6) << total << endl; cout << "\n\n" << endl; return 0; } char maiusc(char x) { if( x > 96 ) return x - 32; return x; }

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!