Praktikum iz programiranja - pomoćni materijal MATRICE – NIZOVI NIZOVI
IX
25. Napisati program u kojem se unose elementi realne pravougaone matrice matrice A[7][6], a potom se kreira niz V[6] čiji su elementi elementi jednaki proizvodu elemenata kolona matrice A. Na kraju treba odštampati i matricu A i novodobijeni niz V.
// Maks manje mini.c #include void unosMatrice(int unosMatrice(int A[][50], int n, int m) { int i, j; printf("\n Uneti Uneti elemente matrice:\n"); matrice:\n"); for(i=0; iA[i][j]) min[i]=A[i][j]; printf("\n \t\t- %d. vrsta = %d",i+1,min[i]); %d",i+1,min[i]); }
// A u V[6].c #include main() { float A[7][6],V[6]; A[7][6],V[6]; int i,j; printf("Unesi printf("Unesi elemente matrice matrice A 7x6:\n"); 7x6:\n"); for(i=0;i<7;i++) for(j=0;j<6;j++) scanf("%f",&A[i][j]); for(j=0;j<6;j++) { V[j]=1; for(i=0;i<7;i++) V[j]=V[j]*A[i][j]; } printf("\n Polazna Polazna matrica A:\n"); A:\n"); for(i=0;i<7;i++) { for(j=0;j<6;j++) printf("%10.2f",A[i][j]); printf("%10.2f",A[i][j]); printf("\n"); printf("\n"); } printf("\n Niz V:\n"); for(i=0;i<6;i++) printf("%10.2f",V[i]); printf("%10.2f",V[i]); printf("\n"); printf("\n"); }
Unesi elemente matrice A 7x6: 135698 2 6 9 14 2 3 084269 10 2 7 4 6 8 360975 444668 269701 Polazna matrica matrica A: 1.00 3.00 5.00 2.00 6.00 9.00 0.00 8.00 4.00 10.00 2.00 7.00 3.00 6.00 0.00 4.00 4.00 4.00 2.00 6.00 9.00 Niz V: 0.00
41472.00
0.00
6.00 14.00 2.00 4.00 9.00 6.00 7.00
9.00 2.00 6.00 6.00 7.00 6.00 0.00
254016.00
for(i=0; i
8.00 3.00 9.00 8.00 5.00 8.00 1.00
0.00
26. Napisati program u kojem se unose prirodni brojevi N i M, potom elementi prirodne pravougaone matrice A[N][M]. Koristeći Koristeći funkcije, formirati niz na taj način što se od maksimalnog elementa matrice A oduzme minimalni u svakoj vrsti matrice A.
69120.00
} main() { int A[50][50], n, m; printf("\n Uneti Uneti dimenziju matrice:"); matrice:"); scanf("%d%d", &n, &m); unosMatrice(A,n,m); kreirajNiz(A,n,m); } Uneti dimenziju matrice:3 3 Uneti elemente matrice: 14 16 47 92 34 18 33 64 16 Maksimalni element element matrice: matrice: 92 Minimalni elementi elementi po vrstama: vrstama: - 1. vrsta = 14 - 2. vrsta = 18 - 3. vrsta = 16 Ispis niza: 78 74 76 94
Praktikum iz programiranja - pomoćni materijal 27. Napisati program u kojem se unosi prirodan broj n, a potom se unose elementi celobrojne kvadratne matrice A[n][n]. Formirati niz S koji se dobija kada se sumiraju pozitivni elementi po kolonama matrice A // Suma poz po kol.c #include main() { int A[50][50], n, i, j, S[50]; printf("\n Uneti dimenziju matrice:"); scanf("%d", &n); printf("\n Uneti elemente matrice: \n"); for(i=0; i0) S[j]=S[j]+A[i][j]; } printf("\n Kreirani niz: \n"); for(i=0; i
Uneti dimenziju matrice:3 Uneti elemente matrice: -78 69 -14 56 -8 36 54 36 -17 Kreirani niz: 110 105 36
28. Napisati program u kojem se unosi prirodni brojevi n i m (m main() { int M[10][10], N[10][10], C[10], n, i, j; printf("\n Uneti dimenziju matrice:"); scanf("%d", &n); printf("Uneti ceo broj m manji od %d :",n); scanf("%d", &m); printf("Uneti elemente matrice M: \n"); for(i=0; i
Uneti dimenziju matrice:3 Uneti ceo broj m manji od 3 :2 Uneti elemente matrice M: 159 357 654 Uneti elemente matrice N: 824 619 374 Ispis niza C: 6 5 49
29. Napisati program u kojem se unosi prirodan broj n, a potom se unose elementi kvadratne matrice M[n][n] (ocene studenata). Pronaći najmanju ocenu za svakog studenta (po vrstama) i od tih ocena formirati niz C. Niz C sortirati u rastućem poretku. Na kraju ispisati matricu i niz. // Ocene studenata.c #include main() { int M[50][50], C[50], n, i, j, min, pom; printf("Uneti dimenziju matrice: \n"); scanf("%d", &n); printf("Uneti ocene studenata: \n"); for(i=0; iM[i][j]) min=M[i][j]; } C[i]=min; } for(i=0; iC[j]) { pom=C[i]; C[i]=C[j]; C[j]=pom; } } printf("\n Niz C: \n"); for(i=0; i
Uneti dimenziju matrice: 3 Uneti ocene studenata: 876 5 9 10 867 Niz C: 5 6 6 Ocene studenata: 8 7 6 5 9 10 8 6 7
95
Praktikum iz programiranja - pomoćni materijal 30. Matrica Ekipe [n][n] predstavlja tabelu prvenstva fudbalskog šampionata na kraju sezone, čiji su elementi: 0 – ako je ekipa izgubila, 1 – ako je nerešeno i 2 ako je ekipa pobedila. Npr. na slici prva ekipa (Ekipa 1) pobedila je ekipe: 2, 6 i 7, remizirala je sa ekipama: 3, 5, 8 i 9, dok je izgubila od ekipa: 4 i 10 . Napisati program kojim se izračunava broj osvojenih bodova za svaku ekipu (pobeda - 3 boda, nereseno - 1 bod) i dati sređen tabelarni prikaz. // Ekipa.c #include main() { int Ekipe[50][50], n, brP=0, brI=0, brN=0, i, j; int pobede[50], porazi[50], nereseno[50]; int bodovi[50]; printf("Uneti broj ekipa: "); scanf("%d", &n); for(i=0; i
96
Praktikum iz programiranja - pomoćni materijal
ZADACI ZA VEŽBANJE - matrice 1. Napisati program u kojem se unosi prirodan broj N, potom se unose elementi kvadratne matrice A dimenzije NxN. Koristeći funkcije, za matricu A naći: zbir svih parnih elemenata deljivih sa 3, maksimalni elemenat na glavnoj dijagonali, najveći element ispod glavne dijagonale, proizvod elemenata na sporednoj dijagonali, broj 0 na sporednoj dijagonali, sume elemenata ispod glavne dijagonale proizvod elemenata iznad sporedne dijagonale minimalni elemenat u pretposlednjoj koloni broj pozitivnih elemenata u trećoj vrsti srednju vrednost k-te kolone
2. Napisati program u kojem se unose prirodni brojevi N i M, potom se unose elementi pravougaone matrice A dimenzije NxM. Formirati novu matricu B istih na sledeći način: Svaka 0 u koloni se menja sa najvećim neparnim brojem u toj koloni. Ukoliko u koloni ne postoje neparni brojevi, sadržaj te kolone se ne menja. 3. Napisati program koji omogućava korisniku unos elemenata u kvadratnu matricu celih brojeva dimenzije N x N, ali tako da svi elementi po kolonama matrice budu međusobno različiti (osim broja 0 koji može da se ponavlјa). Korisnik sa standardnog ulaza unosi brojeve. Pre upisa broja u matricu treba proveriti da li se broj već nalazi u koloni za koju se unose podaci. Ukoliko element postoji u koloni matrice, u tekući element matrice upisati 0, u suprotnom upisati broj koji je korisnik uneo sa standardnog ulaza. 4. Napisati program koji omogućava korisniku unos elemenata u kvadratnu matricu celih brojeva dimenzije N x N, ali tako da svi elementi po redovima matrice budu međusobno različiti (osim broja -1 koji može da se ponavlјa). Korisnik sa standardnog ulaza unosi brojeve. Pre upisa broja u matricu treba proveriti da li se broj već nalazi u redu za koji se unose podaci. Ukoliko element postoji u koloni matrice, u tekući element matrice upisati -1, u suprotnom upisati broj koji je korisnik uneo sa standardnog ulaza. 5. Napisati program koji menja sadržaj ulazne matrice na sledeći način: Svaka 0 u koloni se menja sa najvećim neparnim brojem u toj koloni. Ukoliko u koloni ne postoje neparni brojevi, sadržaj te kolone se ne menja. 6. Napisati program koji menja sadržaj ulazne matrice na sledeći način: Svaki -1 broj u matrici se menja sa brojem koji se nalazi na preseku sporedne i glavne dijagonale matrice. Ukoliko se u preseku glavne i sporedne dijagonale nalazi broj -1, svi -1 brojevi u matrici se menjaju brojem 0, osim elementa na preseku sporedne i glavne dijagonale. 7. Data je ulazna kvadratna matrica celih brojeva dimenzije N x N. Napisati funkciju koja upoređuje sumu elemenata u prvoj dijagonali iznad glavne dijagonale matrice i prvoj dijagonali ispod glavne dijagonale matrice i prikazuje poruku u sledećem formatu Suma el. u prvoj dijagonali iznad GD je: Suma el. u prvoj dijagonali ispod GD je: 8. Data je ulazna kvadratna matrica celih brojeva dimenzije N x N. Napisati funkciju koja sve elemente koje se nalaze na prvoj dijagonali iznad glavne dijagonale matrice prebacuje u niz X. 9. Data je ulazna kvadratna matrica celih brojeva dimenzije N x N. Napisati funkciju koja sve elemente koje se nalaze na prvoj dijagonali ispod glavne dijagonale matrice prebacuje u niz X. 10. Data je ulazna kvadratna matrica celih brojeva dimenzije N x N. Napisati funkciju koja za drugu polovinu matrice (označena na slici) računa sumu elemenata po kolonama i prikazuje u formatu koji je niže dat na slici
97
Praktikum iz programiranja - pomoćni materijal
11. Data je ulazna kvadratna matrica celih brojeva dimenzije N x N. Napisati funkciju koja proverava da li se svi elementi na sporednoj dijagonali matrice nalaze i na glavnoj dijagonali matrice. Svi elementi na sporednoj ali i na glavnoj su međusobno različiti (nema ponavlјanja istih elemenata) 12. Data je ulazna kvadratna matrica celih brojeva dimenzije N x N. Napisati funkciju koja proverava da li se svi elementi na sporednoj dijagonali matrice nalaze i na glavnoj dijagonali matrice. Na sporednoj i glavnoj dijagonali elementi mogu da se ponavlјaju. 13. Napisati program koji formira celobrojnu kvadratnu matricu dimenzije 8 čiji su elementi 1,2,3,...,64 raspoređeni u njoj po spirali.
14. Data je ulazna kvadratna matrica celih brojeva dimenzije N x N. Napisati program koji sve elemente koji se nalaze ispod sporedne dijagonale kvadratne matrice prebacuje u niz. 15. Napisati program u kojem se unosi prirodan broj N, potom se unose elementi kvadratne matrice A dimenzije NxN. Formirati niz B na taj način što se od maksimalnog elementa matrice A oduzme minimalni u svakoj vrsti matrice. 16. Napisati program u kojem se unosi prirodan broj N, potom se unose elementi kvadratne matrice A dimenzije NxN. Formirati niz X od elemenata matrice A koji se nalaze na prvoj dijagonali iznad glavne dijagonale. 17. Napisati program u kojem se unosi prirodan broj N, potom se unose elementi kvadratne matrice A dimenzije NxN. Formirati niz X od elemenata matrice A koji se nalaze na prvoj dijagonali ispod glavne dijagonale. 18. Napisati program u kojem se unosi prirodan broj N, potom se unose elementi kvadratne matrice A dimenzije NxN. Formirati niz B od elemenat koji se nalaze ispod sporedne dijagonale matrice A. 19. Napisati program u kojem se unose prirodni brojevi n i m, a potom se unose elementi celobrojne pravougaone matrice A[n][m]. Od pravougaone matrice A formirati niz B koji sadrži zbir elemenata po vrstama. 20. Napisati program u kojem se unosi prirodan broj N, potom se unose elementi kvadratne matrice M dimenzije NxN. Pronaći prosečnu vrednost elemenata matrice M, a potom kreirati niz C koji sadrži elemente matrice M koji su veći od dobijenog proseka. 21. Data je ulazna kvadratna matrica celih brojeva dimenzije N x N (N paran broj). Napisati program koja sve elemente koji se nalaze u drugoj polovini matrice (od N/2 +1 kolone do N – te kolone) prebacuje u niz. 22. Napisati program u kojem se unosi prirodan broj n, a potom se unose elementi celobrojne kvadratne matrice A[n][n]. Naći aritmetičku sredinu svih nenegativnih članova martice A. Takođe formirati niz B koji sadrži samo negativne članove matrice A. Odštampati matricu A, niz B i traženu aritmetičku sredinu 23. Napisati program u kojem se unosi prirodan broj N, a potom elementi kvadratne matrice M[N][N]. K oristeći funkcije pronaći prosečnu vrednost elemenata matrice, a potom kreirati niz C koji sadrži elemente matrice M koji su veći od dobijenog proseka. Niz C sortirati u rastućem redosledu. 24. Na standardnom ulazu se unosi niz celih brojeva koji se završava 0. Napisati program koji od zadatog niza formira matricu tako da prvi red matrice odgovara unetom nizu, a svaki naredni red se dobija cikličnim pomeranjem elemenata niza za jedno mesto ulevo. 25. Na standardnom ulazu se unosi niz celih brojeva koji se završava -1. Napisati program koji od zadatog niza formira matricu tako da prvi red matrice odgovara unetom nizu, a svaki naredni red se dobija cikličnim pomeranjem elemenata niza za jedno mesto udesno. 26. Na standardnom ulazu se unosi niz celih brojeva koji se završava -1. Napisati program koji od zadatog niza formira matricu tako da prva kolona matrice odgovara unetom nizu, a svaka naredna kolona se dobija cikličnim pomeranjem elemenata niza za jedno mesto udesno. 98