Ir para conteúdo

Arquivado

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

elfo.unicsul

de iniciante

Recommended Posts

Como faço para criar um sistema em C ou C++ assim:- O usuário entra com um número.- É criado então um vetor com esse número de posições.- O vetor então é preenchido com números aleatórios (desordenados).Obrigado galera

Compartilhar este post


Link para o post
Compartilhar em outros sites

acho q eh isso q você quer...

 

#include<conio.h>// getch()#include<stdio.h>// printf(), scanf()#include<stdlib.h>// srand(), rand()#include<time.h>// time()main(){	srand(time(NULL));		//variaveis	int i, j=0;		//o numero de elementos	scanf("%i", &i);		//declara o vetor com tamanho "i"	int v[i];		//preenche com numeros aleatórios. :: de 0 a 99, por causa do mudulo(%)	for(j=0; j<i; j++){		v[j]=rand()%100;		printf("%2i ", v[j]);	}		getch();}
falow... http://forum.imasters.com.br/public/style_emoticons/default/thumbsup.gif

Compartilhar este post


Link para o post
Compartilhar em outros sites

Cara, até onde eu saiba você não pode declarar uma variável como tamaho de um vetor em C++.

a única solução que eu consegui achar para este caso ate agora é você declarar um vetor com um tamaho relativamente grande e controlar a quantidade de dados através do índice...

abaixo mando o código comentado de como ficaria o programa, espero que te ajude de alguma forma.

 

#include<iostream.h>	 //cout e cin;#include<conio.h>		  //clrscr() e getch()#include<stdlib.h>		  //randomize() e rand()  void main(void){	int i;					//variável para tamanho do vetor.	clrscr();			  //limpar tela.	randomize();	   //inicia números aleatórios para rand()	cout<<"Digite o tamanho do Vetor: ";	cin>>i;			   //recebe o tamanho do contador do vetor	int mat[200],x;   //declaração do vetor e do contador.	/* O vetor é declarado com o tamanho 200 porque em C++ não podemos usar uma variável 				como tamanho de um vetor, então devemos criar um vetor com um tamanho grande e	controlar a entrada de dados através do contador. */	//recebe os números aleatórios.	for(x=0;x<i;x++)		mat[x]=rand();	//exibe os números aleatórios.	for(x=0;x<i;x++)		cout<<mat[x]<<"\n";	getch();   //aguarda o pressionamento de uma tecla para encerramento.}

Posta aí depois pra ver se é isso q você precisava.

Falow

Compartilhar este post


Link para o post
Compartilhar em outros sites

O código em C funcionou direitinho, o de C++ eu num cheguei a testar!Obrigado mesmo galera!!!Agora eu estou com outra dúvida.....Tem como abrir umas opções dizendo em qual tipo de método a pessoa quer que o vetor seja ordenado, tipo:1 - Método Bolha2 - etc......Tem como?!Obrigado mais uma vez galera

Compartilhar este post


Link para o post
Compartilhar em outros sites

O código em C funcionou direitinho, o de C++ eu num cheguei a testar!Obrigado mesmo galera!!!Agora eu estou com outra dúvida.....Tem como abrir umas opções dizendo em qual tipo de método a pessoa quer que o vetor seja ordenado, tipo:1 - Método Bolha2 - etc......Tem como?!Obrigado mais uma vez galera

Entaum para este caso que você precisa, você pode utilizar a função switch...ficaria mais ou menos assim:
#include<iostream.h>	#include<conio.h>			   //bibliotecas para comandos de entrada e saída (em C++ precisamos chamar 										  as bibliotecasvoid main(void){  int opc;   //variável que receberá a opção escolhida.	  clrscr();  //limpa a tela  do{	opc=getch();	 //aqui seu programa recebe a sua opção   switch(opc){	//este comando compara a variável com os cases, ele substitui 		//vários if aninhados.	 	 case 1: <código> break;	  //cada um dos case recebe uma condição e compara com a variável	 case 2: <código> break;	  //após os dois pontos colocamos o código do que se quer fazer, ou a 	 case 3: break;				   //função. o comando break para a execução do comando para que    }								   //não seja verificada a próxima condição caso seja encontrada.									  }while(opc!=3);	 //o do while() executa o switch enquanto não for digitada a opção "3"}
espero este código te ajude. poste para dizer se funcionou. por que eu não testei as sintaxes, mas a lógica é essa.qualquer dúvida.

Compartilhar este post


Link para o post
Compartilhar em outros sites

O jeito certo de fazer a construção do vetor com um tamanho que o usuário quer, é utilizando ponteiros. As diferenças são apenas na hora da execução, não interferem no modo como usar, exceto por um pequeno detalhe no final: você deve EXPLICITAMENTE liberar a memória alocada antes de finalizar o programa... Assim:

 

#include <stdio.h>#include <stdlib.h>int main( void ){	int *vetor = NULL;	int nPosicoes = 0;	int i;	while( nPosicoes < 1 ) {		printf("Digite o numero de posicoes que o vetor deve ter: ");		scanf("%d", &nPosicoes);	}	vetor = (int*) malloc( sizeof(int) * nPosicoes );	for( i = 0; i < nPosicoes; i++ ) {		prinf( "Digite o valor na posicao %d: ", i+1 );		scanf( "%d", &vetor[i] );	}	prinf("Valores armazenados: \n");	for( i = 0; i < nPosicoes; i++ ) {		printf("vetor[%d]: %d\n", i, vetor[i]);	}	free( vetor );}

Compartilhar este post


Link para o post
Compartilhar em outros sites

estou tendo problemas em usar o clrscr()

coloquei os include mesmo assim da um erro na compilação =/

 

alguém saberia o que pode ser??

 

vlw

se o seu problema for para a utilização em C++.. você pode utilizar uma função da biblioteca iostream.

system("CLS");

Cara, até onde eu saiba você não pode declarar uma variável como tamaho de um vetor em C++.

O Dev-Cpp permite a criação de variáveis dinamicamente..

...cin>>n;int vet[n];...
Isto eh permitido!! o que pode nao dar certo é utilizar variáveis globais como tamanho de vetor..

Compartilhar este post


Link para o post
Compartilhar em outros sites

Galera, estou com esse problema de declarar um vetor com uma variável indicando o tamanho dele... =/eu tenho um vetor global, e queria delcarar uma váriavel global para indicar o tamanho dele... eu não entendi muito bom como funciona isso, pois sou iniciante em C; não é possível fazer isso?vlw...

Compartilhar este post


Link para o post
Compartilhar em outros sites

×

Informação importante

Ao usar o fórum, você concorda com nossos Termos e condições.