Ir para conteúdo

POWERED BY:

paulopoxoreo1234@gmail.com

Members
  • Total de itens

    7
  • Registro em

  • Última visita

Reputação

0 Comum

Sobre paulopoxoreo1234@gmail.com

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

Informação importante

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