Jump to content
Fórum Script Brasil

jth.

Membros
  • Content Count

    20
  • Joined

  • Last visited

Community Reputation

0 Neutro

About jth.

Perfil

  • Gender
    Male
  1. jth.

    Strings

    Wendell, Na verdade é só trocar L1 por L2 mesmo, e não as duas entre si... Até mais, ;D
  2. jth.

    Strings

    Em relação ao segundo problema... Olha... aqui o segundo não está nem compilando (usando o GCC/Linux)... Faltam "chaves"... O código também está estranho, parece que não foi a mesma pessoa que escreveu ele inteiro... O primeiro "for" está meio sem sentido... Pra que ele serve? Você usou o scanf para ler a string, mas ele ele não funciona se a string tiver mais de uma palavra... Troquei pelo gets, mas esse também é perigoso... #include <stdio.h> #include <string.h> int main(void) { char l1,l2, frase[31]; int i, k = 0, cont=0; printf("Digite uma letra qualquer: ");
  3. jth.

    String

    Você tem razão Durub, eu escrevi sem pensar... Minha intenção só era ajudar... Eu não entendi o uso da comparação s != '\ 0' ==================== edição (comentando o post abaixo) Entendi Durub... Eu viajei aqui, estava imaginando outra coisa... Pra falar a verdade estou com raiva da minha burrice, mas é assim mesmo que a gente "avança". Até mais ;D
  4. jth.

    Vetor intersecção

    Cara... intersecção que você diz é algo tipo: V = {1,2,4,6} e M = {3,1,6} conjunto intersecção: I = {1,6} Se é isso o seu laço ali está errado por isso: 1) Você só está comparando a igualdade de elementos que tem o mesmo índice ao invés de percorer o vetor inteiro atrás de um número "igual" 2) Você está guardando o valor encontrado em uma variável comum do tipo int. Mesmo que o laço estivesse certo ele só iria retornar o último valor encontrado, e se existitem mais de 1? Tente pensar em um laço dentro do outro... uma estrutura tipo: for(i=0,k=0;i<10;i++) for(j=0;j<10;j++) if (v
  5. jth.

    String

    Percorrer a string procurando o caractere? Cara, uma string é um vetor de caracteres terminado com um "\ 0' (nulo) que identifica aquele o vetor como uma string. E como qualquer vetor ele tem vários elementos que são alocados em diferentes endereços da memória (endereços sequenciados). se eu tenho algo tipo: char s[]="Teste"; Posso dizer que essa string tem 6 elementos, os 5 da palavra "Teste" mais um do "\ 0". E cada um desses elementos pode ser representado usando o índice do vetor: s[0] -> 'T' s[1] -> 'e' s[2] -> 's' s[3] -> 't' s[4] -> 'e' s[5] -> '\ 0' Então se você
  6. jth.

    string

    int func1(char *v, char *m) Até onde eu sei, quando eu faço isso estou criando dois ponteiros, v e m para serem usados dentro dessa função, que no caso vão apontar para o índice zero de dois vetores (as strings) que a função receberá como argumento. Quando eu uso "v" e "m" dentro desse meu bloco ele simplesmente deveria apontar para os vetores originais, não? Só que nos meus testes, quando eu uso sizeof(v), por exemplo, ele não retorna o tamanho em bytes do vetor para o qual o ponteiro "v" está apontando, mas sim o valor 4... O que eu teria que fazer para ele retornar o tamanho do vetor "or
  7. jth.

    string

    Sim, Beraldo, eu tinha me ligado do "\ O"... tanto que usei "i<size" e não "i<=size"... Toda a minha preocupação com o sizeof é por causa disso... Não conhecia o strlen, na verdade ainda não estudei strings nem suas funções de verdade... o meu código atualizado ficou assim: int func1(char *v, char *m) { int size,i; if (strlen(v) > strlen(m)) size = strlen(m); else size = strlen(v); for(i=0;i<=size;i++) if (v[i] != m[i]) { return i; } return 0; } O código verifica inclusive no índice da string em que existe o "\ O" na tent
  8. jth.

    string

    Cara... eu fiz aqui do meu jeito, usando só o sizeof mesmo... não sei se tá certo: int func1(char *v, char *m) { int size,i; if (sizeof v >= sizeof m) size = sizeof m; else size = sizeof v; for(i=0;i<size;i++) if (v[i] != m[i]) { return i; } return 0; } Edição 2ª: Aff... é bem minha 2ª ou 3ª edição. Fiz novos testes, tem um erro... (tentando reparar)] Edição 3ª: É, parece que tenho que estudar mais ponteiros... quando uso o sizeof v ele não remete ao tamanho da string mesmo... aqui fica só retornando valor 4... Obs.: Se você nã
  9. Sim, pelo o que eu li aqui a conio do Dev é muito limitada e não tem todas as funções da conio da Borland. Em relação ao linux, acho que é só trocar o "cls" por "clear" Até ;D
  10. jth.

    string

    Cara, eu ainda não estudei strings e não conheço as funções de maniputação de strings muito bem. Mas o que deu a entender é que ele quer que você faça sua própria função para comparar duas strings, verificando a igualdade caractere por caractere... Algo tipo um laço que vá comparando os caracteres um por um e se eles forem diferentes retorna o indice daquele caractere, se não retorna zero mesmo. Até mais, ;D
  11. Cara, dá pra ver que você não tentou pesquisar. Esse é o tipo de dúvida que você tira em 3 minutos com o Google. Na sua assinatura diz que você está tentando se tornar programador. Muito legal, eu também. E como companheiro de empreitada digo uma coisa: prefira sempre pesquisar antes de perguntar, você pode até demorar mais fazendo isso, mas normalmente aprende-se muito mais coisas funçando que esperando respostas. Não estou querendo dar lição em ninguém, mas fica aí minha "dica". Ah... acho que a função clrscr() da conio.h no windows resolve... No linux acho que já usei a clear() da ncurse
  12. jth.

    Prolema com matriz

    Cara, o problema está nos laços de soma. 1) Você não definiu os elementos do vetor que está guardando a soma como zero (antes de começar a somar você tem que definir como 0). 2) Os laços estão meio que trocados... Para conseguir a soma da linha, por exemplo, você não devia fazer o laço mais externo em cima do "j", mas sim do "i". 3) É mais prático colocar um laço dentro do outro. Imagina se fosse uma matriz 20x20? O trabalho que você teria de escrever as 20 somas... /* Fazendo a soma das linhas e guardando no vetor a */ for(i=0;i<5;i++) for(j=0,a[i]=0;j<5;j++) a[i] += m[i][j]; /*
  13. jth.

    Matriz

    Hã? Multiplicar e dividir pelo maior elemento da linha? Mas se você multiplica e divide y por x o resultado é y... No caso seria multiplicar ou dividir, não? Acho que o laço fica algo assim (usando a mesma idéia do problema anterior): for(i=0;i<LINHA;i++) { for(j=0,max=v[i][0];j<COLUNA;j++) if(v[i][j] > max) max = v[i][j]; for(j=0;j<COLUNA;j++) v[i][j] = v[i][j]*max; /*Aqui você decide se é multiplicar ou dividir */ } espero ter ajudado... bye
  14. jth.

    Matriz

    Tenho que assumir que não parei para olhar e analisar bem onde poderia estar o erro no código, ou até mesmo se ele está errado. Estou aprendendo matrizes agora em Lógica da Programação e resolvi fazer o exercício. Se eu entendi bem é essa a questão: Uma vez tendo uma matriz qualquer você deve somar todos os elementos da coluna e depois multiplicar cada elemento da matriz por a soma da respectiva coluna. É isso? eu tentei e ficou assim (só que eu fiz tudo em uma função só =x): #include <stdio.h> #define LINHA 4 #define COLUNA 5 int main(void) { int v[LINHA][COLUNA],s[COLUNA],i,j;
  15. Se você estiver na dúvida, acho que é válido baixar na internet o ebook do livro pra dar uma olhada por cima antes de comprar. O C++: Como Programar eu já vi aí pela net... O do Herbert eu nunca vi, apenas o "C Completo e total". (Não estou falando para você simplesmente baixar o livro na internet, mas conferir se o conteúdo atende a suas expectativas é válido, afinal o livro do Deitel é mais de 250 reais)
×
×
  • Create New...