Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #include <stdio.h>
- #include <stdlib.h>
- #define MAX 20
- void unosNiza(int *niz, int *velicina);
- void ispisNiza(int *niz, int velicina);
- int prethodeNegativnom(int niz[], int velicina); // vraca broj prethodnika prvog negativnog clana niza
- void uvecajElemente(int niz[], int velicina, int korak, int mnozilac);
- int postojiNegativan(int niz[], int velicina);
- int main(int argc, char *argv[])
- {
- // ISPITNI ZADATAK 3 (TEST 12) E1:
- //
- // Dat je niz A od maksimalno 20 celobrojnih elemenata. Učitati n elemenata niza A. Odrediti broj
- // elemenata niza koji prethode prvom negativnom elementu. Ukoliko je taj broj veći od n/3 svaki
- // drugi element niza A uveća 2 puta. Na kraju program treba da ispiše vrednosti elemenata niza.
- int n = 0; // ucitavam n elemenata niza
- int A[MAX];
- unosNiza(A, &n);
- printf("\n\n\t[[[[Ispis PRE:]]]] \n\n");
- ispisNiza(A, n);
- printf("\n\n\tPrvom negativnom clanu prethodi : %d elemenata.\n", prethodeNegativnom(A, n));
- printf("\tn/3 iznosi : %d / 3 = %d \n\n", n, n/3); // debugging purposes
- if(prethodeNegativnom(A, n) > (n/3)) {
- uvecajElemente(A, n, 2, 2); // uvecajElemente(niz, velicina_niza, korak, koliko_puta)
- }
- printf("\n\n\t[[[[Ispis POSLE:]]]] \n\n");
- ispisNiza(A, n);
- return 0;
- // main
- // main
- // main
- // main zavrsava ovde.
- }
- void uvecajElemente(int niz[], int velicina, int korak, int mnozilac) {
- int i = 0;
- for (i = 0; i < velicina; i = i + korak) {
- niz[i] = niz[i] * mnozilac;
- }
- }
- void unosNiza(int *niz, int *velicina) {
- do {
- printf("\n\tKoliko clanova niza zelite uneti? (MAX = %d) :", MAX );
- scanf("%d", velicina);
- } while(*velicina < 1 || *velicina > MAX);
- int i = 0;
- for (i = 0; i < *velicina; i++) {
- printf("\tA[%d] = ", i);
- scanf("%d", &niz[i]);
- }
- }
- void ispisNiza(int *niz, int velicina) {
- int i = 0;
- for (i = 0; i < velicina; i++) {
- printf("\tA[%d] = %d\n", i, niz[i]);
- }
- }
- int postojiNegativan(int niz[], int velicina) {
- int i = 0;
- int negativan = 0; // pretpostavim da ne postoji.
- for (i = 0; i < velicina; i++) {
- if (niz[i] < 0) {
- negativan = 1;
- }
- }
- return negativan;
- }
- int prethodeNegativnom(int niz[], int velicina) {
- int i = 0;
- int prethodi = 0;
- if (postojiNegativan(niz, velicina)) {
- for (i = 0; i < velicina; i++) {
- if (niz[i] >= 0) {
- prethodi++;
- } else {
- break;
- }
- }
- return prethodi;
- } else return prethodi;
- }
Advertisement
Add Comment
Please, Sign In to add comment