Ir ao conteúdo
  • Cadastre-se

V!OLADOR

Membro Pleno
  • Total de itens

    428
  • Registro em

  • Última visita

  • Qualificações

    0%

Reputação

131

3 Seguidores

Sobre V!OLADOR

  • Data de Nascimento 25/05/1985 (35 anos)

Informações gerais

  • Cidade e Estado
    Natal, RN
  • Sexo
    Masculino
  1. No link a seguir você vai encontrar um exemplo completo do mesmo problema: Write a program to print all permutations of a given string
  2. Aparentemente a lógica se perde porque você condiciona um caso else a um caso if externo e isso não gera o comportamento esperado. Ao invés de um if-else dentro de outro if-else, utilize um if-else-if. Ou seja, na função resultado if () { } else if () { } else if () { } /* ...as 7 possibilidades de a e b */ else { /* caso empate */ return 1; } return 0; Por sinal, nas duas funções anteriores o mesmo comportamento errático pode acontecer.
  3. Obrigado por contribuir pra minha procrastinação dominical.
  4. Sim, já eu estou assumindo que ele venha a resolver com um simples loop, sem fatores nem somatórios. Deixo a decisão da forma mais conveniente pra ele.
  5. Bom, a @Midori já resolveu perfeitamente. No caso da minha versão, eu faria algo similar a ela, ou seja criar uma função que teste se um dado valor é quadrado ou não primeiro: bool quadrado_perfeito(const int valor) { for(int i = 1; i <= valor; ++i) { if (valor == i*i) return true; } return false; } Até tomei a liberdade de roubar a interface da Midori. Dai basta usar essa função pra testar o valor dado pelo usuário e, caso seja um quadrado perfeito, você faz um novo loop testando os próximos 10 depois dele (vou usar n como um contador no exemplo abaixo, e j pr
  6. Bom, existe um erro evidente aqui Você provavelmente não gostaria de incrementar apenas a soma mas incluir as demais linhas no loop. Então, for(i = 1; i <= valor; ++i) { // todo o bloco deve ir entre { } } Mas especificamente sobre o algoritmo, eu acho que você está fazendo da maneira mais complicada (quiçá correta). O valor de valor é quadrado se valor == i*i, então basta algo como for(i = 1; i <= valor; ++i) { if (valor == i*i) { // valor é o quadrado do i: printar o resultado, os proximos 10 e terminar } } E caso se
  7. Bom, após a leitura, bastaria imprimir a quantidade de sapatos lidos (o tamanho do vetor estoque) e isso cumpriria o primeiro objetivo do programa, a quantidade. O percentual também seria bem simples, basta um loop em estoque e verificar o tamanho de cada sapato (supondo que tamanho caracterize um tipo). Durante o loop, faça o somatório das ocorrências de cada tipo (ou seja, cada tipo deve ter uma somatória independe e devidamente inicializada com zero) e, ao final, a razão entre cada soma e o total (opcionalmente multiplicado por 100) resulta no percentual de cada tipo. Apesar de
  8. Saudações, @arfneto! Fique a vontade pra entrometer-se sempre. Não li tudo em detalhes mas concordei com tudo que vi. Meu ponto entretanto era outro. O post original não tá bem redigido e deixa várias duvidas. Pra citar um exemplo: Dando uma olhadela rápida no arquivo .txt do @Leonardo Ely, o cabeçalho tem essa cara: usuario mensagem data local Com um espaço entre "usuario" e "mensagem" e tabs entre o resto (provavelmente uma exportação direta de um MS Excel ou algo do gênero). Na primeira linha temos: HarissonAndrade "@arthurmoledoval e
  9. Que coisa confusa. Supõe-se que um formato .csv é exatamente separado por vírgulas (comma em inglês, por isso um "c" em "csv"). Quando você se refere a não ter separador, significa ter um espaço em branco entre as entradas? tipo, "aaaa bbbb cccc dddd"? ou nem isso, ou seja, "aaaabbbbccccdddd"? Caso tenha um espaço em branco, no fim das contas há um separador. Bastaria então usar a função getline (da biblioteca stdio.h) pra ler uma linha inteira, passar essa linha em seguida pra função strtok que a dividiria nas respectivas entradas (usando o espaço em branco como delimitador), e co
  10. Bom, você esqueceu de inicializar item pra então ser possível entrar no while. Ou seja, int qtd = 0, item = 1; E não esqueça de incluir os casos 1 e 7 no intervalo de possibilidades: while ((item >= 1) && (item <= 7)) E por fim, em linhas assim: total = total + (4, 99 * qtd); o idioma está incorreto. Você quis dizer: total = total + (4.99 * qtd);
  11. Bom, aparentemente S1 e S2 são completamente independentes, não? caso positivo você poderia simplesmente tentar o seguinte: /* ... */ printf("\nEscolha números e separe-os por /:\n"); fflush(stdin); fgets (Cood1,250,stdin); S1 = strtok(Cood1,"/\n"); while (S1 != NULL) { printf("%s\n",S1); S1 = strtok(NULL,"/\n"); } /* bloco pra S2 aqui */ return 0; e repetir o processo pra S2 em seguida.
  12. Como o colega @devair1010 foi nominalmente summonado pra resolver o problema mas parece que cheguei primeiro, vou deixar minha contribuição como spoiler pra não atrapalhar o papo .
  13. A primeira chamada de strtok retorna o primeiro símbolo na string fornecida (Cood1, no seu caso). Da segunda chamada em diante, com um argumento NULL, strtok retorna os demais símbolos da string fornecida anteriormente. Porém, se você fornecer uma nova string na segunda chamada (ou seja, não for um argumento NULL, e no seu caso foi Cood2), ela reinicia o processo e retorna o primeiro símbolo, novamente, agora da nova string. Basta reposicionar os while (ou seja, as chamadas subsequentes) imediatamente após a primeira respectiva chamada de strtok e talvez resolva o problema, por exe
  14. Exemplo escrito em C do Quick Sort com OMP: Quicksort using OPENMP Cinco minutinhos estudando o exemplo acima e você já vai ser capaz de desenrolar a melhor forma de implementar sua própria versão.
  15. Bom, a afirmação correta deveria ser: essa convenção nada teria a ver com C e C++. Apenas começa a ter. Como expliquei acima, e por influência de Python (a maioria dos programadores desses novos projetos tiveram um ensino formal em Python). O tema tampouco é novo. Por exemplo, na GSL (GNU Scientific Library), vemos um ótimo exemplo de um projeto em C com orientação a objeto e encapsulamento (no estilo C, obviamente) e utilizando a mesma estrategia dos programadores de Python, mas com uma convenção própria. Efetivamente tudo é publico por definição. Obviamente ainda é

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

×
×
  • Criar novo...

Aprenda a ler resistores e capacitores

EBOOK GRÁTIS!

CLIQUE AQUI E BAIXE AGORA MESMO!