Duvida com algoritmos?

10 respostas
L

Pessoal alguem saberia como fazer esse tipo de algoritmo

  1. Dada a lista A(150) ja com N inteiros crescente criar a lista B descrecnte ja com os numeros pares de a que forem maiores que o numero impar A.

2)Dada uma lisat L(100) ja com N numeros inteiros, não ordenados podendo haver repetição criar uma lista P composta de todos os elementos impares de L seguido de todos os impares.

  1. Dada uma lisat L(100) ja com N numeros inteiros, crescentes sem repetição,ler um inteiro X , e se X existir mostre quantos elementos de a são maiores que X .se X não existir dar mensagem.

isso seria pra mim. msm!!

valeu!!!

10 Respostas

B

Estes algoritmos estão pedindo uma solução em Scala. Alguém se apresenta?

aajjbb

scala?? tenso hein, a um tempo eu ja estou me interessando, mas no momento, nao da pra te ajudar em nada cara.

L

o ruim é que eu não sei como fazer , caso alguem me explique como fazer !

ja agradeço!

romarcio

Entendi os exercício dessa maneira, não sei se era assim para fazer:

1º Criei 3 métodos que geram as listas com os elementos.
2º Passo as listas geradas para os métodos que executarão a resolução dos exercicios.

public class Main {

    public static void main(String[] args) {
        Main m = new Main();

        Exercicios exercicios = new Exercicios();

        System.out.println("*** EXERCICIO 1 ***");
        exercicios.ex1(m.criaLista1());
        System.out.println("*** EXERCICIO 2 ***");
        exercicios.ex2(m.criaLista2());
        System.out.println("*** EXERCICIO 3 ***");
        exercicios.ex3(m.criaLista3());
    }

    private List<Integer> criaLista3() {
        List<Integer> lists = new ArrayList<Integer>();
        for (int i = 1; i <= 100; i++) {
            lists.add(i);
        }
        return lists;
    }

    private List<Integer> criaLista2() {
        List<Integer> lists = new ArrayList<Integer>();

        for (int i = 1; i <= 100; i++) {
            int num = (int) (Math.random() * 100);
            lists.add(num);
        }

        return lists;
    }

    private List<Integer> criaLista1() {
        List<Integer> lists = new ArrayList<Integer>();
        for (int i = 1; i <= 150; i++) {
            lists.add(i);
        }
        return lists;
    }

}

3º Cada método executa o respectivo exercício. Como já disse, fiz o que entendi, não sei se era isso.

public class Exercicios {

    public void ex1(List<Integer> integers) {

        List<Integer> listA = integers;

        List<Integer> listB = new ArrayList<Integer>();

        int num = 0;
        for (int i = 0; i < listA.size(); i++) {
            num = listA.size() - i;
            if (num % 2 == 0) {
                listB.add(num);
            }
        }

        for (int i = 0; i < listB.size(); i++) {
            System.out.println(i+1 + "-> " + listB.get(i));
        }

    }

    public void ex2(List<Integer> integers) {

        List<Integer> listA = integers;

        List<Integer> listB = new ArrayList<Integer>();

        List<Integer> impares = new ArrayList<Integer>();

        List<Integer> pares = new ArrayList<Integer>();

        for (Integer num : listA) {
            if (num % 2 == 0) {
                pares.add(num);
            } else {
                impares.add(num);
            }
        }

        listB.addAll(impares);
        listB.addAll(pares);

        for (int i = 0; i < listB.size(); i++) {
            System.out.println(i+1 + "-> " + listB.get(i));
        }        
    }

    public void ex3(List<Integer> integers) {
        List<Integer> listA = integers;

        int inteiro = (int) (Math.random() * 200);
        System.out.println("Inteiro escolhido: " + inteiro);
        for (Integer num : listA) {
            if (inteiro == num) {
                for (Integer maiores : listA) {
                    if (maiores > num) {
                       System.out.println(maiores + " > " + num); 
                    }
                }
                break;
            } else if (num == listA.size()) {
                System.out.println("Não existe nenhum nº igual a " + inteiro + " na lista.");
            }
        }

    }

}

Espero que ajude, tava sem fazer nada dai resolvi tentar :wink:

L

opa romarcio
então romarcio ajudo bastante, mas vc fez eles todos em um só …

como poderia fazer ele em cada um item pq cada numero é um programa.

é so desfazer então certo!

romarcio

É só separar.

Tipo assim:

public class MainEx1 {

    public static void main(String[] args) {
        MainEx1 m = new MainEx1 ();

        Exercicio_1 exercicios = new Exercicio_1();

        System.out.println("*** EXERCICIO 1 ***");
        exercicios.ex1(m.criaLista1());
    }

    private List<Integer> criaLista1() {
        List<Integer> lists = new ArrayList<Integer>();
        for (int i = 1; i <= 150; i++) {
            lists.add(i);
        }
        return lists;
    }

}
public class Exercicio_1 {

    public void ex1(List<Integer> integers) {

        List<Integer> listA = integers;

        List<Integer> listB = new ArrayList<Integer>();

        int num = 0;
        for (int i = 0; i < listA.size(); i++) {
            num = listA.size() - i;
            if (num % 2 == 0) {
                listB.add(num);
            }
        }

        for (int i = 0; i < listB.size(); i++) {
            System.out.println(i+1 + "-> " + listB.get(i));
        }

    }
}
L

Isso mesmo seria dessa forma que vc fez, seriam tres exercicios, mas vc poderia me explicar cada linha!!

vezes tenho duvida.

AnDrOiDe

vc queria em portugues estruturado?

L

sim seria uma boa forma , aguem saberia fazer o codigo do " romarcio " em Pseudocódigo

seria em portugues estruturado!

E

lokit"s:
sim seria uma boa forma , aguem saberia fazer o codigo do " romarcio " em Pseudocódigo

seria em portugues estruturado!

Tio, vai fritas com catchup ou prefere mostarda nas suas fritas?

Criado 28 de setembro de 2010
Ultima resposta 29 de set. de 2010
Respostas 10
Participantes 6