Flávio Pedroza
Membro Pleno-
Posts
2.063 -
Cadastrado em
-
Última visita
Tipo de conteúdo
Artigos
Selos
Fabricantes
Livros
Cursos
Análises
Fórum
Tudo que Flávio Pedroza postou
-
Ryzen 3 2200G + B350 não da vídeo
Flávio Pedroza respondeu ao tópico de Luís Fillipe Magalhães em Computador não liga ou não dá vídeo
Nesse caso a bios já está atualizada. O problema é outro. -
C++ Maquina de estado ou outra resoluçao
Flávio Pedroza respondeu ao tópico de Julião Carmo em C/C#/C++
int l=strlen(linha); int cont = 0;//conta os "."; for(int i=0; i<l; i++) { if (!isdigit(linha[i])) { if (linha[i]=='.') { cont++; if (cont < 2) continue; } if ((i ==0) && ((linha[i] == '+') || (linha[i] == '-'))) continue; return FALSE; // string linha contém ao menos 1 caracter invalido } } return TRUE; // string linha eh valida como numerica Verifique se assim funcionar, não testei. -
C# System.IO.DirectoryNotFoundException: 'Não foi possível encontrar uma parte do c
Flávio Pedroza respondeu ao tópico de _rsd_17 em C/C#/C++
Ele não acha esta pasta "'Fotos". Tente fornecer o caminho completo, ex.: "C:\\Documentos\\Fotos\\WIN_20190125_16_11_48_Pro.jpg". -
C Calcular quantidade de dias entre duas datas, mas também considerar anos iguais
Flávio Pedroza respondeu ao tópico de ghetsys em C/C#/C++
A ideia está correta, mas seu programa não compila(tem alguns erros de sintaxe) então não sei o motivo de não ter funcionado. Este abaixo deve funcionar: #include <stdlib.h> #include <stdio.h> int DiaN; int MesN; int AnoN; int DiaA; int MesA; int AnoA; int TotalDiasA; int TotalDiasN; int TotalDias; int cta; int diasMes[12]; main(){ // atribuir dias aos meses diasMes[0] = 31; diasMes[1] = 28; diasMes[2] = 31; diasMes[3] = 30; diasMes[4] = 31; diasMes[5] = 30; diasMes[6] = 31; diasMes[7] = 31; diasMes[8] = 30; diasMes[9] = 31; diasMes[10] = 30; diasMes[11] = 31; printf("\n Digite o ano de aniversario: "); scanf("%d", &AnoN); //se for bissexto fev tem 29 if(AnoN % 4 == 0){ diasMes[1] = 29; } while(MesN < 1 || MesN > 12){ printf("\n Digite o mes de aniversario: "); scanf("%d", &MesN); } while(DiaN < 1 || DiaN > diasMes[MesN - 1]){ printf("\n Digite o dia de aniversario: "); scanf("%d", &DiaN); } TotalDias = diasMes[MesN-1] - DiaN; //Conta os dias para o mês acabar; for(cta = MesN+1; cta <= 12 ; cta++){ //Conta os meses para o ano acabar; TotalDias += diasMes[cta-1]; } //voltar fevereiro pra 28 pra validar diasMes[1] = 28; while(AnoA < AnoN || (AnoA - AnoN) >= 150){ printf("\n Digite o ano atual: "); scanf("%d", &AnoA); } //ver se tb é bissexto if(AnoA % 4 == 0){ diasMes[1] = 29; } while(MesA < 1 || MesA > 12){ printf("\n Digite o mes atual: "); scanf("%d", &MesA); } while(DiaA < 1 || DiaA > diasMes[MesA - 1]){ printf("\n Digite o dia atual: "); scanf("%d", &DiaA); } for(cta = 1; cta < MesA ; cta++){ // Conta os meses que tem no ano atual TotalDias += diasMes[cta-1]; } TotalDias += DiaA; //Contas os dias no último mes do ano atual for (cta = AnoN+1; cta < AnoA; cta++) if (cta % 4 == 0) TotalDias += 366; else TotalDias += 365; if (AnoN == AnoA) TotalDias -= (365 + (AnoN % 4 ? 0 : 1)); printf("\nVocê viveu : "); printf("%d", TotalDias); printf(" dias."); }; -
C Código em C para emular as características de um Player de Música
Flávio Pedroza respondeu ao tópico de PauloC19 em C/C#/C++
scanf_s("%s", nm, 20); //acrescentar esse argumento 20 (20 pois nm eh um array de no maximo 20 caracteres) (...) scanf_s("%s", ab, 20); -
C Código em C para emular as características de um Player de Música
Flávio Pedroza respondeu ao tópico de PauloC19 em C/C#/C++
Head = NULL;//move essa linha para fora do while while (1) { (..) void Playlist() { Playlist_Musica *ElementoVarredura; //ElementoVarredura = (struct Playlist_Musica *)malloc(sizeof(struct Playlist_Musica)); nao precisa disso (...) while (ElementoVarredura != NULL) { printf("Musica: %s ", ElementoVarredura->nm); //para imprimir strings use %s e nao %c printf("Artista/Banda %s ", ElementoVarredura->ab); //para imprimir strings use %s e nao %c printf("Duracao %f ", ElementoVarredura->duracao); ElementoVarredura = ElementoVarredura->prox; printf("\n");//bota essa quebra de linha dentro do laco } Veja se funciona com essas alterações. -
C Código em C para emular as características de um Player de Música
Flávio Pedroza respondeu ao tópico de PauloC19 em C/C#/C++
Seu código tem vários erros de sintaxe: #include<string.h> //incluir esse header AdicionarMusica(char nm[20], char ab[20], float duracao); //nm e ab sao arrays (...) printf("Digite o nome da musica: "); //faltou o ";" scanf_s("%s", nm);//faltou a "," - nao precisa do "&" ja que nm e um array (...) scanf_s("%s", ab); //nao precisa do "&" j (...) AdicionarMusica(nm, ab, duracao);//ao chamar a funcao, nao precisa especificar novamente os tipos das variaveis break;//b minusculo - verifique os outros (...) return 0; }//faltou essa chave int menu() (...) void AdicionarMusica(char nm[20], char ab[20], float duracao) { Playlist_Musica *NovoElemento;//NovO NovoElemento = (struct Playlist_Musica *)malloc(sizeof(struct Playlist_Musica)); //NovoElemento->dado = nm[20]; nao é assim que funciona - nao existe esse campo dado strcpy(NovoElemento->nm, nm); //NovoElemento->dado = ab[20]; nao é assim que funciona strcpy(NovoElemento->ab, nm); //NovoElemento->dado = duracao; NovoElemento->duracao = duracao; Veja se funciona agora -
C <Não consigo identificar os 2 erros que possuem no codigo>
Flávio Pedroza respondeu ao tópico de MPR00 em C/C#/C++
Veja se com essa alteração funciona: //void InserirListaPosicao (TLISTA *pLista, TREGISTRO pReg, int pPos) void InserirListaPosicao (TLISTA **pLista, TREGISTRO pReg, int pPos) -
C <Não consigo identificar os 2 erros que possuem no codigo>
Flávio Pedroza respondeu ao tópico de MPR00 em C/C#/C++
Eu quiz dizer para você posta a parte do código que você cria esses tipos LISTA, TNO e TREGISTRO, pois acho que erro pode ser neles. -
C <Não consigo identificar os 2 erros que possuem no codigo>
Flávio Pedroza respondeu ao tópico de MPR00 em C/C#/C++
Posto a declaração dos tipos TLISTA, TNO e TREGISTRO. -
C <suporte pra explicar o que esta acontecendo no codigo, se possivel com esquema>
Flávio Pedroza respondeu ao tópico de MPR00 em C/C#/C++
Esse código remove o último elemento de uma lista encadeada: void XYZ(TLISTA *pLista) { struct TNO *aux1, *aux2; if ((*pLista) != NULL) { aux1 = (*pLista); //aux1 aponta para o comeco da lista if (aux1->prox == NULL) //verifica se existe outro elemento alem do primeiro na lista { //caso a lista so tenha um elemento, apague este elemento free(aux1); //agora a lista toda nao tem nenhum elemento (*pLista) = NULL; } else { //caso a lista tenha outros elementos, percorre ela ate o penultimo while (aux1->prox->prox != NULL) { aux1 = aux1->prox; } //apos o laco, aux1 deve connter o penultimo elemento aux2 = aux1->prox; //faz aux2 apontar para o ultimo elemento //remove o ultimo da lista aux1->prox = NULL; //apaga o ultimo elemento da memoria. free(aux2); } }} -
C <Porque o erro ao compilar o seguinte algoritmo ?>
Flávio Pedroza respondeu ao tópico de MPR00 em C/C#/C++
O C/C++ diferencia maiúsculas de minusculas, então "NO" e "no" são interpretados como variáveis distintas.: struct NO { REGISTRO reg; struct NO *pont1; struct NO *pont2; }; -
C Ordenar colunas de matriz em ordem crescente
Flávio Pedroza respondeu ao tópico de Ramon Soares em C/C#/C++
Não entendi, como assim ordenar as colunas? Seria algo assim: Original -> Após ordenação 0 4 1 0 1 4 5 2 1 1 2 5 3 3 2 2 3 3 De todo modo, há um erro de lógica em seu programa: int main() { int i, j, m, n, x, y;//temp[i][j]; qual o valor de i e de j? zero? você esta criando uma matriz 0x0? scanf("%d", &m); if (m > 1 && m <= 1000){ n = m; int matriz[m][n]; int temp[m][n];//crie a matriz temp aqui, da mesma maneira que criou a outra -
Meu PC está travando aleatoriamente
Flávio Pedroza respondeu ao tópico de Luciane Litter em Computador congelando
Siga estes passos para testar as memórias, como sugerido nos posts anteriores. https://support.microsoft.com/pt-br/help/2512132 -
srand(time(NULL)); //so precisa chamar esta função uma unica vez, bote fora do lao //for(i = 1; i < 100; i++) esse laco esta sendo executado 99 vezes o certo seria: for(i = 0; i < 100; i++) //ou for(i = 1; i <= 100; i++) { //srand(time(NULL)); nao ha necesidade de chamar srand todas as vezes printf("\n Sequência %d: \n", i); n = 1 + rand() % 10; printf("%d \n\n", n); soma = soma + n; /*for(i = 1; i < 100; i++) nao ha necessidade de aninhar outro laco dentro do principal, desse jeito você esta gerando 100*100 numeros aleatorios! { n = 1 + rand() % 10; printf("%d \n\n", n); soma = soma + n; }*/ } //media = soma / 9; media = soma / 100; //sao 100 numeros gerados, entao deve dividir por 100. Para contar os números, crie um array de 10 elementos para armazenar a contagem de cada um: int cont[10] = {0, 0, 0, 0, 0, 0, 0, 0, 0, 0}; No laço de geração você vai somando cada um de acordo com o índice: for(i = 0; i < 100; i++) { printf("\n Sequência %d: \n", i); n = 1 + rand() % 10; printf("%d \n\n", n); cont[n-1]++; //cont[0] conta quantas vezes o numero 1 eh gerado, cont[1] conta o numero 2 e assim sucessivamente soma = soma + n; } for (int i=0; i < 10; i++) printf("O número %d foi gerado %d vezes\n", i+1, cont[i]); Veja se consegue terminar agora.
-
Acredito que sim.
-
C problema com calculadora hexadecimal octal binario e decimal
Flávio Pedroza respondeu ao tópico de João Vitor Sacramento Rocha em C/C#/C++
Uma solução seria usar uma função retornando o número em decimal: // Esta função permite converter um número na base 2, 8 ou 16 para a base decimal. // Recebe como parâmetro uma string (representação do número), e um número inteiro que // determina em qual base está o número do primeiro parâmetro. int baseToDec(char* num_base, int base) { //int no lugar de void int indx = 0, exp = 0, cont = 0, dec = 0, num = 0; // Este loop determina o tamanho da string while(num_base[cont] != '\0') { cont++; } // Neste loop, a string é percorrida de trás para frente. Cada caractere é convertido // em um número inteiro, multiplicado pela base elevada ao expoente (0..Comprimento da string) // e somado ao valor da variável 'dec', que recebe as somas sucessivas. for(exp, indx=(cont-1); exp < cont; exp++, indx--) { if(base == 16) { switch(num_base[indx]) { case 'A' : case 'a' : num = 10; break; case 'B' : case 'b' : num = 11; break; case 'C' : case 'c' : num = 12; break; case 'D' : case 'd' : num = 13; break; case 'E' : case 'e' : num = 14; break; case 'F' : case 'f' : num = 15; break; default : num = (int)num_base[indx] - (int)'0'; } } else num = (int)num_base[indx] - (int)'0'; // Aqui avalia se o usuário digitou um número válido ou não! if(num > (base-1) || num < 0) { printf("Você informou um número inválido!\n"); exit(0); } dec += num * pow(base, exp); } // O número convertido para decimal é exibido printf("DECIMAL: %d\n", dec); return dec; //retornar o número em decimal } void process_calc(int opt) { char str[SIZE]; char calc[SIZE]; int cont=0,cont1; switch(opt) { case 0 : printf("CALCULADORA ENCERRADA!\n"); exit(0); case 1 : printf("DECIMAL: "); scanf("%d", &number); decToBase(number, 2); decToBase(number, 8); decToBase(number, 16); break; case 2 : printf("BINÁRIO: "); scanf("%s", str); number = baseToDec(str, 2); decToBase(number, 8); decToBase(number, 16); break; case 3 : printf("OCTAL = "); scanf("%s", str); number = baseToDec(str, 8); decToBase(number, 2); decToBase(number, 16); break; case 4 : printf("HEXADECIMAL = "); scanf("%s", str); number = baseToDec(str, 16); decToBase(number, 2); decToBase(number, 8); break; default : printf("OPÇÃO NÃO PERMITIDA!\nTENTE NOVAMENTE\n"); break; } } -
C problema com calculadora hexadecimal octal binario e decimal
Flávio Pedroza respondeu ao tópico de João Vitor Sacramento Rocha em C/C#/C++
#include <math.h> //faltou case 3 : printf("OCTAL = "); //scanf("%s", str,3); scanf("%s", str); Encontrei esses erros de sintaxe. Teria algum erro específico? Alguma conversão que não está funcionando? -
det= mat[0][0] * mat[1][1]- mat[0][1] * mat[1][0]; Os índices em c/c++ começão em zero e vão até a dimensão-1 (em seu exemplo, de 0 a 2-1 -> 0 a 1), ok?
-
C Estou tentando um algoritmo em Visualg e estou com problemas
Flávio Pedroza respondeu ao tópico de RobertVitoriano em C/C#/C++
Veja se consegue entender a lógica do programa abaixo. Tentei comentar de forma clara. Não sei se é a melhor solução, mas acredito que funcionará: #include <iostream> using namespace std; #include <stdio.h> int main(){ int notas50, notas20; int resto; float valor; printf("Digite o valor que deseja Sacar: "); scanf("%f",&valor); if ((valor>1000 ) || (valor < 0)) { printf("Valor inválido, por favor, digite um valor entre 0 e 1000"); return 1; } resto = (int)valor % 50; notas50 = (int)valor/50;//comeco dividindo por 50, pois assim resultara em quantidade menor de notas if (resto == 0) //possível pagar apenas com notas de 50 { printf("você sacou %d notas de 50", notas50); return 0; } else //nao da para paga apenas com notas de 50 { while ((resto % 20 != 0) && (notas50>0))//se o que sobrar nao for divisivel por 20, tem que tirar cedulas de 50 ate ser possível { resto +=50; notas50--; } notas20 = resto / 20;// quantidade de cedulas de 20 resto = resto % 20;//calculo o resto final, que deve ser zero } if (resto != 0) //se o resto for diferente de zero, entao nao ha como o caixa pagar { printf("valor inválido, por favor ,digite um valor que possibilite o saque com notas de 20 e 50"); return 1; } printf("você sacou %d notas de 50 e %d notas de 20", notas50, notas20); return 0; } Esse tipo de problema você tem que racionar com faria na vida real. -
Não tenho certeza, mas pode ser que usando "unsigned char", a variável sera tratada como um número inteiro, variando de 0 a 255. Então, na hora de imprimir, será mostrada o código ASCII da letra, ao invés da letra. Mas é só um palpite.
-
De nada. Uma dica, tente fazer funções para mudar a posição do curso e as cores. Ex.: void gotoxy(int x, int y) { cout << "\033["<< x <<";"<< y <<"H"; };
-
Foi mal, tinha um espaço a mais que não devia estar, o certo é: //cout << "\033[20; 40H"; errado! cout << "\033[20;40H"; //ok! Só um adendo: para que esses códigos funcionem no console do windows, tem que habilitar no registro: https://stackoverflow.com/questions/51680709/colored-text-output-in-powershell-console-using-ansi-vt100-codes
-
/****************************************************************************** Online C++ Compiler. Code, Compile, Run and Debug C++ program online. Write your code in this editor and press "Run" button to compile and execute it. *******************************************************************************/ #include <iostream> using namespace std; /*Name BG FG Black 30 40 Red 31 41 Green 32 42 Yellow 33 43 Blue 34 44 Magenta 35 45 Cyan 36 46 White 37 47 Bright Black 90 100 Bright Red 91 101 Bright Green 92 102 Bright Yellow 93 103 Bright Blue 94 104 Bright Magenta 95 105 Bright Cyan 96 106 Bright White 97 107*/ int main() { //Texto vermelho (31) Fundo branco (107) cout << "\033[31m\033[107m"; cout << "Hello Word" << endl; //Move o curso (linha 20, coluna 40) cout << "\033[20; 40H"; //Texto branco (97) Fundo magenta (105) cout << "\033[97m\033[105m"; cout << "Hello Word" << endl; //Volta ao normal cout << "\033[37m\033[40m"; cin.get(); return 0; } /033 equivale a "Esc". Tabela completa dos códigos "Esc" http://ascii-table.com/ansi-escape-sequences.php
-
Não acho boa não... Será que com isso você não consegue encaixar a placa no slot? https://produto.mercadolivre.com.br/MLB-696118679-chapinhas-low-profile-p-placa-de-video-perfil-baixo-slim-_JM?quantity=1
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