Lista de Exercícios
a) "Ah! Eu to maluco!"
b) "5*4+(3^3)+4*5"
#include <stdio.h>
#include <string.h>
#define TAM 20
main ()
{
char s[TAM];
int c, i, j;
for (i=0, j=strlen(s)-1; i<j; i++, j--)
{
c = s[i];
s[i] = s[j];
s[j] = c;
}
}
Exercício 2:
O que imprime o programa a seguir? Tente entendê-lo e responder.
A seguir, execute-o e comprove o resultado.
# include <stdio.h>
main()
{
int t, i, M[3][4];
for (t=0; t<3; ++t)
for (i=0; i<4; ++i)
M[t][i] = (t*4)+i+1;
for (t=0; t<3; ++t)
{
for (i=0; i<4; ++i)
printf ("%3d ", M[t][i]);
printf ("\n");
}
}
Exercício 3:
Faça um programa que ordene um vetor de inteiros de N posições.
Para isto você precisará usar um loop. Verifique o número
de iterações até que o programa consiga finalmente
ordenar o vetor. (sugestões: use N=6, N=8 e N=12).
Caso alguém não conheça o procedimento para a multiplicação
de matrizes, segue aqui alguma orientação.
Suponha as matrizes A(mXn)
| a11 a12 ... a1n |
A = | a21 a22 ... a2n |
| :
|
| am1 am2 ... amn |
e B(nXt)
| b11 b12 ... b1t |
B = | b21 b22 ... b2t |
| :
|
| bn1 bn2 ... bnt |
A matriz C (mXt) = A*B será da seguinte forma:
| a11*b11 +a12*b21 +...+a1n*bn1 a11*b12
+a12*b22 +...+ a1n*bn2 a11+b1t +a12*b2t +...+ a1n*bnt |
C = | a21*b11 +a22*b21 +...+a2n*bn1 a21*b12 +a22*b22 +...+
a2n*bn2 a21+b1t +a22*b2t +...+ a2n*bnt |
| ...
|
| am1*b11 +am2*b21 +...+amn*bn1 am1*b12
+am2*b22 +...+ amn*bn2 am1+b1t +am2*b2t +...+ amn*bnt |
Exercício 2:
Refaça o programa da página c530.html,
ordenando as strings lidas por tamanho (menores primeiro, maiores depois).