3. Funções para strings
A inclusão do cabeçalho string.h fornece um conjunto de
funções para manipulação de matrizes de caracteres.
strcpy(s1, s2); //copia s2 em s1
strcat(s1, s2); //concatena s2 ao final de s1
strlen(s1); //retorna o tamanho de s1
strchr(s1, 'r'); //busca um caractere em s1
strstr(s1, 'tor'); //busca uma string em s1
strcmp(s1, s2); // compara as duas strings
strncmp(str1, str2, 3); // Compara apenas os primeiros 3 caracteres
ATP II
3
Visite os exemplos no Github:
https://github.com/profvictorhugo/exemplos_linguagem_C
4. Exercitando
1. Cria um programa em C para ler uma palavra, contar e
apresentar a quantidade de ocorrências das vogais nessa
palavra. Considere diferentes vogais maiúsculas e minúsculas:
case sensitive. Sugestão: use ctype.h e a função
tolower(char). Nesse momento, considere frases sem
caracteres especiais. Veja o exemplo abaixo:
ATP II
4
5. Exercitando
2. Implemente um programa em C que solicita ao usuário para
inserir uma palavra ou frase e, em seguida, exibe a versão
invertida da string. Veja o exemplo abaixo:
ATP II
5
6. Exercitando
3. Agora faremos uma nova versão do programa anterior.
Porém, iremos lidar com uma lista de palavras ou frases. O
programa deve ler todas as indefinidas palavras ou frases (≤
100), e só depois deverá apresentar as versões invertidas
delas. O critério de saída do programa é quando a palavra
“sair” for informada. Veja o exemplo abaixo:
ATP II
6
7. Matrizes n-dimensionais
Matriz de muitas dimensões:
Estendendo a ideia de que uma matriz bidimensional é o conjunto de
matrizes unidimensionais, onde em cada linha temos uma matriz de
uma dimensão (vetor), uma matriz de muitas dimensões, ou
multidimensional, é o conjunto de matrizes de imediata ordem
inferior:
Uma matriz de 4 dimensões é o conjunto de matrizes de 3 dimensões.
Uma matriz de 3 dimensões é o conjunto de matrizes de 2 dimensões.
ATP II
7
8. Matrizes n-dimensionais
Matriz de muitas dimensões:
Exemplo:
int codigos[3][3][3]
ATP II
8
0,0,0 0,0,1 0,0,2
0,1,0 0,1,1 0,1,2
0,2,0 0,2,1 0,2,2
1,0,0 1,0,1 1,0,2
1,1,0 1,1,1 1,1,2
1,2,0 1,2,1 1,2,2
2,0,0 2,0,1 2,0,2
2,1,0 2,1,1 2,1,2
2,2,0 2,2,1 2,2,2
13. Matrizes n-dimensionais
Onde usar?
ATP II
1
3
double notas[4] double notas[30][4] double notas[9][30][4]
As 4 notas de um aluno As 4 notas de 30 alunos As 4 notas de 30 alunos de
9 turmas
14. Exercitando
1. Construa uma matriz para representar todas as 4 notas (1
por bimestre) de todos os alunos do IFG para as disciplinas
de Português, Matemática e História. Considere 15 campus,
com 5 cursos cada, e 3 turmas em cada curso.
ATP II
1
4
15. Uso conjunto de múltiplas matrizes
Como fazer quando precisamos organizar dados de um mesmo domínio,
mas que possuam diferentes tipos de dados?
Exemplo: Crie um programa que colete as 4 notas de 30 alunos de
uma turma. Ao fazer isso, colete também o nome dos respectivos
alunos.
Para tal, podemos usar múltiplas matrizes independentes. Basta tomar
cuidado com os índices!!!
ATP II
1
5
0
1
2
...
29
Aladir Souza
Aline Cabral
Beófilo Silva
...
Zuckeberg
Santos
0 0
1
2
...
29
8.5
7.0
4.9
...
6.2
0 8.6
7.0
6.5
...
8.2
9.5
7.0
7.9
...
4.8
7.5
7.0
3.9
...
9.9
0
1
2
...
29
2019100189
2019100191
2019100192
...
2019100199
0
16. Exercitando
1. Construa uma programa para fazer o que foi explicado no
slide anterior. O programa deverá ler o nome, a matrícula e as
4 notas de todos os alunos da sala. Ao fim, a média deles
deverá ser calculada, e apresentada em ordem decrescente
por média final. Para cada aluno, o programa deverá
apresentar a matrícula, o nome e a média final.
ATP II
1
6