ASPER
UNIBRATEC

Aula 7: Vetores, Matrizes, Strings


Exercício 1
Enunciado: Programa original :

#include <stdio.h>
int main ()
{
int num[100]; /* Declara um vetor de inteiros de 100 posicoes */
int count=0;
int totalnums;
do
{
printf ("\nEntre com um numero (-999 p/ terminar): ");
scanf ("%d",&num[count]);
count++;
} while (num[count-1]!=-999);
totalnums=count-1;
printf ("\n\n\n\t Os números que você digitou foram:\n\n");
for (count=0;count<totalnums;count++)
printf (" %d",num[count]);
return 0;
}
Reescreva o exemplo acima, realizando a cada leitura um teste para ver se a
dimensão do vetor não foi ultrapassada. Caso o usuário entre com 100 números, o
programa deverá abortar o loop de leitura automaticamente. O uso do Flag não
deve ser retirado.

Exercício 2
Enunciado:

Faça um programa que leia quatro palavras pelo teclado, e armazene cada palavra
em uma string. Depois, concatene todas as strings lidas numa única string. Por
fim apresente esta como resultado ao final do programa.

Exercício 3
Enunciado:

O que imprime o programa a seguir? Tente entendê-lo e responder. A seguir,
execute-o e comprove o resultado.
# include <stdio.h>
int 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");
}
return 0;
}


Exercício adicional:
Exercício 1:

O que o programa a seguir faz? Qual é o resultado obtido se a string fornecida
for
a) "Ah! Eu to maluco!"
b) "5*4+(3^3)+4*5"
#include <stdio.h>
#include <string.h>
#define TAM 20
int 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;
}
return 0;
}