0% found this document useful (0 votes)
15 views7 pages

AiP PZP

Dokument sadrži pitanja i zadatke vezane uz programiranje u C/C++, uključujući objašnjenje nizova, pokazivača, funkcija za inicijalizaciju i ispis nizova, sortiranje, pretraživanje, te rad sa stringovima. Također su uključeni primjeri koda za različite funkcionalnosti poput dinamičke alokacije memorije i usporedbe stringova. Sve informacije su usmjerene na praktičnu primjenu programskih koncepata.

Uploaded by

bubili20808
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as DOCX, PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
15 views7 pages

AiP PZP

Dokument sadrži pitanja i zadatke vezane uz programiranje u C/C++, uključujući objašnjenje nizova, pokazivača, funkcija za inicijalizaciju i ispis nizova, sortiranje, pretraživanje, te rad sa stringovima. Također su uključeni primjeri koda za različite funkcionalnosti poput dinamičke alokacije memorije i usporedbe stringova. Sve informacije su usmjerene na praktičnu primjenu programskih koncepata.

Uploaded by

bubili20808
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as DOCX, PDF, TXT or read online on Scribd

PITANJA ZA PONAVLJANJE

1. Objasni što je niz podataka u programiranju.


Niz podataka je strukturirani podatkovni tip koji omogućava spremanje više
elemenata istog tipa pod zajedničkim imenom. Svaki element niza može se
dohvatiti pomoću indeksa.

16. Napiši deklaraciju niza u C++ u koji će se spremati najviše 6 cijelih brojeva.
int niz[6];

5. Kako C/C++ indeksira pojedine članove niza? Objasni i navedi primjer.


U C/C++ jeziku, indeksi nizova počinju od nule. To znači da prvi element ima indeks
0, drugi element ima indeks 1 i tako dalje.
int niz[3] = {10, 20, 30};
printf("%d", niz[0]); // Ispisuje 10
printf("%d", niz[2]); // Ispisuje 30

6. Napiši funkciju za inicijalizaciju niza brojeva: 2, 4, 6, 8, 10, 12, 14, 16.


void inicijalizirajNiz(int niz[], int velicina) {
for (int i = 0; i < velicina; i++) {
niz[i] = 2 * (i + 1);
}
}

10. Napiši funkciju koja ispisuje sve elemente niza cijelih brojeva.
void ispisiNiz(int niz[], int velicina) {
for (int i = 0; i < velicina; i++) {
printf("%d ", niz[i]);
}
printf("\n");
}

11. Napiši funkciju koja pretražuje niz kako bi pronašla određeni element.
int pretraziNiz(int niz[], int velicina, int trazeni) {
for (int i = 0; i < velicina; i++) {
if (niz[i] == trazeni) {
return i; // Vraća indeks pronađenog elementa
}
}
return -1; // Element nije pronađen
}

12. Prikaži tablicom elemente niza: float x[9] = {3.3, 2.2, 3.3, -4.1, 3.3, 0.2}.

Indek Vrijedno
s st

0 3.3

1 2.2

2 3.3

3 -4.1

4 3.3

5 0.2

13. Napiši funkciju koja ispisuje sve elemente niza koji su jednaki broju 3.3.
void ispisiJednake(float niz[], int velicina, float broj) {
for (int i = 0; i < velicina; i++) {
if (niz[i] == broj) {
printf("%.1f ", niz[i]);
}
}
printf("\n");
}

28. Napiši program koji unosi dva stringa i određuje njihovu duljinu, uspoređuje ih te
ih spaja u jedan string.
#include <stdio.h>
#include <string.h>

int main() {
char str1[50], str2[50], spojeni[100];
printf("Unesi prvi string: ");
gets(str1);
printf("Unesi drugi string: ");
gets(str2);

printf("Duljina prvog stringa: %lu\n", strlen(str1));


printf("Duljina drugog stringa: %lu\n", strlen(str2));
printf("Usporedba: %d\n", strcmp(str1, str2));

strcpy(spojeni, str1);
strcat(spojeni, str2);
printf("Spojeni string: %s\n", spojeni);

return 0;
}

18. Napiši funkciju za sortiranje niza metodom mjehuričastog sortiranja.


cpp
KopirajUredi
void bubbleSort(int niz[], int velicina) {
for (int i = 0; i < velicina - 1; i++) {
for (int j = 0; j < velicina - i - 1; j++) {
if (niz[j] > niz[j + 1]) {
int temp = niz[j];
niz[j] = niz[j + 1];
niz[j + 1] = temp;
}
}
}
}

26. Napiši program koji učitava dva niza realnih brojeva, računa njihov umnožak i
sprema rezultate u novi niz.
#include <stdio.h>

int main() {
int n;
printf("Unesi broj elemenata: ");
scanf("%d", &n);

float niz1[n], niz2[n], umnozak[n];


printf("Unesi elemente prvog niza:\n");
for (int i = 0; i < n; i++) scanf("%f", &niz1[i]);

printf("Unesi elemente drugog niza:\n");


for (int i = 0; i < n; i++) scanf("%f", &niz2[i]);

int negativni = 0;
for (int i = 0; i < n; i++) {
umnozak[i] = niz1[i] * niz2[i];
if (umnozak[i] < 0) negativni++;
}

printf("Umnozak nizova:\n");
for (int i = 0; i < n; i++) printf("%.2f ", umnozak[i]);
printf("\nNegativnih umnožaka: %d\n", negativni);

return 0;
}

1. Objasni što je pokazivač u C/C++ i kako se deklarira.


Pokazivač je varijabla koja čuva memorijsku adresu druge varijable. Deklaracija
pokazivača:
int *pokazivac;

10. Napiši blok naredbi kojim se pomoću pokazivača ispisuje prvi i peti član niza.
int niz[5] = {10, 20, 30, 40, 50};
int *p = niz;
printf("Prvi član: %d\n", *p);
printf("Peti član: %d\n", *(p + 4));

15. Napiši program koji koristi pokazivače za usporedbu prvih 5 znakova dvaju
stringova.
#include <stdio.h>
#include <string.h>

int main() {
char str1[50], str2[50];
printf("Unesi prvi string: ");
gets(str1);
printf("Unesi drugi string: ");
gets(str2);

int rezultat = strncmp(str1, str2, 5);


if (rezultat == 0)
printf("Prvih 5 znakova je isto.\n");
else
printf("Prvih 5 znakova je različito.\n");

return 0;
}

28. Napiši program koji dinamički alocira memoriju za niz od 10 cijelih brojeva i
popunjava ga unosom s tipkovnice.

#include <stdio.h>
#include <stdlib.h>

int main() {
int *niz = (int *)malloc(10 * sizeof(int));
if (niz == NULL) {
printf("Neuspješna alokacija memorije.\n");
return 1;
}

printf("Unesi 10 cijelih brojeva:\n");


for (int i = 0; i < 10; i++) {
scanf("%d", &niz[i]);
}

printf("Uneseni brojevi su:\n");


for (int i = 0; i < 10; i++) {
printf("%d ", niz[i]);
}
printf("\n");

free(niz);
return 0;
}

You might also like