Programação de
Computadores
Aula 4 e 5
23 e 30/08/2012
Profª Ms. Engª Elaine Cecília Gatto
Unidade 4: Vetores, Matrizes e Strings
Curso de Bacharelado em Engenharia de Computação
Universidade do Sagrado Coração – USC
Bauru/SP
Matrizes
• Matrizes precisam de dois índices, ao invés de apenas um,
  como no caso do vetor.
• São estruturas multidimensionais.
• Cada elemento de cada linha ou coluna é inicializado com o
  índice zero.
• Sintaxe:
• tipodavariavavel nomedavariavel[linha, coluna]
• Tipo da variável: tipo de dado – char, int, float, etc;
• Nome da variável: identificador;
• [linha, colunha]: apresenta o tamanho da matriz, as
  dimensões, quantas linhas e colunas a matriz possui
Matrizes
• Exemplos:
• Int numeros [2] [3] : criando uma matriz do tipo inteiro com 2 linhas
  e 3 colunas – matriz retangular
                     Coluna 1           Coluna 2       Coluna 3
       Linha 1        L1_C1              L1_C2          L1_C3
       Linha 2        L2_C1              L2_C2          L2_C3

• Int numeros [4] [4] : criando uma matriz do tipo inteiro com 4 linhas
  e 4 colunas – matriz quadrada
                 Coluna 1     Coluna 2      Coluna 3    Coluna 4
     Linha 1      L1_C1         L1_C2        L1_C3       L1_C4
     Linha 2      L2_C1         L2_C2        L2_C3       L2_C4
     Linha 3      L3_C1         L3_C2        L3_C3       L3_C4
     Linha 4      L4_C1         L4_C2        L4_C3       L4_C4
Matrizes
• Exemplos: notas de alunos – int notas [5] [2];
   POSIÇÃO             1               2
                   Bimestre 1      Bimestre 2      ÍNDICE DA LINHA
   Aluno 1            5,0             10,0               0
   Aluno 2           10,0             4,0                1
   Aluno 3            7,0             6,0                2
   Aluno 4            3,0             9,0                3
   Aluno 5            4,0             8,0                4
  ÍNDICE DA
                       0               1
   COLUNA
MATRIZES
#include <stdio.h>
#include <conio.h>
int main() {
         int numero[5][5], linha=0, coluna=0;
         for(linha=0; linha<5; linha++) {
                  for(coluna=0; coluna<5; coluna++) {
                            printf(“ n digite um numero para a linha %d, coluna
%d: “, linha+1, coluna+1);
                            scanf(“%d”, &numero*linha+*coluna+);
                  }
         }
         getch();
         return(0);
}
Matrizes
#include <stdio.h>
#include <stdlib.h>

int main(){
  //duas linhas: alunos
  //quatro colunas: 3 notas mais a média
  float notas[2][4], total=0;
  int i, nt;
  for(i=0; i<2; i++){
         for(nt=0; nt<4; nt++){
               notas[i][nt]=0;
         }
  }
Matrizes
//incluindo notas
  for(i=0; i<2; i++){
        printf(" n Digite as notas do aluno %d: ", i+1);
        printf(" n ");
        total=0;//limpa o total para cada aluno
        //a quarta ocorrência - índice 3 - é usado para fazer a média
        for(nt=0; nt<3; nt++){
              printf(" n Digite a nota %d: ", nt+1);
              scanf("%f", &notas[i][nt]);
              total=total+notas[i][nt];
        }
        //a média será armazenada no índice 3
        notas[i][3]=(total/3);
  }
Matrizes
 //apresentando as notas por aluno
   for(i=0; nt<4; i++){
         printf(" n Notas do aluno %d: ", i+1);
         printf(" n ");
         for(nt=0; nt<4; nt++){
               if(nt<3){
                     printf(" n Nota %d: %2.1f ", nt+1, notas[i][nt]);
               }
               else {
                   printf(" n Media %2.1f ", notas[i][nt]);
               }
         }
   }
   printf(" n n ");
   system("pause");
   return(0);
}

Vetores, Matrizes e Strings em C Parte 2

  • 1.
    Programação de Computadores Aula 4e 5 23 e 30/08/2012 Profª Ms. Engª Elaine Cecília Gatto Unidade 4: Vetores, Matrizes e Strings Curso de Bacharelado em Engenharia de Computação Universidade do Sagrado Coração – USC Bauru/SP
  • 2.
    Matrizes • Matrizes precisamde dois índices, ao invés de apenas um, como no caso do vetor. • São estruturas multidimensionais. • Cada elemento de cada linha ou coluna é inicializado com o índice zero. • Sintaxe: • tipodavariavavel nomedavariavel[linha, coluna] • Tipo da variável: tipo de dado – char, int, float, etc; • Nome da variável: identificador; • [linha, colunha]: apresenta o tamanho da matriz, as dimensões, quantas linhas e colunas a matriz possui
  • 3.
    Matrizes • Exemplos: • Intnumeros [2] [3] : criando uma matriz do tipo inteiro com 2 linhas e 3 colunas – matriz retangular Coluna 1 Coluna 2 Coluna 3 Linha 1 L1_C1 L1_C2 L1_C3 Linha 2 L2_C1 L2_C2 L2_C3 • Int numeros [4] [4] : criando uma matriz do tipo inteiro com 4 linhas e 4 colunas – matriz quadrada Coluna 1 Coluna 2 Coluna 3 Coluna 4 Linha 1 L1_C1 L1_C2 L1_C3 L1_C4 Linha 2 L2_C1 L2_C2 L2_C3 L2_C4 Linha 3 L3_C1 L3_C2 L3_C3 L3_C4 Linha 4 L4_C1 L4_C2 L4_C3 L4_C4
  • 4.
    Matrizes • Exemplos: notasde alunos – int notas [5] [2]; POSIÇÃO 1 2 Bimestre 1 Bimestre 2 ÍNDICE DA LINHA Aluno 1 5,0 10,0 0 Aluno 2 10,0 4,0 1 Aluno 3 7,0 6,0 2 Aluno 4 3,0 9,0 3 Aluno 5 4,0 8,0 4 ÍNDICE DA 0 1 COLUNA
  • 5.
    MATRIZES #include <stdio.h> #include <conio.h> intmain() { int numero[5][5], linha=0, coluna=0; for(linha=0; linha<5; linha++) { for(coluna=0; coluna<5; coluna++) { printf(“ n digite um numero para a linha %d, coluna %d: “, linha+1, coluna+1); scanf(“%d”, &numero*linha+*coluna+); } } getch(); return(0); }
  • 6.
    Matrizes #include <stdio.h> #include <stdlib.h> intmain(){ //duas linhas: alunos //quatro colunas: 3 notas mais a média float notas[2][4], total=0; int i, nt; for(i=0; i<2; i++){ for(nt=0; nt<4; nt++){ notas[i][nt]=0; } }
  • 7.
    Matrizes //incluindo notas for(i=0; i<2; i++){ printf(" n Digite as notas do aluno %d: ", i+1); printf(" n "); total=0;//limpa o total para cada aluno //a quarta ocorrência - índice 3 - é usado para fazer a média for(nt=0; nt<3; nt++){ printf(" n Digite a nota %d: ", nt+1); scanf("%f", &notas[i][nt]); total=total+notas[i][nt]; } //a média será armazenada no índice 3 notas[i][3]=(total/3); }
  • 8.
    Matrizes //apresentando asnotas por aluno for(i=0; nt<4; i++){ printf(" n Notas do aluno %d: ", i+1); printf(" n "); for(nt=0; nt<4; nt++){ if(nt<3){ printf(" n Nota %d: %2.1f ", nt+1, notas[i][nt]); } else { printf(" n Media %2.1f ", notas[i][nt]); } } } printf(" n n "); system("pause"); return(0); }