Documente Academic
Documente Profesional
Documente Cultură
3. Declarao de matrizes
Para criar uma matriz, precisamos declarar trs atributos dela: O tipo de valor que vai ser armazenado na matriz O nome da matriz, para que possamos acess-la O nmero de elementos da matriz A declarao de uma matriz muito parecida com a declarao de uma varivel, bastando adicionar o nmero de elementos que desejamos que ela tenha. A sintaxe a seguinte: <tipo> <nome> [<numero de elementos>]; Por exemplo, caso quisssemos criar uma matriz chamada Manual para armazenar 200 inteiros, a declarao seria assim: int Manual [156]; Podemos utilizar qualquer tipo de variveis j estudadas anteriormente para criar uma matriz, como float, int, char. Uma vez criada uma matriz de um determinado tipo, ela s pode receber valores deste tipo. Note que precisamos definir um tipo para uma matriz: no possvel criar uma matriz genrica que aceite um tipo qualquer, ou vrios tipos. Isso acontece porque ao declarar uma matriz, o compilador aloca memria suficiente para conter o nmero de valores especificado de acordo com o tipo da matriz. Por exemplo, uma matriz de 100 elementos do tipo int normalmente ir requerer 100*sizeof(int) bytes de memria. Por outro lado, uma matriz de 100 elementos do tipo float ir requerer 100*sizeof(float) bytes. Na prtica, esses tamanhos vo depender da arquitetura do computador onde o programa estiver sendo executado. Assim como uma varivel normal, podemos atribuir valores para uma matriz no momento de sua declarao. Isto feito utilizando o operador de atribuio = seguido dos valores contidos entre chaves e separados por vrgulas. Por exemplo, considere a matriz de inteiros teste a seguir: int teste[5] = { 1, 2, 3, 4 , 5}; Tambm podemos atribuir apenas parte dos valores de uma matriz, por exemplo, podemos criar uma matriz que comporte 50 valores do tipo float e atribuir apenas 5 valores ela, deixando para atribuir o restante dos valores no decorrer do programa. float notas[50] = { 7.65, 8.48, 4.27, 6.78, 9.10 }; A linguagem C++, em princpio, faz com que toda matriz que no tenha sido inicializada ou que tenha sido parcialmente inicializada tenha seus valores restantes automaticamente transformados em zero. Assim, caso precisemos de uma matriz que s contenha zeros, podemos ou no inicializ-la ou apenas atribuir o primeiro elemento da matriz como zero e deixar que o compilador transforme os elementos restantes em zero, como vemos a seguir: int zeros[75]; ou int zeros[75] = {0}; Entretanto, para se evitar que algum esquecimento na programao de um compilador venha a complicar a vida do programador usurio daquela ferramenta, o ideal que toda matriz declarada seja inicializada. Quer ter certeza de que toda a sua matriz est zerada ? Faa uma instruo de repetio e zere cada posio da matriz.
2 #include <stdlib.h> #include <conio.h> #include <iostream.h> #define Max 5 // constante para facilitar a manuteno do programa no futuro. // trabalhando com vetores (matrizes de uma dimenso; int main() { float V[Max],Med, Acum; int i; for(i = 0; i<Max; i++) { cout<<"\nEntre com o valor de V["<<i+1<<"]: "; // ou printf("\nEntre com o valor de V[%2d]: ",i+1); scanf("%f",&V[i]); } Acum = 0; printf("\n"); for(i = 0; i<Max; i++) { Acum = Acum + V[i]; } Med = Acum/Max;20; printf("\n A media dos %d valores do vetor = %5.2f.",Max,Med); getch(); exit(1); }