C programiranje - pokazivači i funkcije

C programiranje - zadatak 1

Upisati broj. U funkciji ispisati djeljivost broja s 3.

#include <stdio.h>

void djeljiv(int *pbr) {
	if (*pbr % 3 == 0)
		printf("\nBroj je djeljiv s 3.");
	else
		printf("\nBroj nije djeljiv s 3.");

	return;
}

void main(){
	int a, *pa;

	pa = &a;

	printf("\nUpiši broj: ");
	scanf("%d", pa);

	djeljiv(pa);

	return;
}

Web dizajn pokazivači i funkcije

C programiranje pokazivači i funkcije - zadatak 2

Upisati n brojeva u polje. U funkciji naći najveći broj u polju i ispisati ga u glavnom programu.

#include <stdio.h>

void maksi(int n, int *pa, int *pmaksi) {
	int i;

	for (i = 0; i < n; i++)
		if (*(pa + i) > *pmaksi)
			*pmaksi = *(pa + i);

	return;
}

void main(){
	int a[100], n, i, *pa, max=0, *pmax;

	printf("\nUpiši broj n: ");
	scanf("%d", &n);

	pa = &a[0];
	
	for (i = 0; i < n; i++) {
		printf("\nUpiši %d broj: ", i + 1);
		scanf("%d", pa+i);
	}

	pmax = &max;

	maksi(n, pa, pmax);

	printf("\nNajveći broj polja je %d", *pmax);

	return;
}

C programiranje pokazivači i funkcije - zadatak 3

Upisivati brojeve dok se ne upiše broj 5. Za svaki upisani broj u funkciji ispisati je li paran ili neparan.

#include <stdio.h>

void parnost(int *pbr) {
	
	if (*pbr % 2 == 0)
		printf("\nBroj je paran.");
	else
		printf("\nBroj je neparan.");

	return;
}

void main(){
	int br, *pbr;

	pbr = &br;

	printf("\nUpiši broj: ");
	scanf("%d", pbr);

	while (*pbr != 5) {
		parnost(pbr);

		printf("\nUpiši broj: ");
		scanf("%d", pbr);
	}
		
	return;
}

C programiranje pokazivači i funkcije - zadatak 4

Upisati 5 brojeva u polje. U funkciji naći njihovu aritmetičku sredinu i ispisati je u glavnom programu.

#include <stdio.h>

float arit(int *pa) {
	int i, zbroj = 0;
	float ar;

	for (i = 0; i < 5; i++)
		zbroj += *(pa + i);

	ar = zbroj / 5.0;

	return ar;
}

void main(){
	int i, a[5], *pa;
	float ars;

	pa = &a[0];

	for (i = 0; i < 5; i++) {
		printf("\nUpiši %d broj: ", i + 1);
		scanf("%d", pa + i);
	}

	ars = arit(pa);

	printf("\nAritmetička sredina je %.2f", ars);

	return;
}

C programiranje pokazivači i funkcije - zadatak 5

Upisati dvije riječi. U glavnom programu ispisati ispisati zbroj njihovih duljina. Duljinu riječi izračunati u funkciji.

#include <stdio.h>
#include <string.h>

int duljina(char *pa, char *pb) {
	int dulj1, dulj2, zbroj;

	dulj1 = strlen(pa);
	dulj2 = strlen(pb);

	zbroj = dulj1 + dulj2;
	
	return zbroj;
}

void main(){
	char a[50], b[50], *pa, *pb;
	int zb;

	pa = &a[0];
	pb = &b[0];

	printf("\nUpiši prvu riječ: ");
	scanf("%s", pa);

	printf("\nUpiši drugu riječ: ");
	scanf("%s", pb);

	zb = duljina(pa, pb);

	printf("\nZbroj duljina riječi je %d", zb);

	return;
}

C programiranje pokazivači i funkcije - zadatak 6

Upisati rečenicu. Ispisati na koliko se parnih mjesta pojavilo veliko slovo u rečenici. Broj parnih mjesta pronaći u funkciji, a ispisati u glavnom programu.

#include <stdio.h>
#include <string.h>

int velika(char *pa) {
	int brojac = 0, i, n;
		
	n = strlen(pa);

	for (i = 0; i < n; i += 2) 
		if (*(pa + i) >= 'A' && *(pa + i) <= 'Z')
			brojac++;
	
	return brojac;
}

void main(){
	char a[100], *pa;
	int brojac;

	pa = &a[0];
	
	printf("\nUpiši rečenicu: ");
	gets(a);
	
	brojac = velika(pa);

	printf("\nBroj velikih slova, parnih je %d", brojac);

	return;
}

C programiranje pokazivači i funkcije - zadatak 7

Učitavati brojeve dok su manji od 10000. Ispisati zbroj znamenki svakog učitanog broja. Zbroj znamenki izračunati i ispisati u funkciji.

#include <stdio.h>

void zbroj(int *pbr) {
	int zb = 0, i;
		
	for (i = 0; i < 4; i++) {
		zb = zb + (*pbr) % 10;
		*pbr = *pbr / 10;
	}
	
	printf("\nZbroj znamenki je %d", zb);

	return;
}

void main(){
	int broj, *pbroj;

	pbroj = &broj;
	
	printf("\nUpiši broj: ");
	scanf("%d", pbroj);
	
	while (*pbroj < 10000) {
		zbroj(pbroj);

		printf("\nUpiši broj: ");
		scanf("%d", pbroj);
	}

	return;
}