Vissza
Kétdimenziós tömbök
Házi feladatok:
- Adott egy nxn-es mátrix, melyeknek elemeit
véletlenszerű egész
számokkal töltsük fel. Írjuk ki a
mátrixot táblázatos formában majd
határozzuk meg a
főátló
legkisebb elemét.
- Adott egy nxn-es mátrix, melyeknek elemeit
véletlenszerű egész
számokkal töltsük fel. Írjuk ki a
mátrixot táblázatos formában majd
határozzuk meg soronként az elemek összegét,
áttéve ezeket az értékeket egy,
egydimenziós tömbbe.
- Hozzunk létre egy nxn-es mátrixot, ahol ( Példa )
n=5 -re a
mátrix a megadott struktúrájú.
- Hozzunk létre
egy nxn-es
mátrixot, ahol ( Példa
) n=5 -re a mátrix a megadott
struktúrájú.
- Hozzunk létre
egy nxn-es
mátrixot, ahol ( Példa ) n=5
-re a mátrix a megadott struktúrájú.
- Hozzunk létre
egy nxn-es
mátrixot, ahol ( Példa ) n=5
-re a mátrix a megadott struktúrájú.
- Hozzunk létre
egy nxm-es
mátrixot, ahol ( Példa ) n=5
és m=6 -ra a mátrix a megadott
struktúrájú.
Megoldott feladatok:
1.
Adott egy n x m-es
mátrix, melyeknek elemeit
véletlenszerű egész
számokkal töltünk fel. Írjuk ki a
mátrixot táblázatos formában majd
határozzuk meg a
mátrix
legnagyobb elemét és ezen elem
pozicíóját.
#include
<iostream>
#include <iomanip>
#include <stdlib.h>
#include <time.h>
using namespace std;
int main()
{
int n, mat[10][10];
int i, j, maxi, m, mi, mj;
cout << "n: ";
cin >> n;
cout << "m: ";
cin >> m;
if (n >= 10 || m >= 10 )
{
cout << "Error::
beolvasott ertek >= 10" << endl;
return 0;
}
srand(time(NULL));
for(i = 0; i
< n; i++) {
for (j = 0; j < m; j++) {
mat[i][j] = rand() % 100;
cout
<< setw(5) << mat[i][j];
}
cout << endl;
}
maxi = mat[0][0];
mi = 0;
mj = 0;
for(i = 0; i <
n; i++)
for (j = 0; j <
m; j++)
if (mat[i][j] > maxi) {
maxi = mat[i][j];
mi = i;
mj = j;
}
cout << endl << "A maximum elem: "
<< maxi;
cout << endl << "A maximum elem
pozicioi: ";
cout << mi + 1 << " " << mj + 1;
cout << endl << endl;
return 0;
}
Vissza
2. Hozzunk létre
egy n x m-es
mátrixot, ahol ( Példa ) n=5
és m=3 -ra a mátrix a megadott
struktúrájú.
#include
<iostream>
#include <iomanip>
#include <stdlib.h>
using namespace std;
int main()
{
int n, m, mat[10][10];
int i, j, k;
cout << "n: ";
cin >> n;
cout << "m: ";
cin >> m;
if (n >= 10 || m >= 10 )
{
cout << "Error::
beolvasott ertek >= 10" << endl;
exit(1);
}
k = n * m;
for (i = 0; i <
n; i++)
for (j = 0; j <
m; j++) {
mat[i][j] = k;
k--;
}
for (i = 0; i <
n; i++) {
for (j = 0; j <
m; j++)
cout
<< setw(5) << mat[i][j];
cout << endl;
}
cout << endl << endl;
return 0;
}
A fenti feladatok
standard C író/olvasó függvényekkel
1.
Adott egy nxn-es
mátrix, melyeknek elemeit
véletlenszerű egész
számokkal töltsük fel. Írjuk ki a
mátrixot táblázatos formában majd
határozzuk meg a
mátrix
legkisebb elemét és ezen elem
pozicíóját.
#include
<stdio.h>
#include
<stdlib.h>
#include
<time.h>
int
main()
{
int n, mat[10][10];
int i, j, max, m, mi, mj;
printf("n: ");
scanf("%i", &n);
printf("m: ");
scanf("%i", &m);
if (n>=10 || m>=10 )
//hibakezeles
{
printf("Error:: beolvasott ertek
>= 10 \n");
return 0;
}
srand(time(NULL));
for(i = 0; i < n; i++) {
for (j = 0; j <
m; j++)
//vegig
megyunk az osszes oszlopbeli elemen
{
mat[i][j] = rand() % 100; //ertekadas
printf("%3i", mat[i][j]); //kiiratas
}
printf("\n");
//ujsorba megyunk
ha kiirtuk a matrix egy adott sorat
}
maxi = mat[0][0];
mi = 0;
mj = 0;
for (i = 0; i <
n; i++)
for (j = 0; j <
m; j++)
if (mat[i][j]
> maxi) {
maxi = mat[i][j];
mi = i;
mj = j;
}
printf("\nA maximum elem: %i", maxi);
printf("\nA maximum elem pozicioi: %i, %i",
mi+1, mj+1);
//printf("\nA maximum
elem
pozicioi: %i, %i", mi,mj);
printf("\n\n");
return 0;
}
2. Hozzunk létre
egy nxm-es
mátrixot, ahol ( Példa ) n=5
és m=3 -ra a mátrix a megadott
struktúrájú.
#include
<stdio.h>
#include
<stdlib.h>
int
main()
{
int n, m, mat[10][10];
int i, j, k;
printf("n: ");
scanf("%i", &n);
printf("m: ");
scanf("%i", &m);
if (n >= 10 || m >= 10 ) //hibakezeles
{
printf("Error:: beolvasott ertek
>= 10 \n");
exit(1);
}
k = n * m;
//feltoltes
for (i = 0; i <
n; i++)
for (j = 0; j <
m; j++) {
mat[i][j] = k;
k--;
}
//kiiratas
for (i = 0; i <
n; i++)
{
for (j = 0; j <
m; j++)
printf("%5i", mat[i][j]);
printf("\n");
}
printf("\n\n");
return 0;
}
2. megoldott feladat
15
|
14
|
13
|
12
|
11
|
10
|
9
|
8
|
7
|
6
|
5
|
4
|
3
|
2
|
1
|
Vissza
3. feladat
1
|
1
|
1
|
1
|
1
|
1
|
4
|
1
|
1
|
1
|
1
|
1
|
9
|
1
|
1
|
1
|
1
|
1
|
16
|
1
|
1
|
1
|
1
|
1
|
25 |
Vissza
4. feladat
1
|
2
|
3
|
4
|
5
|
-1
|
-1
|
-1
|
-1
|
-1
|
6
|
7
|
8
|
9
|
10
|
-1
|
-1
|
-1
|
-1
|
-1
|
11
|
12
|
13
|
14
|
15
|
Vissza
5. feladat
15
|
14
|
13
|
12
|
11
|
-1
|
-1
|
-1
|
-1
|
-1
|
10
|
9
|
8
|
7
|
6
|
-1
|
-1
|
-1
|
-1
|
-1
|
5
|
4
|
3
|
2
|
1
|
Vissza
6. feladat
0 |
0
|
0
|
0
|
1
|
0 |
0
|
0
|
2
|
0
|
0 |
0
|
4
|
0
|
0
|
0 |
8
|
0
|
0
|
0
|
16
|
0
|
0
|
0
|
0
|
Vissza
7. feladat
1
|
1
|
1
|
1
|
1
|
5
|
2
|
2
|
2
|
2
|
2
|
10
|
3
|
3
|
3
|
3
|
3
|
15
|
4
|
4
|
4
|
4
|
4
|
20
|
5
|
5
|
5
|
5
|
5 |
25
|
Vissza