Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #define _CRT_SECURE_NO_WARNINGS
- #define MAX 3
- #include <stdio.h>
- typedef int TMATRICA[][MAX];
- void glavniMeni();
- void vratiBroj(int* broj);
- int daLiJeCetvorocifren(int broj);
- int daLiSuCifreSortirane(int broj);
- void zbirCifara(int broj, int *zbirCifara);
- void izbaciDuplikate(int x[], int* n);
- void ispisiNiz(int x[], int n);
- int maxIspodSporedne(TMATRICA mat, int n);
- void prikaziMatricu(TMATRICA mat, int n);
- void zamenaVrednosti(TMATRICA mat, int n, int zadataVrednost);
- void zadatak1();
- void zadatak2();
- void zadatak3();
- int main(void) {
- glavniMeni();
- return 0;
- }
- void glavniMeni()
- {
- int izbor;
- do {
- printf("1)\tPokreni zadatak 1.\n");
- printf("2)\tPokreni zadatak 2.\n");
- printf("3)\tPokreni zadatak 3.\n");
- printf("4)\tPokreni zadatak 4.\n");
- printf("5)\tPokreni zadatak 5.\n");
- printf("6)\tKraj\n\n");
- printf("\tVas izbor: ");
- scanf("%d", &izbor);
- getchar();
- switch (izbor)
- {
- case 1:
- zadatak1();
- break;
- case 2:
- zadatak2();
- break;
- case 3:
- zadatak3();
- break;
- case 4:
- break;
- case 5:
- break;
- case 6:
- printf("KRAJ PROGRAMA!");
- break;
- default:
- break;
- }
- } while (izbor != 6);
- }
- void vratiBroj(int* broj)
- {
- printf("Unesite broj: ");
- scanf("%d", broj);
- }
- int daLiJeCetvorocifren(int broj)
- {
- if (broj / 1000 == 0)
- return 0;
- return 1;
- }
- int daLiSuCifreSortirane(int broj)
- {
- int cifra, sledeca, brojac = 0;
- while (broj != 0) {
- cifra = broj % 10;
- broj /= 10;
- sledeca = broj % 10;
- if (cifra < sledeca)
- brojac++;
- }
- if (brojac == 3)
- return 1;
- return 0;
- }
- void zbirCifara(int broj, int* zbirCifara)
- {
- while (broj != 0) {
- (*zbirCifara) += (broj % 10);
- broj /= 10;
- };
- }
- void izbaciDuplikate(int x[], int* n)
- {
- for (int i = 0; i < (*n); i++) {
- for (int j = i + 1; j < (*n); j++) {
- if (x[i] == x[j]) {
- for (int k = j + 1; k < (*n); k++) {
- x[j] = x[k];
- }
- (*n)--;
- }
- }
- }
- }
- void ispisiNiz(int x[], int n)
- {
- printf("Niz: ");
- for (int i = 0; i < n; i++) {
- printf("%4d%4", x[i]);
- }
- printf("\n");
- }
- int maxIspodSporedne(TMATRICA mat, int n)
- {
- int max = 0;
- for (int i = 0; i < n; i++) {
- for (int j = 0; j < n; j++) {
- if (i + j > n&& max < mat[i][j])
- max = mat[i][j];
- }
- }
- return max;
- }
- void prikaziMatricu(TMATRICA mat, int n)
- {
- for (int i = 0; i < n; i++) {
- for (int j = 0; j < n; j++) {
- printf("%3d%3", mat[i][j]);
- }
- printf("\n");
- }
- }
- void zamenaVrednosti(TMATRICA mat, int n, int zadataVrednost)
- {
- for (int i = 0; i < n; i++) {
- for (int j = 0; j < n; j++) {
- if (i + j > n)
- mat[i][j] = zadataVrednost;
- }
- }
- }
- void zadatak1()
- {
- int zbir_Cifara = 0;
- int broj;
- int max_zbir = 0;
- int max = 0;
- char izbor;
- do {
- vratiBroj(&broj);
- zbirCifara(broj, &zbir_Cifara);
- if ((daLiJeCetvorocifren(broj) == 1) && ((daLiSuCifreSortirane(broj)) == 1) && (zbir_Cifara > max_zbir))
- max = broj;
- printf("Da li zelite jos da unesete broj? (+/-): ");
- getchar();
- scanf("%c", &izbor);
- } while (izbor != '-');
- printf("\nNajveci uneti cetvorocifreni broj koji je u rastucem redosledu je: %d\n\n\n", max);
- }
- void zadatak2()
- {
- int niz[8] = { 3, 5, 7, 3, 2, 7, 3, 1 };
- int n = 8;
- ispisiNiz(niz, n);
- izbaciDuplikate(niz, &n);
- ispisiNiz(niz, n);
- }
- void zadatak3()
- {
- int zadata;
- int matrica[3][3] = { {1,2,3},{4,5,6},{7,8,9} };
- prikaziMatricu(matrica, 3);
- printf("Najveci element ispod sporedne dijagonale je: %d\n", zadata = maxIspodSporedne(matrica, 3));
- zamenaVrednosti(matrica, 3, zadata);
- prikaziMatricu(matrica, 3);
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement