Resultados 1 a 10 de 10
  1. #1

    Thumbs up ajuda com string e matriz

    Boa Tarde,
    poderiam me ajudar?

    vai ai os exercicios

    1 - Escreva uma função que receba 2 strings representando nomes de pessoas
    A função deve retornar 1 se as duas strings tiverem o mesmo sobrenome e retornar 0 caso contrario

    2 - Faça um programa que dada uma matriz quadrada de ordem n de elementos do tipo inteiro, verifique se a soma dos elementos das diagonais são iguais

    3 - Faça um programa que:
    Leia um vetor inteiro de 20 elementos
    Some somente os elementos pares
    Determine o maior elemento
    Calcule a média aritmética


    se alguem umder me ajudar...agradeço


    Diego

  2. #2
    Não vou dar o codigo porque se não o desafio não tem piada.

    1- Receber a string com uma função de leitura (fgets, p.e.), e depois utilizar a função strchr que retorna a primeira ocorrência de um caracter que neste caso seria um espaço em branco. Depois apartir daí verificar se ambas as strings (a partir dessa posição são iguais).

    2- Podes fazer isto recursivamente ou iterativamente. Vou-te falar na forma recursiva. Basicamente a cada chamada recursiva aumentas a linha e a coluna, quando chegas ao final vais retornando a soma dos elementos. É um bocado dificil de explicar mas basicamente seria:
    Código:
    int sum(int line, int column) {
      if(column == MAX || line == MAX) return matrix[line][column];
      return matrix[line][column] + sum(line+1,column+1);
    }
    Assim que se perceberes o que aquilo faz vais adorar recursividade.
    3- Este é trivial por isso vou-te deixar pensar um bocado sobre ele :P

  3. #3
    Hacker Avatar de blackwinner
    Data de Ingresso
    Dec 2006
    Localização
    Aqui
    Posts
    1.273
    Leia a matéria que seu professor lhe deu.
    Qualquer coisa: http://www.apostilando.com/download....ia=C%20e%20C++
    Tem bastante conteúdo nessa apostila para você aproveitar e fazer esses exercícios.

    Flws, abrs.

  4. #4
    Só para animar o tópico.

    blackwinner: a função podia ter só uma linha no exercício 2:
    Código:
    void sum(int l, int c) {
      return (l < MAX ? sum(l+1,c+1) : 0) + matrix[l][c];
    }

  5. #5
    Hacker Avatar de blackwinner
    Data de Ingresso
    Dec 2006
    Localização
    Aqui
    Posts
    1.273
    Não sou muito fã de recursividade não.
    Em asm, sem otimização do compilador, ela gera uma penca de push's, pop's e retn's, diminuindo muito o desempenho do programa.
    Com otimização, as vezes o compilador da um jeito nisso, mas não é normal não.

    Prefira programação dinâmica, metaprogramação ou uma função simples.

  6. #6
    Claro que recursividade tira eficiência ao código, no entanto, por vezes é muito útil! Por exemplo, em algoritmos de pesquisa com depth first search usa-se recursividade e mesmo em programação dinâmica ela é muito usada. Já para não falar de como ela deixa o código mais limpo e pequeno. Mas é como eu disse, por vezes ela é útil outra é só mesmo para divertimento, como nesse caso.

  7. #7
    Hacker Avatar de blackwinner
    Data de Ingresso
    Dec 2006
    Localização
    Aqui
    Posts
    1.273
    Ela não "é usada" em algoritmos depth first search, ela "pode" ser usada.
    Mas enfim, o rapaz já ganhou a dica dele.

    Só para lembrar, não sei se foi proposital ou não, mas a sua função não atende ao enunciado do exercício 2 dele.
    ("2 - Faça um programa que dada uma matriz quadrada de ordem n de elementos do tipo inteiro, verifique se a soma dos elementos das diagonais são iguais")
    Esse enunciado, nem o melhor programador do mundo consegue atender.
    Ele é ilegível. o0

    Diego, mande seu professor fazer umas aulas de redação por favor. =p

    Flws, abrs.

  8. #8
    A forma iterativa de depth first search é muito difícil de implementar porque tinhamos de simular o comportamento da stack..
    Eu realmente não prestei muita atenção ao enunciado mas com aquilo ele já pode fazer umas coisas bonitas..

  9. #9
    Moderador Avatar de _Guga_
    Data de Ingresso
    Apr 2006
    Localização
    Ilha de Itaparica - BA
    Posts
    2.049
    desculpa black, mas eu n vi ilegibilidade nenhuma no enunciado

    é só uma questão de dedução, eu entendi que ele pediu o seguinte:

    somar os elementos da diagonal principal e os da diagonal secundária e, após isso,
    comparar os dois resultados

    se não for isso, então eu bebi muito essa noite =D

    abrass


    I must not fear. Fear is the mind killer.

  10. #10
    Diagonal principal e diagonal secundária? O.o

Tópicos Similares

  1. Alocação dinâmica de Matriz definida pelo Usuário
    Por danillo.tomazelli no fórum C,C++
    Respostas: 1
    Último Post: 06 Mar 2010, 12:58
  2. Arrays (vetor-matriz)
    Por tecnohenry no fórum Java
    Respostas: 8
    Último Post: 02 Aug 2009, 10:55
  3. por favor ajuda com matriz..
    Por brian_sticks no fórum Dúvidas
    Respostas: 4
    Último Post: 29 Mar 2009, 12:42
  4. ALGORITIMO MATRIZ EM C
    Por JUSCIMAR no fórum Dúvidas
    Respostas: 5
    Último Post: 12 Nov 2008, 14:35

Permissões de Postagem

  • Você não pode iniciar novos tópicos
  • Você não pode enviar respostas
  • Você não pode enviar anexos
  • Você não pode editar suas mensagens
  •