Ir ao conteúdo
  • Cadastre-se

Socorro urgente.....


Thicorrêa

Posts recomendados

E aí pessoal, estou com um probleminha aqui.... preciso entregar esses exercícios no sábado, so que eu não sei fazer... o professor não deu a materia direito e tô sem tempo pra estudar.... qualquer ajuda é bem vinda.....

meu e-mail é: [email protected]

Muito Obrigado!!!!

Considere a classe Vetor, cuja assinatura est a definida abaixo:

const int tamanho = 10;

class Vetor {

private:

int v[tamanho]; // Armazena os elementos

int numElementos; // N umero de elementos inseridos

public:

Vetor();

int obtemTamanho();

void insereNoFinal(int x);

int posicaoDe(int x);

void alteraEm(int p, int x);

int elementoEm(int p);

void imprime();

};

1. Implemente todos os metodos da classe Vetor acima, obedecendo ` as seguintes descri¸ c˜ oes dos metodos:

· construtor: Inicializa o atributo numElementos com zero e zera toda as posi¸ c˜ oes do vetor;

· obtemTamanho(): Retorna o n umero de elementos armazenados no vetor;

· insereNoFinal(x): Insere x na primeira posi¸ c˜ ao vazia do vetor;

· posicaoDe(x): Retorna a posi¸ c˜ ao da primeira ocorrˆencia de x no vetor ou o valor . 1 caso x

· n˜ao seja encontrado;

· alteraEm(p,x): Atribui x ao elemento da posi¸ c˜ ao p do vetor, caso p seja uma posi¸ c˜ ao valida;

· elementoEm(p): Retorna o valor armazenado na posi¸ c˜ ao p, caso esta seja uma posi¸ c˜ ao v alida;

· retorna . 1 caso contr ario;

· imprime(): Imprime os elementos do vetor, separados por um espa¸co;

A fun¸c˜ ao main abaixo dever a funcionar para a sua implementa¸c˜ ao:

void main(void) {

Vetor V;

V.insereNoFinal(10); V.insereNoFinal(8); V.insereNoFinal(16);

V.insereNoFinal(7); V.insereNoFinal(5); V.insereNoFinal(13);

V.imprime(); cout << endl;

V.alteraEm(3,19); V.alteraEm(15,9);

for (int i = 0; i < V.obtemTamanho(); i++)

cout << "Elemento na posicao " << i << ": "

<< V.elementoEm(i) << endl;

cout << endl;

V.imprime();

}

2. Acrescente ` a classe Vetor metodos para:

(a) Encontrar o maior elemento armazenado no vetor;

(B) Encontrar o menor elemento armazenado no vetor;

© Calcular a soma dos elementos armazenados no vetor;

(d) Calcular a media dos elementos armazenados no vetor.

1. A partir da classe Vetor acima:

(a) Alterar os metodos da classe para que retornem c odigos de erro;

(B) Acrescentar um metodo que calcule o produt orio dos n umeros armazenados no vetor;

© Acrescentar um metodo que retorne o segundo maior elemento do vetor;

(d) Acrescentar um metodo que retorne o segundo menor elemento do vetor;

(e) Alterar a fun¸ c˜ ao main para que esta seja interativa com o usuario, exibindo menus no

qual o usu ario possa criar um vetor, inserir e retirar elementos, imprimir os elementos,

filtrar os elementos do vetor que possuam determinadas propriedades (por exemplo,

pares, ýmpares, primos, positivos, etc.).

2. Crie uma classe VetorChar, baseada na classe Vetor para armazenar caracteres em vez

de inteiros, mantendo somente os metodos que fizerem sentido. Escreva uma fun¸ c˜ ao main

apropriada para testes.

3. Acrescente ` a classe VetorChar que armazena caracteres metodos para:

(a) Converter todas as letras mai usculas para minusculas;

(B) Converter todas as letras min usculas para maiusculas;

© Determinar a freq¨ uˆencia de uma letra dada como parˆ ametro: crie um metodo que ignore

mai usculas/min usculas e outro que n˜ao ignore;

(d) Determinar o histograma dos caracteres armazenados no vetor

4. Alterar os metodos da classe VetorChar para que retornem codigos de erro;

Link para o comentário
Compartilhar em outros sites

Bom, como eu não sei muito bem C++ vou te passar algum exercicio pra você pegar o jeito da coisa.

Você já sabe alguma outra linguagem?

construtor(){

  char cont=0;

     numElementos=0;

        while (cont!=10) do {

           v[i)=0;

           i++;

        )

)

*tive q usar parentes pra fechar as chaves porque meu teclado ta podre e não consigo digitar chaves...rs

obtemTamanho(){

  return numElementos;

)

insereNoFinal(int x){

  v[numElementos)=x;

)

posicaoDe(int x){

  while (v[cont)!=x) do

     cont++;

  if cont>10

     return 1;

  else

     return v[cont);

)

Da uma olhada se já da pra você fazer algo com isso.

Foi o melhor q pude fazer, apesar q isso é só logica, e nem sei se ta certa.

Espero que tenha ajudado

Link para o comentário
Compartilhar em outros sites

Arquivado

Este tópico foi arquivado e está fechado para novas respostas.

Sobre o Clube do Hardware

No ar desde 1996, o Clube do Hardware é uma das maiores, mais antigas e mais respeitadas comunidades sobre tecnologia do Brasil. Leia mais

Direitos autorais

Não permitimos a cópia ou reprodução do conteúdo do nosso site, fórum, newsletters e redes sociais, mesmo citando-se a fonte. Leia mais

×
×
  • Criar novo...