Com base na declaração de 2 vetores com 5 ocorrências cada e um 3º vetor com 10 ocorrências, inicializados com os seguintes valores respectivamente: {0,1,2,3,4}, {9,8,7,6,5}, {0,0,0,0,0,0,0,0,0,0} e na declaração de 1 matriz com 4 linhas 5 colunas. Todas as estruturas com o mesmo tipo de dado. Pede-se: 1 - Atribua os 2 primeiros vetores para o 3º vetor, sendo as 5 ocorrências do 1º vetor para as 5 primeiras ocorrências do 3º vetor e as 5 ocorrências do 2º vetor para as 5 últimas ocorrências do 3º vetor. 2 - Atribua os vetores para a matriz, sendo: Os 2 primeiras vetores para as 2 primeiras linhas da matriz e o 3ª vetor para as 2 últimas linhas, sendo as 5 primeiras ocorrências para a 3ª linha da matriz e as 5 últimas ocorrências para a 4ª linha da matriz.
Soluções para a tarefa
Resposta:
matriz é uma coleção de variáveis de mesmo tipo, acessíveis com um único nome e armazenados contiguamente na memória.
A individualização de cada variável de um vetor é feita através do uso de índices.
Os Vetores são matrizes de uma só dimensão.
Declaração de Matrizes
int Vetor[5]; // declara um vetor de 5 posições
int Matriz[5][3]; // declara uma matriz de 5 linhas e 3 colunas
Acesso aos elementos do vetor
Para acessar os elementos de um vetor usa-se índices. O índice define a posição da variável dentro do vetor.
Em todos os vetores tem o primeiro elemento na posição 0(zero). Assim, se tomarmos "K" como sendo o tamanho do vetor a última posição é a de índice "K-1"
Vetor[0] = 4; // Coloca 4 na primeira posição de "Vetor"
Vetor[4] = 8; // Coloca 8 na última posição de "Vetor"
Exemplos com Vetores
int Vetor[5]; // declara um vetor de 5 posições
int Matriz[5][3]; // declara uma matriz de 5 linhas e 3 colunas
Vetor[0] = 9; // coloca 9 na primeira posição do vetor
Vetor[4] = 30 // coloca 30 na última posição do vetor
Matriz[0][1] = 15; // coloca 15 na célula que está na primeira linha
// e na segunda coluna da matriz
Preenchimento de um vetor com um dado
for(i=0; i<5; i++) for(i=0; i<=4; i++)
Vetor[i] = 30; Vetor[i] = 30;
Colocar os números de 1 a 5 em Vetor
for(i=0; i<5; i++)
Vetor[i] = i+1;
Colocar os números de 5 a 1 em Vetor
for(i=0; i<5; i++)
Vetor[i] = 5-i;
Uso de Constantes para definir o tamanho de um vetor
#define TAM_MAX 10
double VetReais[TAM_MAX];
for(i=0; i<TAM_MAX; i++)
VetReais[i] = TAM_MAX - i; // coloca 5,4,3,2,1 no vetor
Copiar os dados de um vetor para outro
#define TAM_MAX 10
double VetReais[TAM_MAX], Copia[TAM_MAX];
for(i=0; i<TAM_MAX; i++)
VetCopia[i] = VetReais[i]; // Copia os dados de um vetor
// para outro
Copiar os dados de um VET1 para as primeiras 5 posições de COPIA e VET2 para as outras 5
#define TAM_MAX 10
// Note que a declaração do vetor "Cópia" cria o dobro de posições
double Vet1[TAM_MAX], Vet2[TAM_MAX], Copia[TAM_MAX*2];
for(i=0; i<TAM_MAX; i++)
VetCopia[i] = Vet1[i]; // Copia os dados do primeiro vetor
for(i=0; i<TAM_MAX; i++) // Copia os dados do segundo vetor
VetCopia[i+TAM_MAX] = Vet2[i];
// ****** Pergunta: Como fazer a cópia usando um único comando for ?
Leitura dos dados de um um vetor
#define TAM_MAX 10
double Vet1[TAM_MAX];
for(i=0; i<TAM_MAX; i++)
scanf("%f",&Vet1[i]);
Encontrar o maior valor dentro de um vetor
#define TAM_MAX 10
double Vet1[TAM_MAX];
double Maior;
for(i=0; i<TAM_MAX; i++)
scanf("%f",&Vet1[i]);// le os dados