vetores(arrays) · vetores(arrays) introdução à programação c vetores (array) definição:...
Post on 15-Aug-2020
22 Views
Preview:
TRANSCRIPT
Aulas preparatórias Introdução a Programação em C.
● Prof. Gemilson George● gemilson@colegiogeo.com.br● Blog: informaticageo.wordpress.com ● GEO.OBI
Olimpíadas de Informática
Aula 05Aula 05
Vetores(Arrays)
Introdução à Programação CVetores (array)Vetores (array)
Definição: Coleção de variáveis do mesmo tipo referenciada por um nome comum.
(Herbert Schildt)● Declaração: tipo nome_variável [tamanho]
Ex: float notas[10]; // Este vetor armazena 10 valores, vai do índice 0 até o índice 9.
● Acesso por índice:notas[0] → 1º valor notas[5] → 6º valornotas[1] → 2º valor notas[9] → 10º valor
Introdução à Programação CVetores Vetores (array)(array)
Comparativo – Variável simples X Vetor
TIPO
NOME
ÍNDICE 0 ÍNDICE 1 ÍNDICE 2 ÍNDICE 3 ÍNDICE 4
VALOR 1 VALOR 2 VALOR 3 VALOR 4
VARIÁVEL SIMPLESVARIÁVEL SIMPLES
VETORVETOR
Ex: int x ; x = 2 ;
char b; char b = 'k' ;
Ex: int vet [5] ; vet [3] = 7 ;
char vet[4] ;vet[0] = 'a' ;
VALOR 5
NOME
TIP
O
Introdução à Programação CVetores (array)Vetores (array)
Exemplos da utilização de um vetor declarado como: float nota[10]
● a = nota[9]; ok
● nota[5] = 9.5; ok
● a = nota; erro
● nota[i+1]; ok
● nota[-2]; erro
Introdução à Programação CVetores Vetores (array)(array)
Situação problema 1: guardar três notas
float nota1, nota2, nota3;
printf("Nota do aluno 1: ");scanf("%f", ¬a1);printf("Nota do aluno 2: ");scanf("%f", ¬a2);printf("Nota do aluno 3: ");scanf("%f", ¬a3);
Introdução à Programação CVetores Vetores (array)(array)
Situação problema 2: guardar 100 notasfloat nota1, nota2, nota3, .... nota100;printf("Nota do aluno 1: ");scanf("%f", ¬a1);printf("Nota do aluno 2: ");scanf("%f", ¬a2); ... printf("Nota do aluno 100: ");scanf("%f", ¬a100);
Introdução à Programação CVetores Vetores (array)(array)
Situação problema 3: guardar n (<=100) notasfloat nota1, nota2, nota3, .... nota100;
if (n >= 1) { printf("Nota do aluno 1: ");scanf("%f", ¬a1); }
if (n >= 2) { printf("Nota do aluno 2: ");scanf("%f", ¬a2); }
...
if (n >= 100) { printf("Nota do aluno 100: "); scanf("%f", ¬a100); }
Introdução à Programação CVetores Vetores (array)(array)
Exemplo 0: Escreva um programa para listar na tela um vetor com os valores de 1 a 10 (lado a lado).
Introdução à Programação CVetores Vetores (array)(array)
Exemplo 0: Escreva um programa para listar na tela um vetor com os valores de 1 a 10 (lado a lado). # include <stdio.h>
main ( ){ int vetor [ 10 ] , i;for ( i = 0 ; i < 10 ; i++ ) {
vetor [ i ] = i + 1; printf ( " %d ", vetor [ i ] ) ; }}
Introdução à Programação CVetores Vetores (array)(array)
Exemplo 1: Escreva um programa para receber 5 valores inteiros em um vetor, e imprimir o 2º e o 5º valor.
Introdução à Programação CVetores Vetores (array)(array)
Exemplo 1: Escreva um programa para receber 5 valores inteiros em um vetor, e imprimir o 2º e o 5º valor. # include <stdio.h>
main ( ){ int valor [ 5 ] ; int i ;for ( i = 0 ; i < 5 ; i++ ) { printf ( " Digite um valor: " ) ; scanf ( " %d " , &valor [ i ] ) ; } printf ( " %d \n ", valor [ 1 ] ) ; printf ( " %d \n ", valor [ 4 ] ) ;}
Introdução à Programação CVetores Vetores (array)(array)
2. Escreva um programa para calcular a média de N (<=100) alunos.
Introdução à Programação CVetores Vetores (array)(array)
2. Escreva um programa para calcular a média de N (<=100) alunos.# include <stdio.h>main( ){ float nota[100], soma=0, media; int n, i; printf("Número de alunos: "); scanf("%d", &n); for (i = 0; i < n; i++) { printf("Nota do aluno %d: ", i+1); scanf("%f", ¬a[i]); soma=soma+nota[i]; } media = soma/n; printf("Média= %.2f",media);}
Introdução à Programação CVetor de caracteres (Strings)Vetor de caracteres (Strings)
\0
TIPO
NOME
FIM
VALOR 1 VALOR 2 VALOR 3 VALOR 4
ÍNDICE 0 ÍNDICE 1 ÍNDICE 2 ÍNDICE 3 FIM
STRINGSTRING
Ex: char vet [5] ;
vet [3] = 'B' ;
char vet [5] = “Zé” ;
Introdução à Programação CVetor de caracteres (Strings)Vetor de caracteres (Strings)
#include<stdio.h>main( ){ char str[20]="Zé da silva"; printf ("%s\n",str); printf ("%c\n",str[5]); printf ("%c\n",str[8]);}
Introdução à Programação CVetor de caracteres (Strings)Vetor de caracteres (Strings)
#include<stdio.h>main(){ char str[50];
scanf("%s",str);
printf("%s \n",str);}
Recebendo stringsRecebendo strings
#include<stdio.h>main(){ char str[50];
gets(str);
printf("%s \n",str);}
Introdução à Programação CMatriz (vetor bidimensional)Matriz (vetor bidimensional)
Definição: São estruturas n-dimensionais utilizadas para armazenar dados de um mesmo tipo. Uma matriz pode ser considerada como um vetor de vetores
● Declaração: tipo nome_variável [num_linhas ] [num_colunas];
Ex: int notas[3] [4]; // matriz com 3 linhas e 4 colunas de inteiros
● Acesso por índice:notas[0] [0] → 1º elemento da 1ª linhanotas[2] [3] → 3º elemento da 4ª linha
Introdução à Programação CMatriz (vetor bidimensional)Matriz (vetor bidimensional)
Representando graficamente um Matriz 3x4
0 1 2 3
0 8 9 10 7.5
1 9.8 10 9.9 4
2 9 8.6 10 9
Representando graficamente um Vetor de tamanho 4
0 1 2 38 9 10 7.5
Declaração: int vet[4];Leitura(receber): scanf(“%d”,&vet[2]);Escrita(mostrar): printf(“%d”,vet[2]);
Declaração: int mat[3] [4];Leitura(receber): scanf(“%d”,&mat[2][3]);Escrita(mostrar): printf(“%d”,mat[2][1]);
índices
Índices COLUNAS
Índi
ces
LIN
HA
S
Introdução à Programação CMatriz (vetor bidimensional)Matriz (vetor bidimensional)
Escreva um programa que receba uma matriz 3x4 e depois a coloque na tela.
#include <stdio.h>int main() { int i, j, num[3][4];
// Recebendo os dados for (i = 0; i < 3; i++) for (j = 0; j < 4; j++) scanf("%d",&num[i][j]);
// Exibindo os dados for (i = 0; i < 3; i++) { for (j = 0; j < 4; j++) printf("%3d ", num[i][j]); printf("\n"); }}
Introdução à Programação CMatriz (vetor bidimensional)Matriz (vetor bidimensional)
Escreva um programa que receba uma matriz 3x4 com os números de 1 a 12 e depois a exiba junto a outra matriz de mesmo tamanho com seus quadrados.
#include <stdio.h>int main() { int i, j, valor[3][4], quad[3][4];
// Recebendo os dados for (i = 0; i < 3; i++) for (j = 0; j < 4; j++) valor[i][j]=i*4+j+1;
// Realizando os cálculos for (i = 0; i < 3; i++) { for (j = 0; j < 4; j++) quad[i][j] = valor[i][j] * valor[i][j]; printf("\n"); }
//cont. // Exibindo os resultados for (i = 0; i < 3; i++) { for (j = 0; j < 4; j++) printf("%5d",valor[i][j]); printf("\n"); }
printf("\n");
for (i = 0; i < 3; i++) { for (j = 0; j < 4; j++) printf("%5d",quad[i][j]); printf("\n"); }}
Introdução à Programação CArray(Vetor) UnidimensionalArray(Vetor) Unidimensional
Exercício
1) Faça um programa que cria um vetor de 5 posições, recebe os valores do usuário e os escreve na ordem inversa.
2) Faça um programa que carregue um vetor de seis elementos numéricos inteiros, calcule e mostre:a) Quais os números ímpares.b) A quantidade de números pares;
3) Faça um programa que carregue um vetor com dez números inteiros, calcule e mostre a quantidade de números negativos e a soma dos números positivos desse vetor.
4) Faça um programa que leia 5 elementos de um vetor A. Construir um vetor B do mesmo tipo,observando a seguinte lei de formação: "Todo o elemento de B deverá ser o quadrado do elemento correspondente de A". No final apresentar o vetor A e B.
5) Faça um programa que carregue um vetor com 5 posições, calcule e mostre:a) O maior elemento do vetor e em que posição esse elemento se encontra;b) O menor elemento do vetor e em que posição esse elemento se encontra.
Introdução à Programação CMatriz (vetor bidimensional)Matriz (vetor bidimensional)
Exercício
1. Escreva um programa que receba uma matriz 3x3 do usuário e depois de pular uma linha a exiba na tela.
2. Criar um programa que leia os elementos de uma matriz inteira de 4 x 4 e imprimir os elementos da diagonal principal.
3. Escreva um programa que receba uma matriz 3x3 do usuário e depois exiba na tela o maior e o menor valor.
4. Escreva um programa que receba uma matriz 2x2 do usuário e depois de pular uma linha exiba na tela quais são ímpares.
5. Escreva um programa que receba duas matrizes 3x3 do usuário e depois de pular uma linha a exiba outra matriz resultante da soma das duas primeiras.
TO BE CONTINUED…TO BE CONTINUED…
top related