-
Posts
3.284 -
Cadastrado em
-
Última visita
Tipo de conteúdo
Artigos
Selos
Livros
Cursos
Análises
Fórum
Tudo que Ansi C postou
-
O link do post tem todas as explicações que alguém precisa. Boa Sorte!
-
Bom D! O erro é tratar o ponteiro como se fosse um arranjo (no sentido de ser uma implementação interna da linguagem com aritmética de ponteiros implícita) quando na verdade ponteiros não são arranjos, cada qual tem sua implementação. Então, use a nomenclatura de arranjos apenas se for um ponteiro de arranjo, e ainda se for uma referência de arranjo. Ponteiro de ponteiro não é a mesma coisa que arranjos (vetores e matrizes), ele é apenas ponteiro. Um ponteiro de Arranjo.geeksforgeeks.org Ok? Tchau!
-
Olá, tudo bem com você? Então, erro logo de cara: Porque na realidade o nome de sua função tem um estilo exigido no enunciado que é, o estilo lowerCamelCase. Onde primeiro nome é de inicial minúscula e os seguintes com inicial maiúscula: emersonLemos (vetor[], comprimento) Isso foi o mais próximo que você chegou de um acerto. Recomendação: Lei apontamento, revise as anotações e ainda assim; faça um novo código. Ok ? Tchau !
-
Olá todos, tudo bem? Então, com relação aos exemplares, em pilha o início é o fim e o fim é o início, ou seja, no vetor o índice zero é o fim da pilha (início da extremidade chamada topo). A ausência de elementos (ou pilha vazia) é indicado por índice -1. Seria bom colocar esses conceitos, que apresentei, em prática. OK? Tchau!
-
Olá, tudo bem? Então, já é certo que houve erro de digitação bem aqui: X = X + Y / 2 . X; ↑ Para que resolva seu problema sem enrolação; onde vê um pontinho é para vê uma outra operação de divisão. Some isso a mais uma releitura do problema. Ok? Tchau.
-
Olá, tudo bem? Então, você está forçando uma saída redonda pois na verdade a sua precisão ainda continua. Para resolver o seu problema sem enrolação, basta apenas adicionar um valor (inteiro literal) a tua escolha antes do ponto no string-format, bem aqui: %2.Xf\n Onde vê um X, coloque 4 só de exemplo. Ok? tchau.
-
Problema de consistência. Para que não me confunda as nomenclaturas tendo o máximo seguir apenas um paradigma, nunca mais que 1. Então, se seguir esse conselho também não se confundirá nunca. A partir de agora use sempre (->) operador unário para referencias ponteiro nas estruturas e seus membros, sempre. // preenche produtos void preenche_produtos (struct Produto *p){ preenche_fornecedor (&p->f); printf ("informe o produto p/ cadastrar no estoque: "); fgets (p->nome, 20, stdin); printf ("informe a quantidade da compra: "); scanf ("%d", &p->qtd); printf ("informe o preτo unitario: "); scanf ("%d", &p->custo); p->valorc = p->custo * p->qtd; printf ("valor da mercadoria no estoque %d: ", p->valorc); p->venda = p->valorc * 1.4; } Ok! tchau.
-
Olá tudo bem? Para esse algoritmo deu certo, pelo menos não temos crashed. #include <iostream> //! as funções padrões de entrada e saída. using namespace std; int main (int argc, char **argv){ int numa, dena, numb, denb; cout << endl; cout << "Entre com os valores da primeira fracao" << endl; cout << "1] numerador..: "; cin >> numa; cout << " denominador: "; cin >> dena; cout << endl; cout << "Entre com os valores da segunda fracao" << endl; cout << "2] numerador..: "; cin >> numb; cout << " denominador: "; cin >> denb; cout << endl; cout << endl; int numerad = ((numa * denb) + (numb * dena)); int denomin = dena * denb; cout << "A soma das fracoes é: " << numerad << "/" << denomin << endl; int mdc = 1; for (int d = denomin; 1 < d; d --){ if (denomin % d == 0 && numerad % d == 0){ mdc = d; d = 0; }} if (mdc != 1){ numerad /= mdc; denomin /= mdc; cout << "A soma (reduzida) das frações é: " << numerad << "/"; cout << denomin; cout << endl; } cout << endl; return 0; } Ok tchau!
-
Free deve ser utilizado Sim, se um bloco de memória é alocado esse bloco de memória será disponibilizado (desalocado) após o uso de free no processo atual, e se o mesmo processo / programa acabar, para o sistema operacional. Até onde sei. Ok!
-
Olá tudo bem? Existem profissionais que seguramente dizem isso, dizem também que free devolve a memória para o sistema operacional e entre outras afirmações. Se isso é um quesito importante e se fosse permitido poderia ter zerado no algoritmo mesmo. Inclusive cada um dos valores alocados (eu faço isso mesmo sem motivos) e por fim o ponteiro. Eu nunca experimentei um função free que anula ponteiros, e uma função free que não só desaloca memória como também libera para os sistema operacional. Essas coisas são mitos para mim.
-
Olá tudo bem? Um cardápio implementa-se dentro e foram da função main. Para esse exercício implementei dentro da função main. Então dentro da main fiz aquilo que é do menu, e suas funções implementadas com switch-case, por exemplo: #include <stdio.h> /**< os padrões de entrada e saída. */ #include <locale.h> /**< os padrões de localidade. */ int main (int argc, char **argv){ int quantidade, cont = 0; struct cliente{ char nome[50]; }; printf ("\n"); setlocale (LC_ALL,""); printf ("Insira quantos clientes deseja cadastrar: \t [ ]\b\b"); scanf (" %d", &quantidade); /* nova strutc dados */ struct cliente__dados{ struct cliente dados[quantidade]; }; struct cliente__dados clientes; int opt; lbmenu : printf ("Opções do Sistema\n"); printf ("[1]: Cadastrar Clientes\n"); printf ("[2]: Exibir os Clientes já cadastrados\n"); printf ("[3]: Encerrar\n"); printf ("[ ]\b\b"); scanf (" %d", &opt); switch (opt){ case 1 : printf("\n\n"); for (int i = cont = 0; i < quantidade; i ++) { printf("Insira o nome do %dº cliente: \t", i + 1); scanf(" %[^\n]", clientes.dados[i].nome); /* limpa_linha () */ scanf("%*[^\n]"); scanf("%*c"); cont ++; } printf ("\n\n"); break; case 2 : printf ("\n"); printf("Eis a lista de todos os clientes cadastrados:"); for (int k = 0; k < cont; k ++) { printf ("\n "); printf ("%dº cliente cadastrado: ", k + 1); printf ("%s", clientes.dados[k].nome); } printf ("\n\n"); break; case 3 : printf ("Bye !!!\n\n"); return 0; default : printf ("<!> Erro opção invalida\a"); printf ("\n\n"); } goto lbmenu; /* jump para cardápio */ return 0; } Ok tchau! adicionado 17 minutos depois Faltou a variável cont;
-
@Igor Vargas Sendo assim, você acertou! Porque provavelmente é o que tem. Ps.: Isso não quer dizer que esteja errado, em alguns teremos 0 e outros não. Depende de outras questões.
-
Certamente, a função desaloca a memória que foi alocada anteriormente, mas não faz a limpeza de seu conteúdo. Essa limpeza extra de seus valores antes de desalocar vai custar um pouco de desempenho do seu programa, que no contexto literalmente não significa nada, mais literalmente coletou-se o lixo com certeza. Também quem lhe disse que é necessário. Você tem todo direito de não considera-la, mais não deve também distorce-la. E obrigado pelo restante!
-
Olá, tudo bem? pinSensorChuva A1: Observou que foi posto A1 para o pino analógico? Isso sei que é o mesmo que 1 na sequência de conexões analógicas, vale também em alguns casos colocar penas valor 1. Para o sensor LDR ponha 0 ou o disponível. Agora no mesmo local em que se encontra a proposição do Sensor de Chuva coloque também o Sendo de Luz. Bem aqui: if (analogRead(pinSensorChuva) > 700 || analogRead(ldr_pin_sensor_light) >= xxx ) /* ..."resto do código" ... */ *observe que o sensor de luz no exemplo acima também e analógico. Ok tchau! .
-
Olá, tudo bem? Captei sua sinapse, mas existe maneira bem melhore de se fazer isso; começando com while, if-else e somente um de cada. [N1] Enquanto numero é maior (e igual) a 0 faça [N2] Se numero mod 2 é diferente de 0 é ímpar, senão é par. [N3] repete. Ok tchau!
-
Então é um rascunho de norma. Que posteriormente foi retirada na versão final. Quando colocamos -std=c++14 sabe o que acontece, nada o mesmo resultado e com full warning ativo que -std=c++11. Até o editor online onlinegdb também passou pelo teste c++1x. Só o nosso colega que está amarrado . Que legal valeu!!
-
é um rascunho, ou coisa assim. adicionado 1 minuto depois É um norma. adicionado 3 minutos depois Enfim, eu garanto para você que usar std=c++11, não é um problema, pelo menos não aqui.
-
N3690 Então eu imaginei coisas, junto de uma sala de 45 estudantes de Física (na época atualmente 4), e continua vendo tais ilusões até hoje !!! Agora que você falou isso, lembrei de uma matéria que dizia claramente existir uma repulsa do "criado do Linux" com relação aos programadores que usam linguagem C++. Os programadores de C são Deuses e os de C++ são hereges. Viva Linux !!!
-
Tudo que li me leva acreditar que não resultar em mensagem de alerta ou erro não é algo ruim porque toda norma deve ser a soma de normas anteriores e mais, se não como ficaria o quesito compatibilidade, um caos com certeza.
-
Concordo! Não lembrava com certeza e fiz uma rápida pesquisa que constatou o que dissestes. De fato não é Bubble S. e não tem nada com relação 1 for ou 2 for na implementação. adicionado 3 minutos depois No geral a cláusula fica assim em Bubble : A[k-1] > A[k]
-
Pois então, pensei que não. Já que usamos std=c++11 e não há erros.
-
Melhor compilador que existe é o GCC; com ele não existe essas frescuras.
-
Porém a cessão N3690 § 8.3.4, p185 tem um exemplo de uso.
-
Pois é, sua versão tem alguma opção ativa na aba de configuração do compilador que está com algo assim, eu presumo: std=c++98
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