Jump to content
  • 0
theothomeh

Preencher um array de 50 elementos e implementar tais funções(C++/Mergesort)

Question

Primeiramente boa tarde à todos, eu sou estudante de ti mas ainda estou começando a entender programação 

Bom o exercício que estou praticando pede o seguinte:

Citar

Faça um programa que crie um array de 50 elementos inteiros. Depois implemente as funções:

– FazListaVazia(Lista) : faz a lista ficar vazia. – Insere(x, Lista) : insere x após o último item da lista.

– Retira(Lista, x) • Retira o item x que está na lista (fazendo o deslocamentos dos itens sucessivos ao valor a ser retirado).

– ListaVazia(Lista) • Retorna verdadeiro se a lista está vazia; caso contrário, retorna falso.

– Imprime(Lista) • Apresenta os elementos da lista na ordem de ocorrência.

O fato é que eu sou bem principiante e estou quebrando a cabeça tentando entender como fazer esse exercício, até o momento eu não faço ideia de como implementar o x ou sequer compilar o vetor com os 50 números aleatórios, eis o que surgiu dentro da minha cabeça louca:

Citar

 

#include <stdlib.h>
#include <iostream>
using namespace std;
#define N 6
        int existe(int *v, int n)
        {
            for(int i = 0; i < N; i++)
            {
                if(v == n)
                {
                    return 1;
                }
            }   return 0;
        }
        int valores(int *v)
        {
            int r;
            srand(rand());
            do
            {
                r = rand() % (N+1);
            }   while(existe(v, r)); //se o numero ja existe, randomiza de novo
            return r;
        }
        int preencher())
        {
            int V[N];
            V= valores(v);
        }
        int main()
        {
            preencher();
            cout<< V[];
        }

 

Imagino que eu não tenha acertado em mt coisa até agora, então quem puder me explicar uma forma de fazer esse exercício, se possível de forma bem simples de entender e usando o mergesort.

Peço desculpas pela minha ignorância explicando minha dúvida, e agradeço desde já à quem puder me ajudar!

Edited by theothomeh
organização

Share this post


Link to post
Share on other sites

1 answer to this question

Recommended Posts

  • 0

Cara, tem alguém te explicando o básico da linguagem?
O que você tem que implementar é o seguinte:
 

#include <iostream>
#include <random> // C++11 somente
#include <limits>
using namespace std;

#define TAMANHO_ARRAY 50

void FazListaVazia(int * Lista) {
   for(int i=0; i < TAMANHO_ARRAY; i++) {
	Lista[i] = -1;
   }
   
   /* Ou troque o laço por fill(Lista, Lista + TAMANHO_ARRAY, -1);
    * Não esqueça de incluir o <algorithms> */
}

int Insere(int x, int * Lista) {
   /* Procure a primeira posição igual a -1 e atribua o valor de x */
}

int Retira(int x, int * Lista) {
   /* Encontre os valores iguais a x e para cada um deles vá atribuindo 
    * o valor da posição seguinte enquanto ela for diferente de -1 ou não chegar 
	* ao final da lista */
}

boolean ListaVazia(int * Lista) {
   /* Verifique se o primeiro elemento da lista é -1. 
    * Como a remoção pede que você desloque os itens à direita dos que foram removidos, 
	* não é necessário percorrer todo o array.*/
}

void Imprime(int * Lista) {
   for(int i = 0; i < TAMANHO_ARRAY; i++) {
      if (Lista[i] != -1)
        cout << Lista[i] << endl;
   }
}

int preencherLista(int * Lista) {
  random_device rd;
  uniform_int_distribution<int> dist(0, numeric_limits<int>::max());
  FazListaVazia(Lista);
  for(int i = 0; i < TAMANHO_ARRAY; i++) {
    Insere(dist(rd), Lista));
  }
};

int main(void) {
   int lista[TAMANHO_ARRAY];
   preencherLista(lista);
   return 0;


int main(void) {
   int lista[TAMANHO_ARRAY];
   preencherLista(lista);
   return 0;
}

 

Share this post


Link to post
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now

  • Similar Content

    • By ellenjkr
      Tava fazendo um exercício e ele pede pro programa exibir os 20 primeiros números primos depois do 100. Por enquanto eu fiz ele assim mas não sei onde colocar o num++ pra ir aumentando o valor do numero a ser testado. Ja tentei colocar em varios lugares do codigo e nao deu certo em nenhum deles e tb nao consigo achar oq tem de errado
       
       

    • By wesnds
      Faça um algoritmo para automatizar o registro de Comanda de Lanchonete. É necessário elaborar o algoritmo representando o contexto mais real do dia a dia do registro de comanda.
      OBS: Tem que ser considerado a comanda abaixo.
    • By Cloudinbr
      desde pequeno sempre tive esse desejo ardente de poder contar uma historia através de um jogo, com um ótimo game play, historia envolvente e dinâmica etc... então assim que completei meus 16 anos, resolvi começar a pesquisar mais sobre a criação de jogos, e a uns meses atras resolvi começar a estudar c++. eu tambei baixei o Godot, que é uma engine boa para criação de jogos e esta ganhando uma certa fama ultimamente, e tambem tem suporte a c++. bem, ainda não estou programando nenhum game porque estou na metade dos meus estudos sobre c++ ainda, mais queria algumas dicas:
       
      *é necessário estudar outras linguagens da programação para programar jogos? se sim quais vocês recomendam?
       
      * Existe algum livro em pdf que poderia me ajudar mais a estudar c++?
       
      *Ultimamente fiquei com duvida se realmente conseguiria fazer um jogo bom em c++, então poderiam me dar exemplos de jogos legais feitos em c++?
       
      enfim, se quiserem me der outras dica ficarei feliz, sou relativamente um iniciante quando se trata de desenvolver jogos(ja tentei fazer uma coisa ou 2 no rpgmaker vxace mas como não sabia nada de programação e só usava os recursos do programa, saia tudo cagado ksksksks) então adoraria saber de dicas dos mais experientes no assunto :v
    • By FMonteiro
      Estou com um problema na chamada de uma função criada em uma classe. 
      Ao fazer a chamada da função, recebo uma mensagem de que a função não existe. 
      A mensagem de erro é: 
      "Fatal error: Uncaught Error: Call to undefined function EXECUTAR() in C:\...\cls_bd.php:154 Stack trace: #0 C:\...\cls_mail.php(99): bd->INSERIR('tbmensagens', 'data,hora,nome,...', 'DATE_FORMAT((se...', NULL) #1 C:\...\cls_mail.php(108): GRAVAR_EMAIL('Empresa Produto...', 'lu@gmail.com', '3230833394', 'Nome: Empresa P...') #2 C:\...\cls_contato.php(31): ENVIAR_GRAVAR_EMAIL('Empresa Produto...', 'lu@gmail.com', '3230833394', 'Nome: Empresa P...') #3 {main} thrown in C:\...\cls_bd.php on line 154"
      Na foto em anexo, há o script criado com a chamada da função (linha 154) e da função criada (linha 123).
      Será que alguém pode jogar uma luz no assunto para mim?

×

Important Information

Ao usar o fórum, você concorda com nossos Terms of Use.