Documente Academic
Documente Profesional
Documente Cultură
Tablouri
tip variabila_tablou[];
tip[] variabila_tablou;
a) Accesul individual :
t[0]= 15 ;
.
t[2]++ ;
System.out.print(t[4]) ;
b) Accesul global se face utiliznd dimensiunea unui tablou. Un exemplu de
acces global este operaia de citire/afiare
Citirea unui vector :
int t[] = new int[10] ;
for (i=0 ; i<t.lenght ; i++)
{ System.out.println ("dati elementul " + i + " : " ) ;
t[i] = Integer.parseInt(fluxIntrare.readLine());
}
Afiarea unui vector :
for (int i=0 ; i<t.length ; i++)
System.out.print (t[i] + " ");
Pentru tablouri iruri de caractere:
char tc[]
System.out.print (tc + " ");
Obs: Java nu suport tablouri dinamice (dimensiunea unui tablou este fix !).
Sarcina 1 : Scriei un program care citete si afieaz elementele unui vector de
numere ntregi.
Sarcina 2 :
Compilati i rulai programul urmtor care nmulete dou matrici generate
aleator
public class Tablouri {
/**
* Clasa Tablouri - inmultirea de matrici bidimensionale DIM*DIM
*
*/
static final int DIM = 3;
public static void afisMat ( int m[][], String numeMat) {
int i, j;
System.out.println("Matricea "+numeMat);
for ( i=0; i<m.length; i++) {
for ( j=0 ; j<m[i].length; j++)
System.out.print(m[i][j]+" ");
System.out.println("");
}}
public static void genereazaElMat( int m[][] ) {
int i, j;
for ( i=0; i<m.length; i++)
for ( j=0 ; j<m[i].length; j++)
m[i][j]=(int)(10*Math.random());
}
public static int[][] inmultesteMat( int a[][], int b[][]) {
int i, j, k, dim;
int c[][] = new int[a.length][b[0].length];
if(a[0].length!=b.length) { // daca nr col a lui a != nr lin a lui b
System.out.println("Matricile nu pot fi inmultite");
return c;
}
else
dim = a[0].length;
for ( i=0; i<a.length; i++)
for ( j=0 ; j<b[i].length; j++) {
c[i][j] = 0;
for( k=0; k<dim; k++)
c[i][j] += a[i][k] * b[k][j];
}
return c;
}
public static void main(String args[]) {
int a[][] = new int[DIM][DIM];
int b[][] = new int[DIM][DIM];
int c[][] = new int[DIM][DIM];
// generare matrici
genereazaElMat(a);
afisMat(a,"A");
genereazaElMat(b);
afisMat(b,"B");
// inmultire matrici C= A x B
c = inmultesteMat( a, b );
afisMat(c,"C = A x B");
}
}