Top Banner
Aulas preparatórias Introdução a Programação em C. Prof. Gemilson George [email protected] Blog: informaticageo.wordpress.com GEO.OBI Olimpíadas de Informática Aula 05 Aula 05 Vetores(Arrays)
23

Vetores(Arrays) · Vetores(Arrays) Introdução à Programação C Vetores (array) Definição: Coleção de variáveis do mesmo tipo referenciada por um nome comum. (Herbert Schildt)

Aug 15, 2020

Download

Documents

dariahiddleston
Welcome message from author
This document is posted to help you gain knowledge. Please leave a comment to let me know what you think about it! Share it to your friends and learn new things together.
Transcript
Page 1: Vetores(Arrays) · Vetores(Arrays) Introdução à Programação C Vetores (array) Definição: Coleção de variáveis do mesmo tipo referenciada por um nome comum. (Herbert Schildt)

Aulas preparatórias Introdução a Programação em C.

● Prof. Gemilson George● [email protected]● Blog: informaticageo.wordpress.com ● GEO.OBI

Olimpíadas de Informática

Aula 05Aula 05

Vetores(Arrays)

Page 2: Vetores(Arrays) · Vetores(Arrays) Introdução à Programação C Vetores (array) Definição: Coleção de variáveis do mesmo tipo referenciada por um nome comum. (Herbert Schildt)

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

Page 3: Vetores(Arrays) · Vetores(Arrays) Introdução à Programação C Vetores (array) Definição: Coleção de variáveis do mesmo tipo referenciada por um nome comum. (Herbert Schildt)

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

Page 4: Vetores(Arrays) · Vetores(Arrays) Introdução à Programação C Vetores (array) Definição: Coleção de variáveis do mesmo tipo referenciada por um nome comum. (Herbert Schildt)

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

Page 5: Vetores(Arrays) · Vetores(Arrays) Introdução à Programação C Vetores (array) Definição: Coleção de variáveis do mesmo tipo referenciada por um nome comum. (Herbert Schildt)

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", &nota1);printf("Nota do aluno 2: ");scanf("%f", &nota2);printf("Nota do aluno 3: ");scanf("%f", &nota3);

Page 6: Vetores(Arrays) · Vetores(Arrays) Introdução à Programação C Vetores (array) Definição: Coleção de variáveis do mesmo tipo referenciada por um nome comum. (Herbert Schildt)

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", &nota1);printf("Nota do aluno 2: ");scanf("%f", &nota2); ... printf("Nota do aluno 100: ");scanf("%f", &nota100);

Page 7: Vetores(Arrays) · Vetores(Arrays) Introdução à Programação C Vetores (array) Definição: Coleção de variáveis do mesmo tipo referenciada por um nome comum. (Herbert Schildt)

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", &nota1); }

if (n >= 2) { printf("Nota do aluno 2: ");scanf("%f", &nota2); }

...

if (n >= 100) { printf("Nota do aluno 100: "); scanf("%f", &nota100); }

Page 8: Vetores(Arrays) · Vetores(Arrays) Introdução à Programação C Vetores (array) Definição: Coleção de variáveis do mesmo tipo referenciada por um nome comum. (Herbert Schildt)

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).

Page 9: Vetores(Arrays) · Vetores(Arrays) Introdução à Programação C Vetores (array) Definição: Coleção de variáveis do mesmo tipo referenciada por um nome comum. (Herbert Schildt)

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 ] ) ; }}

Page 10: Vetores(Arrays) · Vetores(Arrays) Introdução à Programação C Vetores (array) Definição: Coleção de variáveis do mesmo tipo referenciada por um nome comum. (Herbert Schildt)

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.

Page 11: Vetores(Arrays) · Vetores(Arrays) Introdução à Programação C Vetores (array) Definição: Coleção de variáveis do mesmo tipo referenciada por um nome comum. (Herbert Schildt)

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 ] ) ;}

Page 12: Vetores(Arrays) · Vetores(Arrays) Introdução à Programação C Vetores (array) Definição: Coleção de variáveis do mesmo tipo referenciada por um nome comum. (Herbert Schildt)

Introdução à Programação CVetores Vetores (array)(array)

2. Escreva um programa para calcular a média de N (<=100) alunos.

Page 13: Vetores(Arrays) · Vetores(Arrays) Introdução à Programação C Vetores (array) Definição: Coleção de variáveis do mesmo tipo referenciada por um nome comum. (Herbert Schildt)

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", &nota[i]);        soma=soma+nota[i];    }    media = soma/n;    printf("Média= %.2f",media);}

Page 14: Vetores(Arrays) · Vetores(Arrays) Introdução à Programação C Vetores (array) Definição: Coleção de variáveis do mesmo tipo referenciada por um nome comum. (Herbert Schildt)

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é” ;

Page 15: Vetores(Arrays) · Vetores(Arrays) Introdução à Programação C Vetores (array) Definição: Coleção de variáveis do mesmo tipo referenciada por um nome comum. (Herbert Schildt)

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]);}

Page 16: Vetores(Arrays) · Vetores(Arrays) Introdução à Programação C Vetores (array) Definição: Coleção de variáveis do mesmo tipo referenciada por um nome comum. (Herbert Schildt)

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);}

Page 17: Vetores(Arrays) · Vetores(Arrays) Introdução à Programação C Vetores (array) Definição: Coleção de variáveis do mesmo tipo referenciada por um nome comum. (Herbert Schildt)

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

Page 18: Vetores(Arrays) · Vetores(Arrays) Introdução à Programação C Vetores (array) Definição: Coleção de variáveis do mesmo tipo referenciada por um nome comum. (Herbert Schildt)

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

Page 19: Vetores(Arrays) · Vetores(Arrays) Introdução à Programação C Vetores (array) Definição: Coleção de variáveis do mesmo tipo referenciada por um nome comum. (Herbert Schildt)

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");   }}

Page 20: Vetores(Arrays) · Vetores(Arrays) Introdução à Programação C Vetores (array) Definição: Coleção de variáveis do mesmo tipo referenciada por um nome comum. (Herbert Schildt)

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");   }}

Page 21: Vetores(Arrays) · Vetores(Arrays) Introdução à Programação C Vetores (array) Definição: Coleção de variáveis do mesmo tipo referenciada por um nome comum. (Herbert Schildt)

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.

Page 22: Vetores(Arrays) · Vetores(Arrays) Introdução à Programação C Vetores (array) Definição: Coleção de variáveis do mesmo tipo referenciada por um nome comum. (Herbert Schildt)

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.

Page 23: Vetores(Arrays) · Vetores(Arrays) Introdução à Programação C Vetores (array) Definição: Coleção de variáveis do mesmo tipo referenciada por um nome comum. (Herbert Schildt)

TO BE CONTINUED…TO BE CONTINUED…