paulopoxoreo1234@gmail.com
Members-
Total de itens
7 -
Registro em
-
Última visita
Reputação
0 ComumSobre paulopoxoreo1234@gmail.com
-
Estrutura de Dados (como corrigir o erro desse programa em linguagem C)
paulopoxoreo1234@gmail.com postou um tópico no fórum C/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; } -
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); }
-
Dúvida sobre questão de um programa em linguagem C
paulopoxoreo1234@gmail.com postou um tópico no fórum C/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); } -
Dúvida sobre questão de um programa em linguagem C
paulopoxoreo1234@gmail.com postou um tópico no fórum C/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) ? -
Dúvida sobre questão de um programa em linguagem C
paulopoxoreo1234@gmail.com postou uma questão Perguntas e respostas rápidas
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. -
CRUD em linguagem C (registro)
paulopoxoreo1234@gmail.com postou uma questão Perguntas e respostas rápidas
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.