#include <stdio.h>
#include <math.h>
#include <stdlib.h>
#include <locale.h>
#include <time.h>
#include "fuggvenyek.h" //Solution Explorer --> Source Files --> Jobbklikk --> Add --> New item --> fuggvenyek.h, strukturak.h
#include "strukturak.h"
int main(void)
{
köszönés();
lehessenek_ekezetek();
srand((unsigned int)time(NULL)); //Nézzük meg mi történik ha ez a sor a random feltöltő függvényen belül van
/*printf("Fejes csapszeg atmeroje: [mm] d= ");
double d;
scanf_s("%lf", &d);
puffer_torles();
printf("Adjon meg egy karaktert: ");
char karakter = getchar();
int karakterke = karakter;
printf("A megadott karakter %c volt. szamkent reprezentalva: %i\n", karakter, karakterke);*/
//Debug restart hotkey: Ctrl+Shift+F5
int tomb10[10];
int tomb25[25];
int_tomb_random_feltoltes(tomb10,10, -50, 50); //Feltöltögetések
int_tomb_random_feltoltes2(tomb25, 25, -50, 50);
int_tomb_kiiratas(tomb10, 10); //Kiiratások rendezetlenül
int_tomb_kiiratas(tomb25, 25);
int_tomb_rendezes(tomb10, 10); //Rendezgetések
int_tomb_rendezes(tomb25, 25);
int_tomb_kiiratas(tomb10, 10); //Rendezett tömbkiiratások
int_tomb_kiiratas(tomb25, 25);
//konzol_torles();
csere_a(tomb10[0], tomb10[9]); //Első, utolsó elemek kicserélése #1 nem működik
int_tomb_kiiratas(tomb10, 10); // #2 működik
//FONTOS: ameddig az előző példákban tomb10, tomb25 címeket jelentettek, pointerek voltak
csere_p(&tomb25[0], &tomb25[24]); // a tomb10[0] és tomb10[9] stb. indirekció kifejezések. ugyanaz, mintha azt írnám, hogy pl.
int_tomb_kiiratas(tomb25, 25); // int i=2 int*p = &i, ... int k = *p <-- *p indirekció, azaz p által mutatott ÉRTÉK! 'k' 2 lesz.
// int*q = p, ekkor q is i-re mutat!
printf("9 faktoriális: %llu\n", faktorialis_sima(9));
printf("9 faktoriális: %llu\n\n", faktorialis_rekurziv(9));
struct civil Benedek;
Benedek.igazolvanyszam = 9111337;
Benedek.eletkor = 20;
Benedek.karizma = 8.0;
Benedek.ero = 8.5;
Benedek.intelligencia = 9.5;
printf("Benedek igazolványszáma: %i\n\
\réletkora: %i\n\
\rkarizmája: %.1lf\n\
\rereje: %.1lf\n\
\rintelligenciája: %.1lf",
Benedek.igazolvanyszam,
Benedek.eletkor,
Benedek.karizma,
Benedek.ero,
Benedek.intelligencia);
printf("\n\n");
struct civil* Enese = malloc(sizeof(struct civil));
if (Enese == NULL) {
printf("Nem sikerült memóriát lefoglalni Enesének!\n");
exit(EXIT_FAILURE);
}
Enese->igazolvanyszam = 6660777;
Enese->eletkor = 18;
Enese->karizma = 9.0;
Enese->ero = 4.5;
Enese->intelligencia = 8.5;
printf("Enese igazolványszáma: %i\n\
\réletkora: %i\n\
\rkarizmája: %.1lf\n\
\rereje: %.1lf\n\
\rintelligenciája: %.1lf\n\ ",
Enese->igazolvanyszam,
Enese->eletkor,
Enese->karizma,
Enese->ero,
Enese->intelligencia);
free(Enese);
return 0;
}
//Gyakorló feladatok:
//1. Feladat
//Csinálj egy statisztika függvényt, ami egy tömb átlagát, szórását, mediánját, minimumát és maximumát,
//terjedelmét, és összegét írja ki.
//Egészítsd ki azzal, hogy egy karaktert is meglehessen adni neki utolsó paraméterként, és a megadott karakter alapján
//csak egy statisztikai adatot ír ki pl. a - átlag, s - szórás, M-max, m - min, k - medián, t - terjedelem
//2. Feladat
//Csinálj egy függvényt, aminek kettő paramétere egy-egy int,
//A megadott paraméterek alapján írjon ki egy random egyjegyű elemekből
//álló mátrixot ami a paraméterek által meghatározott méretű.
//Egészítsd ki paraméterellenőrzéssel
//Egészítsd ki, még kettő paraméterrel, amivel szabályozni lehet a random elemek terjedelmét
//3. Feladat
//Írj iteratív és rekurzív módon is Binomiális együttható számító függvényt.
//Tipp: n alatt a k = n alatt n-k
//4. Feladat - struktúrákkal oldj meg korábbi anyagi pont mozgásos feladatokat.
//5. Feladat - A korábbi numerikus integrálásos feladatokat oldd meg a következőképpen:
// A matematikai függvény legyen egy megírt C függvény (a visszatérítési érték maga a matematikai fv.)
// A numerikus integrálásra használj egy integráló függvényt a következő paraméterekkel:
// 1. paraméter: függvénypointer
// 2-3. paraméter: határok
// 4. paraméter: felosztás finomsága / intervallumok száma (javasolt mindkét módszerrel, a finomság
// megadásos esetben kerekíts)
//Próbáld ki különböző függvényekkel, az eredményt ellenőrizd.
//
//Megjegyzések: Debug úgy is működik, ha kihúzzuk a fuggvenyek.h-t külön ablakba...
//Lásd több monitor használata...