Jump to content
  • Revista PROGRAMAR: Já está disponível a edição #60 da revista programar. Faz já o download aqui!

Devexz

arrays bidimensional

Recommended Posts

Devexz

boas!

precisava de ajuda para um programa sobre arrays este é o enuncionado:

Faça um programa em C++ que permita:

1. Criar um array bidimensional 4x3;

2. Inserir valores aleatórios inteiros;

3. Escrever no écran esses valores;

espero pelas vossas sujestoes!!


Ás vezes, mais vale deixar a assinatura em branco.

Share this post


Link to post
Share on other sites
Tuntankamon

Não vou postar o código todo, mas unicamente o que interessa...

Definir a matrix/array bidimensional:

int matrix[4][3];

Inserir valores aleatorios, dois ciclos for um dentro do outro e:

matrix[i][j] = valorAleatorio;

Escrever valores, os mesmo dois ciclos for mas desta vez:

printf("Elemento (%d,%d) = %d\n",i,j,matrix[i][j]);

Share this post


Link to post
Share on other sites
Devexz

para ler o valores faço:

int b[4][3]

cin>>b[4][3];

assim?


Ás vezes, mais vale deixar a assinatura em branco.

Share this post


Link to post
Share on other sites
Tuntankamon

Existem muitas abordagens, mas tu falastes em números aleatórios...

Se for para o utilizador inserir poderá ser com o cin ou com o scanf, depende dos includes.

No que exemplificastes simplesmente estás a ler o "último elemento", ou seja o que está na pos (4,3), outra coisa o que eu escrevi não está totalmente correcto, pois como deves saber, os indices começam em 0 e não em 1, sendo assim se o array bidimensional é para ser de 4 por 3, terá de ser definido deste modo:

int b[3][2]

Será consitutido pelos elementos

b[0][0], b[0][1], b[0][2]

b[1][0], b[1][1], b[1][2]

b[2][0], b[2][1], b[2][2]

b[3][0], b[3][1], b[3][2]

Código completo:

#include <stdio.h>
#include <stdlib.h>
#include <time.h>

const int numLinhas = 4;
const int numColunas = 3;

int main(){
//Definimos a matrix ou array bidimensional
int matrix[numLinhas-1][numColunas-1];
int i,j;

//Preenchemos a mesma com numeros aleatorios enter 0 e 9
srand(time(NULL));
for (i=0;i<numLinhas;i++){ //Por cada linha
	for(j=0;j<numColunas;j++){ //Por cada coluna
		matrix[i][j] = (rand() % 10);
	}
}

//Agora mostra a matrix
for (i=0;i<numLinhas;i++){ //Por cada linha
	for(j=0;j<numColunas;j++){ //Por cada coluna
		printf("%d   ",matrix[i][j]);
	}
	printf("\n");
}
}

Share this post


Link to post
Share on other sites
Devexz

muito obrigado pela tua ajuda r00tfixxxer!


Ás vezes, mais vale deixar a assinatura em branco.

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

×

Important Information

By using this site you accept our Terms of Use and Privacy Policy. We have placed cookies on your device to help make this website better. You can adjust your cookie settings, otherwise we'll assume you're okay to continue.