Upload
others
View
29
Download
0
Embed Size (px)
Citation preview
13/08/2014
1
ALGORITMOS E TÉCNICAS DE PROGRAMAÇÃO
PROF. FABIANO TAGUCHIhttp://fabianotaguchi.wordpress.com
AULA 07VETORES
MATRIZES
EXERCÍCIOS
13/08/2014
2
Imagine o seguinte problema:
“Crie um programa que solicite a nota de 100alunos e calcule a média desta turma,informando qual foi a maior e qual foi menornota. Quantas variáveis precisamos?
SITUAÇÃO
Um vetor é uma coleção de objetos que têm amesma natureza. Cada elemento de um vetor éidentificado pelo nome seguido de um índice.
VETORES
13/08/2014
3
No exemplo abaixo é apresentado um vetorpara notas de um aluno do tipo float. A sintaxepara declaração é:
Tipo nome[tamanho];
VETORES
10 222 21
7,0 6,7 7,8 ... 8,0 6,6
Assim como uma variável, um vetor pode serdeclarado e já iniciado, a seguir é apresentadoalguns exemplos:
• Int dia[7] = {12,30,14,7,13,15,6};• Float notas[5] = { 5.4, 8.5, 7.5, 6.5, 4.2};
INICIALIZANDO UM VETOR
13/08/2014
4
#include <stdio.h>#include <stdlib.h>main(){
int i,numero[10];for(i=0;i<10;i++){
numero[i] = 2*i;printf("%d\n", numero[i]);
}system("PAUSE");
}
EXEMPLO
#include <stdio.h>#include <stdlib.h>main(){
int num[100];int cont=0, totalnum;do{
printf("Digite um número ou -999 para sair: ");scanf("%d", &num[cont]);cont++;
}while (num[cont-1]!=-999);totalnum=cont-1;printf("\n\n Os numeros digitados foram: ");for(cont=0;cont<totalnum;cont++){
printf("%d\n",num[cont]);}system("PAUSE");
}
13/08/2014
5
Um vetor de caracteres é uma string, A entradae saída de caracteres em uma stringcorretamente deve ser feita através docomando getchar e putchar.
STRINGS
#include <stdio.h>#include <stdlib.h>
main(){
char ch;ch = getchar();putchar(ch);system("PAUSE");
}
GETCHAR E PUTCHAR
13/08/2014
6
#include <stdio.h>#include <stdlib.h>main(){
char c;printf(“Digite uma letra ou número: “);c = getchar();if((c>=‘0’) && (c<=‘9’)
printf(“E um numero”);else
printf(“E uma letra”);system(“PAUSE”);
}
LETRA OU NÚMERO
char s1[] = “”;char s2[] = “Rio de Janeiro;char s3[81];char s4[81] = “Rio”;
CADEIA DE STRINGS
13/08/2014
7
O comando scanf não identifica caracteres embranco, por isso é necessário o comando gets.
ch[15] = “Rio de Janeiro”
Saída do scanf = RioSaída do gets = Rio de Janeiro
SCANF E GETS
#include <stdio.h>#include <stdlib.h>
main(){
char ch[15];printf("Digite cidade: ");scanf("%s", ch);printf("%s", ch);system("PAUSE");
}
SCANF E GETS
13/08/2014
8
#include <stdio.h>#include <stdlib.h>
main(){
char palavra[20];printf(“Digite uma string: “);gets(palavra);printf(“String digitada: “);puts(palavra);system (“PAUSE”);
}
GETS E PUTS
#include <stdio.h>#include <stdlib.h>main(){
char palavra[20];int i;printf(“Digite uma string: “);gets(palavra);for (i=0;palavra[i]!=‘\0’;i++){
printf(“%c”, palavra[i]);}system(“PAUSE”);
}
IMPRIMINDO CARACTERE INDIVIDUAIS
13/08/2014
9
#include <stdio.h>#include <stdlib.h>main(){
char palavra[20];int i, n=0;printf(“Digite uma string: “);gets(palavra);for(i=0;palavra[i]!=‘\0‘;i++){
n++;}printf(“O tamanho da palavra e %d”, n);system (“PAUSE”);
}
CALCULAR NÚMERO DE CARACTERES
A biblioteca string.h possui algumasfunções de manipulação de strings que sãobastante úteis, como:
• Cópias de strings;• Concatenação de strings;• Tamanho de strings;• Comparação de strings.
BIBLIOTECA STRING.H
13/08/2014
10
#include <stdio.h>#include <stdlib.h>#include <string.h>main(){
char p1[30], p2[30], p3[30];printf(“Digite uma string: “);gets(p1);strcpy(p2,p1);strcpy(p3, “Voce digitou a string”);printf(“\n\n %s %s”, p3, p2);system (“PAUSE”);
}
STRCPY
#include <stdio.h>#include <stdlib.h>#include <string.h>main(){
char p1[100], p2[100];printf(“Digite uma string: “);gets(p1);strcpy(p2,”Você digitou a string”);strcat(p2, p1);printf(“\n\n %s”, p2);system (“PAUSE”);
}
STRCAT
13/08/2014
11
#include <stdio.h>#include <stdlib.h>#include <string.h>main(){
int tamanho;char palavra[100];printf(“Digite uma string: “);gets(palavra);tamanho = strlen(palavra);printf(“Tamanho string %d: “, tamanho);system (“PAUSE”);
}
STRLEN
#include <stdio.h>#include <stdlib.h>#include <string.h>main(){
char p1[20], p2[20];printf(“Digite uma string: “);gets(p1);printf(“Digite outra string: “);gets(p2);if(strcmp(p1,p2))
printf(“Strings são iguais: “);else
printf(“Strings são diferentes”;;system (“PAUSE”);
}
STRCMP
13/08/2014
12
01 – Escreva um programa que solicite aousuário uma string, e retorne a string de tráspara frente.
02 – Escreva um programa que solicite a umusuário que seja digitado uma frase, e mostrequantas vezes cada vogal aparece nesta frase.
03 - Crie um programa que recebe uma string eum caractere, e apague todas as ocorrênciasdesses caractere na string.
EXERCÍCIOS
01 – Solicite ao usuário que digite dez valores, apartir destes valores, apresente:• Soma desses valores;• Média dos valores digitados;• Maior valor digitado;• Menor valor digitado.
02 – Crie um vetor que possa armazenar 06números. Peça ao usuário que preencha o vetorcom os 06 números, e a partir disso permiteque sejam pesquisados números para saber seforam digitados ou não.
EXERCÍCIOS