Professional Documents
Culture Documents
Vježba 7.
Nizovi: dvodimenzionalni
Zamjene vrijednosti u dvodimenzionalnom niza. Nizovi brojači.
Selektivno pretraživanje:
- Pretraživanje glavne i sporedne dijagonale matrice
- Pretraživanje određenog stupca i retka
Zadatak 1.
Zamjeni elemente glavne i sporedne dijagonale kvadratne matrice ranga N. (Definirati N kao
simboličku konstantu.)
#include<stdio.h>
#define N 3
int main() {
/*deklaracija*/
int mat[N][N];
int i, j, pomocna;
/*inicijalizacija*/
for (i = 0; i < N; i++) {
for (j = 0; j < N; j++) {
scanf_s("%d", &mat[i][j]);
}
}
//ispis rezultata
printf("Rezultat zamjene vrijednosti na dijagonalama:\n");
for (i = 0; i < N; i++) {
for (j = 0; j < N; j++)
printf("%d ", mat[i][j]);
printf("\n");
}
return 0;
}
Zadatak 2.
Zamjeni stupce matrice dimenzija MxN. Korisnik definira stupce stup1 i stup2 koje želi
zamijeniti. (Dimenzije matrice M i N definirati kao simboličke konstante.)
#include<stdio.h>
#define M 2
#define N 4
int main() {
/*deklaracija*/
int mat[M][N];
int i, j, pom, stup1, stup2;
/*inicijalizacija*/
for (i = 0; i < N; i++) {
for (j = 0; j < N; j++) {
scanf_s("%d", &mat[i][j]);
}
}
/*zamjena*/
for (i = 0; i < M; i++) {
pom = mat[i][stup1 - 1];
mat[i][stup1 - 1] = mat[i][stup2 - 1];
mat[i][stup2 - 1] = pom;
}
//ispis rezultata
printf("Rezultat zamjene:\n");
for (i = 0; i < M; i++) {
for (j = 0; j < N; j++)
printf("%d ", mat[i][j]);
printf("\n");
}
return 0;
}
Zadatak 3.
Izračunaj sume stupaca matrice dimenzija MxN. Ispisati najmanju sumu i pripadni indeks
stupca. Zatim ispiši cijeli stupac matrice čija je suma najmanja. (Dimenzije matrice M i N
definirati kao simboličke konstante.)
#include<stdio.h>
#define M 2
#define N 4
int main() {
int suma_stup[N] = { 0 };
int ind_stup_min_sum = 0; //indeks stupca cija suma elemenata je najmanja
int i, j, min_sum;
return 0;
}
Zadatak 4.
Prikazati histogramom vrijednosti zadane matricom na Slici 1.
(Definirati dvodimenzinalnu matricu i inicijalizirati je putem inicijalizacijske liste, prema
vrijednostima na slici. Definirati odgovarajući brojač koji broji koliko puta se pojavljuje svaka
vrijednost. Ispisati rezultat brojača histogramom. Rješenje je dano na Slici 2.)
10 20 10 20
30 40 30 40
10 10 10 10
10 20 30 40
10 * * * * * * *
20 * * *
30 * * *
40 * * *
Press any key to continue . . .
Slika 2.
#include <stdio.h>
int main(){
int A[4][4] = { {10, 20, 10, 20},
{30, 40, 30, 40},
{10, 10, 10, 10},
{10, 20, 30, 40} };
int brojac[4] = { 0 }; //dimenzija specificna (prilagodjen skupu vrijednosti 10, 20, 30 i 40)
int i, j, k;
printf("\n");
}
return 0;
}