Ir para conteúdo

paulopoxoreo1234@gmail.com

Members
  • Total de itens

    7
  • Registro em

  • Última visita

Tudo que paulopoxoreo1234@gmail.com postou

  1. paulopoxoreo1234@gmail.com

    Estrutura de Dados (como corrigir o erro desse programa em linguagem C)

    Diamantes e Areia: João está trabalhando em uma mina, tentando retirar o máximo que consegue de diamantes "<>". Ele deve excluir todas as particulas de areia "." do processo e a cada retirada de diamante, novos diamantes poderão se formar. Se ele tem como uma entrada .<...<<..>>....>....>>>., três diamantes são formados. O primeiro é retirado de <..>, resultando .<...<>....>....>>>. Em seguida o segundo diamante é retirado, restando .<.......>....>>>. O terceiro diamante é então retirado, restando no final .....>>>., sem possibilidade de extração de novo diamante. Entrada Deve ser lido um valor inteiro N que representa a quantidade de casos de teste. Cada linha a seguir é um caso de teste que contém até 1000 caracteres, incluindo "<,>, ." Saída Você deve imprimir a quantidade de diamantes possíveis de serem extraídos em cada caso de entrada. OBS – Deve ser utilizado pilha. Eu fiz o codigo mas não esta dando certo. Quando eu coloco >< ele também conta como um diamante Se alguém puder me ajudar. #include <cstdio> #include <cstring> int main () { int q, w, guaxima, greater, liryus; char lista[1001]; scanf("%d", &q); while (q--) { scanf("%s", lista); guaxima = greater = liryus = 0; for (w=0; w<strlen(lista); w++) { if (lista[w] == '<') { guaxima++; } else if (lista[w] == '>') { if (guaxima > 0) { liryus++; guaxima--; } } } printf("%d\n", liryus); } return 32768; } #include <cstdio> #include <cstring> int main () { int q, w, guaxima, greater, liryus; char lista[1001]; scanf("%d", &q); while (q--) { scanf("%s", lista); guaxima = greater = liryus = 0; for (w=0; w<strlen(lista); w++) { if (lista[w] == '<') { guaxima++; } else if (lista[w] == '>') { if (guaxima > 0) { liryus++; guaxima--; } } } printf("%d\n", liryus); } return 32768; }
  2. paulopoxoreo1234@gmail.com

    Como fazer a matriz transposta

    Fiz a multiplicação da 2 matrizes mas não consigo fazer a transposta dela. Peço ajuda para solucionar este problema. #include <stdio.h> #include <stdlib.h> #define T_BUFFER 512 int main(void) { int *numeros, q_linhas = 0, q_colunas = 0, linhas, colunas; char buffer[T_BUFFER]; /* Pega a quantidade de linhas da matriz */ do { printf("Digite a quantidade de linhas da matriz\n"); if (fgets(buffer, T_BUFFER, stdin) != NULL) { if (buffer[0] != '\n') { if (sscanf(buffer, "%i", &q_linhas) != 1) { printf("Digite um numero\n"); } } else { printf("Digite uma entrada valida!\n"); } } } while (q_linhas <= 0); /* Pega a quantidade de colunas da matriz */ do { printf("Digite a quantidade de colunas da matriz\n"); if (fgets(buffer, T_BUFFER, stdin) != NULL) { if (buffer[0] != '\n') { if (sscanf(buffer, "%i", &q_colunas) != 1) { printf("Digite um numero\n"); } } else { printf("Digite uma entrada valida!\n"); } } } while (q_colunas <= 0); /* Reserva memoria para a matriz */ numeros = malloc(sizeof(*numeros)*q_linhas*q_colunas); if (numeros == NULL) { perror("Erro ao reservar memoria!"); exit(EXIT_FAILURE); } /* Lê a matriz do úsuario */ for (linhas = 0; linhas < q_linhas; linhas++) { for (colunas = 0; colunas < q_colunas; colunas++) { int pega_novamente = 1; /* Pega um numero */ do { printf("[%i][%i]\n", linhas, colunas); if (fgets(buffer, T_BUFFER, stdin) != NULL) { if (buffer[0] != '\n') { if (sscanf(buffer, "%i", &numeros[(linhas*q_colunas)+colunas]) == 1) { pega_novamente = 0; /* Sai do "do {} while()" */ } } else { printf("Digite uma entrada valida!\n"); } } } while (pega_novamente); } } /* Mostra a matriz */ printf("Matriz digitada\n"); for (linhas = 0; linhas < q_linhas; linhas++) { for (colunas = 0; colunas < q_colunas; colunas++) { printf("%i,", numeros[(linhas*q_colunas)+colunas]); } putchar('\n'); } getchar(); /* Espera o enter */ /* Libera a memoria */ free(numeros); return(0); }
  3. paulopoxoreo1234@gmail.com

    Dúvida sobre questão de um programa em linguagem C

    Sabe-se que numa matriz A com 10 linhas e 3 colunas está armazenado o gabarito de um concurso, onde na primeira coluna fica armazenado a nota da prova objetiva, na segunda coluna fica armazenado a nota da prova subjetiva e na terceira coluna está armazenado a nota mínima a ser alcançada na prova objetiva para que seja corrigida a prova subjetiva. A partir disso, desenvolva um programa em C que lido as informações do gabarito para a matriz A diga: Qual a porcentagem de participantes que não tiveram a prova subjetiva corrigida? Qual a média final dos participantes que tiveram a prova subjetiva corrigida? Considerando que a média final é dada pela seguinte fórmula:, onde Mp é a média do participante que teve a prova subjetiva corrigida, PO é a nota da prova objetiva, PS é a nota da prova subjetiva, MF é a média final dos participantes que tiveram a prova subjetiva corrigida e n a quantidade de participantes que tiveram a prova subjetiva corrigida. ABAIXO ESTÁ O CÓDIGO PARA COMPILAÇÃO. GOSTARIA DE VER SE VOCÊS APONTAM A SOLUÇÃO DO ERRO. #include<stdio.h> #include<conio.h> #define MATRIZ 3 float matriz[MATRIZ][3],aprovados,reprovados,MF; int p,q,r; int main(){ for(q=1;q<=MATRIZ;q++){ for(p=1;p<=3;p++){ //validação matriz A; switch (p){ case 1: printf("\n\ncandidato (%d)\n",q); printf("PO -> ");break; case 2: printf("PS -> ");break; case 3: printf("nota minima na objetiva -> ");break; } scanf("%f",&matriz[q][p]); } if(matriz[q][1]>=matriz[q][3]){ MF=MF+(matriz[q][1]+matriz[q][2])/2; r++;//alunos que foram aprovados para a segunda etapa; } printf("MP -> %.2f",(matriz[q][1]+matriz[q][2])/2); printf("\n"); } MF=MF/r; if(r!=MATRIZ) aprovados=r*(100/MATRIZ); else aprovados=100; reprovados=100-aprovados; printf("\n\nprovas subjetiva corrigidas : %d",r); printf("\nporcentagem de aprovados : %.2f %",aprovados); printf("\nporcentagem de reprovados : %.2f %",reprovados); printf("\nmedia dos aprovados : %.2f",MF); }
  4. paulopoxoreo1234@gmail.com

    Dúvida sobre questão de um programa em linguagem C

    Dado o trecho de código em C listado abaixo responda as perguntas a seguir. Cont = result = 1; For ( i=0; i<5; i= i+0.1){ Cont = cont+i; Result *= cont; Printf(“%f", result); } a) O que será impresso depois da primeira iteração deste código? b) Quantas vezes este laço precisará ser executado para que encontre a condição de término ? c) Faça um trecho de código em C para quebrar esse laço na decima quinta iteração. * A minha dúvida é em relação à alínea c. Eu devo substituir For ( i=0; i<15; i= i+0.1) ?
  5. Dado o trecho de código em C listado abaixo responda as perguntas a seguir. Cont = result = 1; For ( i=0; i<5; i= i+0.1){ Cont = cont+i; Result *= cont; Printf(“%f", result); } a) O que será impresso depois da primeira iteração deste código? b) Quantas vezes este laço precisará ser executado para que encontre a condição de término ? c) Faça um trecho de código em C para quebrar esse laço na decima quinta iteração.
  6. paulopoxoreo1234@gmail.com

    CRUD em linguagem C (registro)

    Sistema de gestão de vendas/aluguel de imóveis numa imobiliária Objetivo Principal: cadastrar, excluir, alterar, consultar e imprimir os registros dos imóveis disponíveis numa imobiliária. O formato padrão do registro tem os seguintes componentes: código do imóvel, descrição do imóvel, localização do imóvel, tipo de operação (venda ou aluguel), valor do imóvel, nome do comprador/inquilino. O sistema deve ser capaz de listar os nomes dos clientes que optaram pela operação aluguel na imobiliária, bem como quando um imóvel for vendido esse registro deve ser excluido da base de dados automaticamente. COMO DEVERIA ESTRUTURAR ESSE PROGRAMA DESDE O INÍCIO ATÉ O FIM.
×

Informação importante

Ao usar o fórum, você concorda com nossos Termos e condições.