Mat Rice

Download as docx, pdf, or txt
Download as docx, pdf, or txt
You are on page 1of 2

/*8. Napi ite C program koji e omogu iti uno enje elemenata dviju matrica reda nm (n 10, m 10).

Program treba ispisati u itanu matricu te izra unati i ispisati zbroj i razliku u itanih matrica*/ #include <stdio.h> int main () { int n,m,i,j, a[10][10],b[10][10], k=1; printf("\nUnesi broj redaka: "); do{ scanf("%d",&n); if (n>10 || n<1) printf("\nSmijes samo do 10 ! Unesi ponovno: ");} while (n>10 || n<1); printf("\nUnesi broj stupaca: "); do{ scanf("%d",&m); if (m>10 || m<1) printf("\nSmijes samo do 10 ! Unesi ponovno: ");} while (m>10 || m<1); for (i=1;i<=n;i++){ for (j=1;j<=m;j++){ printf("\nUnesi %d. element 1. matrice: ",k); scanf("%d",&a[i][j]); k++; } } k=1; for (i=1;i<=n;i++){ for (j=1;j<=m;j++){ printf("\nUnesi %d. element 2. matrice: ",k); scanf("%d",&b[i][j]); k++; } } printf("\nPrva matrica je: \n\n"); for (i=1;i<=n;i++){ for (j=1;j<=m;j++){ printf(" %d",a[i][j]); } printf("\n\n"); } printf("\nDruga matrica je: \n\n"); for (i=1;i<=n;i++){ for (j=1;j<=m;j++){ printf(" %d",b[i][j]); } printf("\n\n"); } printf("\nZbroj ucitanih matrica je : \n\n"); for (i=1;i<=n;i++){ for (j=1;j<=m;j++){ printf(" %d",a[i][j] + b[i][j]); } printf("\n\n"); } printf("\nRazlika ucitanih matrica je : \n\n"); for (i=1;i<=n;i++){ for (j=1;j<=m;j++){ printf(" %d",a[i][j] - b[i][j]); } printf("\n\n"); } return 0; } /*9. Napi ite C program koji e omogu iti u itavanje matrice reda 53 i jednog cijelog broja x. Program treba izra unati umno ak matrice i u itanog broja te ispisati upisanu i kona nu matricu*/ #include <stdio.h> int main () { int i,j, a[10][10], x, k=1; for (i=1;i<=5;i++){ for (j=1;j<=3;j++){ printf("\nUnesi %d. element: ",k); scanf("%d",&a[i][j]); k++; } } printf("\nUnesi cijeli broj x: "); scanf("%d",&x); printf("\nUpisana matrica je: \n\n"); for (i=1;i<=5;i++){ for (j=1;j<=3;j++){ printf(" %d",a[i][j]); } printf("\n\n"); } printf(",a matrica pomnozena cijelim brojem x je: \n\n"); for (i=1;i<=5;i++){ for (j=1;j<=3;j++){ printf(" %d", x * a[i][j]); } printf("\n\n"); } return 0; }

/*10. Napi ite C program koji ponavlja u itavanje cijelog broja m s tipkovnice sve dok je u itani broj veci od 2 i manji od 20. Nakon toga program treba u itati mm cijelih brojeva u dvodimenzionalno polje A. Program treba prona i i na ekran ispisati srednju vrijednost svih lanova polja A, produkt lanova glavne dijagonale, sumu lanova sporedne dijagonale*/ #include <stdio.h> int main () { int m,i,j, a[21][21], k=1, zbroj=0, progld=1, zbrsd=0; printf("\nUnesi broj m: "); do{ scanf("%d",&m); if (m>20 || m<2) printf("\nSmijes samo do 20 ! Unesi ponovno: ");} while (m>20 || m<2); for (i=0;i<m;i++){ for (j=0;j<m;j++){ printf("\nUnesi %d. element: ",k); scanf("%d",&a[i][j]); zbroj+=a[i][j]; k++; } } printf("\nMatrica A je:\n\n"); for (i=0;i<m;i++){ for (j=0;j<m;j++){ printf(" %d",a[i][j]); } printf("\n\n"); } printf("Srednja vrijednost svih clanova matrice A je %d.\n",zbroj/(m*m)); for (i=0;i<m;i++){ progld*=a[i][i]; zbrsd+=a[i][m-1-i]; } printf("\nProdukt glavne dijagonale je %d, a zbroj sporedne dijagonale je %d.\n",progld,zbrsd); return 0; } /*11. Napi ite C program koji e za u itanu matricu reda 53 kreirati i ispisati njoj transponiranu matricu*/ #include <stdio.h> int main () { int i,j, a[6][6], k=1; for (i=0;i<5;i++){ for (j=0;j<3;j++){ printf("\nUnesi %d. element: ",k); scanf("%d",&a[i][j]); k++; } } printf("\nMatrica A je:\n\n"); for (i=0;i<5;i++){ for (j=0;j<3;j++){ printf(" %d",a[i][j]); } printf("\n\n"); } printf("Transponirana matrica matrice A je:\n\n"); for (i=0;i<3;i++){ for (j=0;j<5;j++){ printf(" %d",a[j][i]); } printf("\n\n"); } return 0; } /*12. Napi ite C program koji e omogu iti u itavanje kvadratne matrice reda n (n<10). Program treba ispisati najmanji element u svakom redu, ispisati najve i element u svakom stupcu*/ #include <stdio.h> int main () { int n,max,min, i,j, a[11][11], k=1; printf ("\nUnesi n: "); do{scanf("%d",&n); if (n>10 || n<1) printf("\n\nNe smije preko 10 ici! Unesi ponovno: ");} while (n>10 || n<1); for (i=0;i<n;i++){ for (j=0;j<n;j++){ printf("\nUnesi %d. element: ",k); scanf("%d",&a[i][j]); k++; } } printf("\nMatrica A je:\n\n"); for (i=0;i<n;i++){ for (j=0;j<n;j++){ printf(" %d",a[i][j]); } printf("\n\n"); } min=a[0][0]; for (i=0;i<n;i++){ for (j=0;j<n;j++){ if (min>a[i][j]) min=a[i][j]; } printf("\nU %d. retku najmanji element je %d.\n",i+1, min); min=a[i+1][0]; } max=a[0][0];

for (i=0;i<n;i++){ for (j=0;j<n;j++){ if (max<a[j][i]) max=a[j][i]; } printf("\nU %d. stupcu najveci element je %d.\n",i+1, max); max=a[0][i+1]; } return 0; } /*13. Napi ite C program koji e omogu iti u itavanje dviju matrica. Program treba izra unati i ispisati umno ak u itanih matrica*/ #include <stdio.h> int main () { int n,m,o,i,j,a[10][10], b[10][10],k=1, c[10][10],z; printf("\nUnesi broj redaka 1.matrice: "); scanf("%d",&n); printf("\nUnesi broj stupaca 1.matrice, tojest broj redaka 2.matrice: "); scanf("%d",&m); printf("\nUnesi broj stupaca 2.matrice: "); scanf("%d",&o); for (i=0;i<n;i++) for (j=0;j<m;j++) { printf("\nUnesi %d. element prve matrice: ",k); scanf("%d",&a[i][j]); k++; } k=1; for (i=0;i<m;i++) for (j=0;j<o;j++) { printf("\nUnesi %d. element druge matrice: ",k); scanf("%d",&b[i][j]); k++; } printf("\n\nPrva matrica: \n\n"); for (i=0;i<n;i++){ for (j=0;j<m;j++) { printf(" %d",a[i][j]); } printf("\n\n"); } printf("\n\nDruga matrica: \n\n"); for (i=0;i<m;i++){ for (j=0;j<o;j++) { printf(" %d",b[i][j]); } printf("\n\n"); } printf("\nUmnozak prve i druge matrice je matrica: \n\n"); for (i=0;i<n;i++){ for (j=0;j<o;j++){ c[i][j]=0; for (z=0;z<m;z++) { c[i][j]+=a[i][z] * b[z][j]; } printf(" %d", c[i][j]); } printf("\n\n"); } return 0; }

/*5. Napi ite C program koji u itava cijeli broj n (2? n ?30), a zatim poziva funkcije: UPISI - za u itavanje n elemenata u niz, SORTIRAJ - za sortiranje niza pomo nom varijablom, ISPISI - za ispis elemenata niza.*/ #include <stdio.h> int niz[30]; void upisi (int n) { int i; for (i=0;i<n;i++) { printf("\nUnesi %d. element: ",i+1); scanf("%d",&niz[i]); }} void sortiraj(int n) { int i, j , pom; for (i=0;i<n-1;i++) for (j=i+1;j<n;j++) { if (niz[i]<niz[j]) { pom=niz[i]; niz[i]=niz[j]; niz[j]=pom; }}} void ispisi (int n) { int i; printf("\nElementi poredani od najveceg prema najmanjem su:"); for (i=0;i<n;i++) { printf(" %d,",niz[i]); } printf("\n\n"); } int main () { int n; printf("\nUnesi n (2<n<30): "); do{scanf("%d", &n); if(n>30 || n<2) printf("\nPogresan unos! Unesi ponovno: ");} while (n>30 || n<2); upisi(n); sortiraj(n); ispisi(n); return 0; } /*6. Napi ite C program koji u itava cijeli broj n (2? n ?40), a zatim poziva funkcije: UPISI - za u itavanje n elemenata u niz, BUBBLE - za sortiranje niza metodom mjehuri a, ISPISI - za ispis elemenata niza.*/ #include <stdio.h> int niz[40]; void upisi (int n) { int i; for (i=0;i<n;i++) { printf("\nUnesi %d. element: ",i+1); scanf("%d",&niz[i]); } } void bubble(int n) { int pom, i=1, j,k; do { k=0; for (j=0;j<n-i;j++) if (niz[j]<niz[j+1]) { pom=niz[j]; niz[j]=niz[j+1]; niz[j+1]=pom; k=1; } i++; }while (k>0); } void ispisi (int n) { int i; printf("\nElementi poredani od najveceg prema najmanjem su:"); for (i=0;i<n;i++) { printf(" %d,",niz[i]); } printf("\n\n"); } int main () { int n; printf("\nUnesi n (2<n<40): "); do{scanf("%d", &n); if(n>40 || n<2) printf("\nPogresan unos! Unesi ponovno: ");} while (n>40 || n<2); upisi(n); bubble(n); ispisi(n); return 0; }

/*7. Napi ite C program koji u itava cijeli broj m (2? m ?20), a zatim poziva funkcije: UPISI - za u itavanje m elemenata u niz, GetMax - ispisuje najve i element u polju i njegovo mjesto (indeks), ISPISI - za ispis elemenata niza.*/ #include <stdio.h> int niz[20]; void upisi (int n) { int i; for (i=0;i<n;i++) { printf("\nUnesi %d. element: ",i+1); scanf("%d",&niz[i]); }} void getmax(int n) { int max=niz[0]; int i; for (i=0;i<n;i++) { if (max<niz[i]) max=niz[i]; } for (i=0;i<n;i++) { if (max==niz[i]) printf("\nNajveci element polja je %d, a nalazi se na %d.mjestu.", max, i+1); }} void ispisi (int n) { int i; printf("\n\nElementi niza su:"); for (i=0;i<n;i++) { printf(" %d,",niz[i]); } printf("\n\n"); } int main () { int n; printf("\nUnesi n (2<n<20): "); do{scanf("%d", &n); if(n>20 || n<2) printf("\nPogresan unos! Unesi ponovno: ");} while (n>20 || n<2); upisi(n); getmax(n); ispisi(n); return 0; } /*8. Napi ite C program koji u itava cijele brojeve m i n (2? m ?7, 2? n ?5), a zatim poziva funkcije: UPISI - za u itavanje mn elemenata u 2D polje A, MAX - za ispisivanje najve ih elementa u redcima i gdje se oni nalaze, ISPISI - za ispis elemenata matrice.*/ #include <stdio.h> int niz[7][5]; void upisi (int m, int n) { int i, j, k=1; for (i=0;i<m;i++) for (j=0;j<n;j++) { printf("\nUnesi %d. element: ",k); scanf("%d",&niz[i][j]); k++; }} void max(int m, int n) { int max[7], i,j; for (i=0;i<m;i++) { max[i]=niz[i][0]; for (j=0;j<n;j++) { if (max[i]<niz[i][j]) max[i]=niz[i][j]; } for (j=0;j<n;j++){ if(max[i]==niz[i][j])printf("\nNajveci element %d. retka je %d na mjestu (%d,%d).", i+1, max[i], i+1,j+1); }}} void ispisi (int m, int n) { int i, j; printf("\n\nMatrica:\n\n"); for (i=0;i<m;i++){ for (j=0;j<n;j++) { printf(" %d",niz[i][j]); } printf("\n\n"); } } int main () { int m,n; printf("\nUnesi m (2<n<7): "); do{scanf("%d", &m); if(m>7 || m<2) printf("\nPogresan unos! Unesi ponovno: ");} while (m>7 || m<2); printf("\nUnesi n (2<n<5): "); do{scanf("%d", &n); if(n>5 || n<2) printf("\nPogresan unos! Unesi ponovno: ");} while (n>5 || n<2);

upisi(m, n); max(m, n); ispisi(m, n); return 0; } /*9. Napi ite C program koji u itava cijele brojeve m i n (2? m ?8, 2? n ?6), a zatim poziva funkcije: UPISI - za u itavanje mn elemenata u 2D polje A, MIN - za ispisivanje najmanjih elementa u redcima i gdje se oni nalaze, ISPISI - za ispis elemenata matrice.*/ #include <stdio.h> int niz[7][5]; void upisi (int m, int n) { int i, j, k=1; for (i=0;i<m;i++) for (j=0;j<n;j++) { printf("\nUnesi %d. element: ",k); scanf("%d",&niz[i][j]); k++; }} void min(int m, int n) { int min[7], i,j; for (i=0;i<m;i++) { min[i]=niz[i][0]; for (j=0;j<n;j++) { if (min[i]>niz[i][j]) min[i]=niz[i][j]; } for (j=0;j<n;j++){ if(min[i]==niz[i][j])printf("\nNajmanji element %d. retka je %d na mjestu (%d,%d).",i+1, min[i], i+1,j+1); }}} void ispisi (int m, int n) { int i, j; printf("\n\nMatrica:\n\n"); for (i=0;i<m;i++){ for (j=0;j<n;j++) { printf(" %d",niz[i][j]); } printf("\n\n"); }} int main () { int m,n; printf("\nUnesi m (2<n<7): "); do{scanf("%d", &m); if(m>7 || m<2) printf("\nPogresan unos! Unesi ponovno: ");} while (m>7 || m<2); printf("\nUnesi n (2<n<5): "); do{scanf("%d", &n); if(n>5 || n<2) printf("\nPogresan unos! Unesi ponovno: ");} while (n>5 || n<2); upisi(m, n); min(m, n); ispisi(m, n); return 0; }

You might also like