Baixe o app para aproveitar ainda mais
Prévia do material em texto
Programação de Computadores II Aula 04. Linguagem C II Slides cedidos por Karina Mochetti 2018.1 Aula 04. Linguagem C II Exercício Aula Passada Faça um programa em C que leia duas datas em dia, mês e ano e retorne a mais antiga, formatada de maneira DD/MM/AAAA. #include<stdio.h> int main () { int dia1, mes1, ano1, dia2, mes2, ano2; int antigo; scanf ("%d %d %d %d %d %d", &dia1, &mes1, &ano1, &dia2, &mes2, &ano2); if (ano1 < ano2) antigo = 1; else if (ano2 < ano1) antigo = 2; else { if (mes1 < mes2) antigo = 1; else if (mes2 < mes1) antigo = 2; else { if (dia1 < dia2) antigo = 1; else if (dia2 < dia1) antigo = 2; else antigo = 1; // sao iguais } } if (antigo == 1) printf("%d/%d/%d\n", dia1, mes1, ano1); else printf("%d/%d/%d\n", dia2, mes2, ano2); return 0; } Aula 04. Linguagem C II Repetição com Contador A repetição com contador é realizada pelo for. Entre parênteses, divido por ponto-e-vírgula �cam 3 expressões: a inicialização (e declaração) das variáveis; a condição de �m do loop; a contagem a ser realizada a cada passo. #include<stdio.h> int main () { int n; scanf ("%d", &n); printf("Contando de 1 a n: \n"); for (int i = 1; i <= n; i++) { printf("%d, ", i); } return 0; } Aula 04. Linguagem C II Repetição com Condição A repetição com condição é realizada pelo while. A condição de parada �ca entre parênteses e é checada antes da primeira ação ser realizada. #include<stdio.h> int main () { int n, i = 1; scanf ("%d", &n); printf("Contando de 1 a n: \n"); while (i <= n) { printf("%d, ", i); i++; } return 0; } Aula 04. Linguagem C II Repetição com Condição Outra repetição com condição é realizada pelo do while. A condição de parada �ca entre parênteses e é checada depois da primeira ação ser realizada. #include<stdio.h> int main () { int n, i = 1; scanf ("%d", &n); printf("Contando de 1 a n: \n"); do { printf("%d, ", i); i++; } while (i <= n) return 0; } Aula 04. Linguagem C II Vetor A estrutura de vetor em C é declarada com tipo, seguido do nome e o tamanho do vetor entre []. O tamanho do vetor deve sempre ser bem de�nido (ou um valor ou uma constante, nunca uma variável). Os índices em C começam no 0 e terminam em tamanho-1. #include<stdio.h> int main () { float vetor [100]; for (int i = 0; i < 100; i++) { scanf("%f", &v[i]); } return 0; } Aula 04. Linguagem C II Matriz A estrutura de vetores multidimensionais em C é igual a de vetor, mas cada tamanho de dimensão é declarado []. O tamanho de cada dimensão ainda deve sempre ser bem de�nido (ou um valor ou uma constante, nunca uma variável). Os índices em C começam no 0 e terminam em tamanho-1. #include<stdio.h> int main () { float M [100][50]; for (int i = 0; i < 100; i++) { for (int j = 0; j < 50; j++) { scanf("%f", &M[i][j]); } } return 0; } Aula 04. Linguagem C II String Em C não existe o tipo string. Uma string é de�nida como sendo um vetor de caracteres, declarado da forma char *str. As funções em strings podem ser encontradas na biblioteca string.h. O caracter especial `\0' de�ne o �m de uma string. Uma string é de�nida entre aspas duplas ", um caracter entre aspas simples '. #include<stdio.h> int main () { char *str = "Hello World"; int i = 0; while (str[i] != `\0') { printf("%c\n", str[i]); i++; } return 0; } Aula 04. Linguagem C II Exemplo 2 Acha o maior elemento de um vetor. Aula 04. Linguagem C II Exemplo 2 #include<stdio.h> int main() { int v[50]; int i, maior = 0; for (i = 0; i < 50; i++) scanf ("%d", &v[i]); for (i = 0; i < 50; i++) { if (v[i] > maior) maior = v[i]; } printf ("O maior número é %d", maior); return 0; } Acha o maior elemento de um vetor. Aula 04. Linguagem C II Exemplo 3 Separa um vetor em pares e impares. Aula 04. Linguagem C II Exemplo 3 #include<stdio.h> int main() { int vetor[100], pares[100], impares[100]; int i=0, j=0, k=0; for (i = 0; i < 100; i++) { if (vetor[i] % 2 == 1) { impares[k] = vetor[i]; k++; } else { pares[k] = vetor[i]; j++; } } return 0; } Separa um vetor em pares e impares. Aula 04. Linguagem C II Exemplo 1 Calcula a multiplicação de duas matrizes 100× 100. Aula 04. Linguagem C II Exemplo 1 #include<stdio.h> int main() { float A [100][100]; float B [100][100]; float C [100][100]; for (int i = 0; i < 100; i++) { for (int j = 0; j < 100; j++) { C[i][j] = 0; for (int k = 0; k < 100; k++) { C[i][j] += A[i][k]*B[k][j]; } } } } Calcula a multiplicação de duas matrizes 100× 100. Aula 04. Linguagem C II Exercício Faça um programa em C que ordene um vetor achando o maior elemento dele e colocando no �nal, depois achando o maior elemento restante e colocando na penúltima posição e assim sucessivamente. Aula 04. Linguagem C II
Compartilhar