Jump to content
Fórum Script Brasil

Septimus C

Membros
  • Posts

    21
  • Joined

  • Last visited

About Septimus C

Recent Profile Visitors

624 profile views

Septimus C's Achievements

0

Reputation

  1. Bom, você pode começar com um pseudocódigo para te ajudar a entender o problema. Veja: leia frase; Para i = 0 até tamanho(frase) faça: Se frase[i] == "T" então Se frase[i+1] == "I" então: Se frase[i+2] == "C" então: frase[i] = E frase[i+1] = E frase[i+2] = E i = i + 1 fim para imprima frase; Você só precisará, nessa abordagem, tomar cuidado com os limites, ou seja, caso encontre uma string do tipo AAAAT, neste caso o T é a última posição do array e a posição i +1 e i + 2 estão fora do limite, logo resultará numa falha de segmentação, pense em como resolver isso
  2. Então, existe um função na biblioteca ctype.h chamada isdigit(), onde você passa um char¹ e recebe um inteiro indicando se é ou não. Caso tenha dúvida de quantos elementos você terá basta observar que a expressão terá 2*(n-1) + 1 elementos 2(i-1) + 1 2 1+1 3 2*1 + 1 = 3 3 1+1+1 5 2*2 + 1 = 5 4 1+1+1+1 7 2*3 + 1 = 7 onde i é o numero de digitos passados. Deste modo você pode verificar se o numero passado é um digito e armazená-lo e verificar se os operadores passados são de adição ou subtração e realizar as devidas operações. Espero ter ajudado. Referencia para função isdigit http://www.cplusplus.com/reference/cctype/isdigit/ Nota (1) - o parâmetro passado é um inteiro, se for passado um char, ele será convertido para um inteiro que o representa na tabela ASCII
  3. Fala pessoal, não estou entendendo o porquê deste código estar imprimindo um valor a mais esta é a saída: 2 1 3 4 0 Ele não deveria imprimir esse 0. esse é conteúdo do main main() { Lista2 *l = cria(); l = insere(l,4); l = insere(l,3); l = insere(l,1); l = insere(l,2); print1(l); } a função de imprimir q estou utilizando void print1(Lista2 *l) { Lista2 *aux = l; while(aux != NULL) { printf("%d\n",aux->info); aux = aux->prox; } } esta a função de inserção Lista2* insere (Lista2* l, int v) { Lista2* novo = (Lista2*) malloc(sizeof(Lista2)); novo->info = v; novo->prox = l; novo->ant = NULL; /* verifica se lista não está vazia */ if (l != NULL) l->ant = novo; return novo; } Edit: Descobri o erro, era na função de inicialização, onde eu sempre estava alocando espaço e retornando esse ponteiro ao invés de retornar NULL
  4. Sim, Marcelo digo algo como lista, pilha, árvore etc. Fiz um jogo de baralho simples PIlha e lista duplamentente encadeada
  5. Fazendo um trabalho da faculdade, preciso implementar duas estruturas de dados Alguém poderia me dar uma ideia de quais estruturas utilizar?
  6. o seu primeiro scanf() para pegar o conteúdo da frase está usando dois operadores: %s e %[^\n], ambos são diferentes, retire o %s para poder pegar a frase inteira inclusive com espaços. vogal=frase[i]; //vai atribuir apenas a primeira posição do vetor frase vogal=toupper(vogal);// converte apenas uma letra você poderia dispensar essa variavel vogal e usar diretamente frase para verificar quais são vogais o Seu último printf() está faltando colocar qual o tipo da variável, lembre da sintaxe do printf: printf("%d",inteiro); // quero imprimir um variavel do tipo inteiro Como você tem uma string, poderia fazer um outro for para imprimir todos os caracteres modificados Boa sorte ^^
  7. o comando scanf() no switch() do main() está sem o &
  8. Vlws Eu pensei que seria apenas mais uma facilidade colocada para encontrar os valores da lista, não lembrei do conceito das TAD. Realmente, postei a mesma pergunta em outros fóruns e obtive respostas diferentes.
  9. Fala pessoal, criei uma TAD da lista duplamente encadeada para usar no meu trabalho da facul Quero saber se eu colocar o operador[] e acessá-la como array quebraria o conceito de Lista vlws
  10. Aew pessoal gostaria de saber se alguém conhece alguma função/código para gravar música em um cd? se conhecem alguma maneira de selecionar o cd, essas coisas vlwss
  11. é vdd, não lembrava dessa função mof() da math.h. Nos parâmetros dela tem isso double modf ( double x, double *y ) e o seu n ai é um inteiro, acho q deve resolver ^^
  12. f=modf(nx,&n); nessa linha o '&' ao lado do n, tah passando o endereço de memória de n. Tirando ele deve funcionar sem esse warnig.
  13. Sim, você pode usar o scanf é só utilizar um array para armazenar os valores em um loop e quando ele digitar -1 finalizar o loop
  14. não tem como, essa variável só estará no escopo da main
  15. faça for's aninhados para comparar cada elemento do array. Se ele achar o elemento mais de uma vez vai ter elementos repetidos.
×
×
  • Create New...