#pragma once //egy preprocessor utasítás, amely a fordítót arra kéri,
//hogy az adott fájlt csak egyszer olvassa be a fordítás során.
//Ezzel elkerülhetők a szimbólumok duplikálódása - egy adott fájlt csak
//egyszer olvas be a fordító, ami segít elkerülni a többszöri beolvasásból adódó hibákat.
//Példa a többszöri include-ra
//Tfh. van három fájlunk:
//agy.h – tartalmaz egy típusdefiníciót vagy függvény prototípust.
//macska.h – includeolja az agy.h - t.
//kutya.h – szintén includeolja az agy.h - t.
//main.c – includeolja mind az macska.h - t, mind a kutya.h - t.
//FÜGGVÉNYEK
/*általános alak:
visszatérítési_érték függvénynév(paramétertípus1 paraméter1, paramétertípus2 paraméter2,... ){
függvény törzs...
return visszatérítési érték;
}
*/ //Lásd: amit eddig is használtunk - main függvény
//void: típustalan típus - nem kell visszatérítési érték se
void köszönés() {
printf("Hello!\n\n");
}
void puffer_torles() {
int clear;
while ((clear = getchar()) != '\n');
}
void lehessenek_ekezetek() {
setlocale(LC_ALL, "");
}
void konzol_torles() {
system("cls");
}
void int_tomb_random_feltoltes(int tomb[], int N, int mettol, int meddig) {
for (int i = 0; i < N; i++) {
tomb[i] = rand() % (meddig - mettol + 1) + mettol;
}
}
void int_tomb_random_feltoltes2(int* pointer, int N, int mettol, int meddig) {
for (int i = 0; i < N; i++) {
pointer[i] = rand() % (meddig - mettol + 1) + mettol;
}
}
void int_tomb_kiiratas(int* pointer, int N) {
for (int i = 0; i < N; i++) {
printf("%i ", pointer[i]);
}
printf("\n");
}
void int_tomb_rendezes(int* pointer, int N) {
for (int i = 0; i < N - 1; i++) {
for (int j = 0; j < (N - 1) - i; j++) {
if (pointer[j] > pointer[j + 1]) {
int temp = pointer[j];
pointer[j] = pointer[j + 1];
pointer[j + 1] = temp;
}
}
}
}
void csere_a(int a, int b) { //a és b lokális egész számok - Rossz példa
int tmp = a;
a = b;
b = tmp;
}
void csere_p(int* a, int* b) { //a és b egészre mutató pointerek
int tmp = *a;
*a = *b;
*b = tmp;
}
unsigned long long faktorialis_sima(int n) {
unsigned long long eredmeny = 1;
for (int i = 1; i <= n; i++) {
eredmeny *= i;
}
return eredmeny;
}
unsigned long long faktorialis_rekurziv(int n) {
if (n == 0) { // Alapeset: 0! = 1
return 1;
}
else {
return n * faktorialis_rekurziv(n - 1);
}
}