Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #define _CRT_SECURE_NO_WARNINGS
- #include <stdio.h>
- #include <stdlib.h>
- #include <string.h>
- typedef int MATRICA[3][3];
- typedef int NIZ[9];
- void unosUMatricu(MATRICA m,int dim){
- int i, j;
- for (i = 0; i < dim; i++)
- {
- for ( j = 0; j < dim; j++)
- {
- printf("M[%d][%d]=\t", i, j);
- scanf("%d", &m[i][j]);
- }
- }
- }
- void prikaz(MATRICA m, int dim){
- int i, j;
- printf("Matrica:\n");
- for ( i = 0; i < dim; i++)
- {
- for ( j = 0; j < dim; j++)
- {
- printf("%d\t", m[i][j]);
- }
- printf("\n");
- }
- }
- void ispodGD(MATRICA m, int dim){
- int i, j;
- printf("\n");
- for (i = 0; i < dim;i++){
- for (j = 0; j < dim;j++){
- if (i>j){
- printf("%d\t",m[i][j]);
- }
- else{
- printf("*\t");
- }
- }
- printf("\n");
- }
- }
- void sumaRedova(MATRICA m,int dim){
- int i, j;
- int suma = 0;
- printf("\nSuma redova:\n");
- for (i = 0; i < dim; i++)
- {
- suma = 0;
- for (j = 0; j < dim; j++)
- {
- suma = suma + m[i][j];
- printf("%d\t", m[i][j]);
- }
- printf("=%d\n", suma);
- }
- }
- void transponovanaMatrica(MATRICA m, int dim){
- int i, j;
- printf("Transponovana Matrica:\n");
- for (i = 0; i < dim; i++)
- {
- for (j = 0; j < dim; j++)
- {
- printf("%d\t", m[j][i]);
- }
- printf("\n");
- }
- }
- void zamenaMestaGDiSD(MATRICA m, int dim){
- int i;
- int zamena;
- for (i = 0; i < dim;i++){
- zamena = m[i][i];
- m[i][i] = m[i][dim - 1 - i];
- m[i][dim - 1 - i] = zamena;
- }
- }
- int daLiPostoji(NIZ niz,int brEl,int broj){
- int i;
- for ( i = 0; i < brEl; i++)
- {
- if (niz[i] == broj){
- return 1;
- }
- }
- return 0;
- }
- void unijaGDiSD(MATRICA m, int dim,NIZ niz,int *brEl){
- int i, j;
- for ( i = 0; i < dim; i++)
- {
- for ( j = 0; j < dim; j++)
- {
- if (i == j){
- if (daLiPostoji(niz, *brEl, m[i][j]) == 0){
- niz[*brEl] = m[i][j];
- (*brEl)++;
- }
- }
- if (i + j == dim - 1){
- if (daLiPostoji(niz, *brEl, m[i][j]) == 0){
- niz[*brEl] = m[i][j];
- (*brEl)++;
- }
- }
- }
- }
- }
- int daLiSmoRadili(NIZ niz,int ogranicenje,int broj){
- int i;
- for (i = 0; i < ogranicenje;i++){
- if (niz[i]==broj){
- return 1;
- }
- }
- return 0;
- }
- int daLiSeNalaziNaGlavnoj(MATRICA m,int dim,int broj){
- int i;
- int broj;
- for (i = 0; i < dim;i++){
- if (m[i][i] == broj){
- return 1;
- }
- }
- return 0;
- }
- void presekGDiSD(MATRICA m, int dim, NIZ niz, int *brEl){
- int i;
- for (i = 0; i < dim; i++){
- if (daLiSeNalaziNaGlavnoj(m, dim, m[i][dim - 1 - i]) == 1){
- if (daLiPostoji(niz, *brEl, m[i][dim - 1 - i]) == 0){
- niz[*brEl] = m[i][dim - 1 - i];
- (*brEl)++;
- }
- }
- }
- }
- int daLiSeNalaziUKoloni(MATRICA m, int red, int kolona, int broj){
- int i, j;
- for (i = 0; i < red; i++){
- if (m[i][kolona] == broj){
- return 1;
- }
- }
- return 0;
- }
- void punjenjeMatriceSaNulamaAkoTajBrojVecPostojiUKoloni(MATRICA m, int dim){
- int i, j;
- int broj;
- for (i = 0; i < dim; i++)
- {
- for (j = 0; j < dim; j++)
- {
- printf("M[%d][%d]=\t", i, j);
- scanf("%d", &broj);
- if (daLiSeNalaziUKoloni(m, i, j, broj) == 1){
- m[i][j] = 0;
- }
- else{
- m[i][j] = broj;
- }
- }
- }
- }
- void sortiranjeNiza(NIZ niz, int brEl){
- int i, pom;
- int sortiran;
- do{
- sortiran = 0;
- for (i = 0; i < brEl; i++)
- {
- if (niz[i]>niz[i + 1]){
- pom = niz[i];
- niz[i] = niz[i + 1];
- niz[i + 1] = pom;
- sortiran = 1;
- }
- }
- } while (sortiran == 1);
- }
- int main(void){
- MATRICA m = {1,2,3,4,5,6,7,8,9};
- int dimenzija=3;
- NIZ x;
- int brEl = 0;
- //printf("Kojih dimenzija zelite matricu:\t");
- //scanf("%d", &dimenzija);
- //unosUMatricu(m, dimenzija);
- prikaz(m, dimenzija);
- ispodGD(m,3);
- sumaRedova(m, dimenzija);
- return 0;
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement