Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #include <stdio.h>
- #include <stdlib.h>
- void beolvas(float * t, int meret);
- void kiir(float t[], int meret);
- void speckiir(float t[], int meret, float alap);
- void relativkiir(float t[], int meret);
- float atlag(float t[], int meret);
- //int mini(float t[], int meret);
- //int maxi(float t[], int meret);
- int szelsoertek(float * t, int meret, char ch);
- int monoton_e(float * t, int meret, char ch);
- int szamol(float * t, int meret, float hatar);
- int monotonvizsgalo(float * t, int meret);
- int main(void){
- float benzinar[4];
- int tmeret = 4;
- int minhet;
- int maxhet;
- int monoton;
- float hatarertek;
- float atl;
- beolvas(benzinar, tmeret);
- //kiir(benzinar, tmeret);
- minhet = szelsoertek(benzinar, tmeret, '-');
- maxhet = szelsoertek(benzinar, tmeret, '+');
- printf("%d. heten volt a legalacsonyabb, %d. heten volt a legmagasabb a benzinar. \n", minhet+1, maxhet+1);
- atl = atlag(benzinar, tmeret);
- printf("A tombelemek atlaga %.2f\n", atl);
- speckiir(benzinar, tmeret, atl);
- speckiir(benzinar, tmeret, benzinar[minhet]);
- relativkiir(benzinar, tmeret);
- /*
- monoton= monoton_e(benzinar, tmeret, '-');
- printf("%s\n", monoton?"monoton csokkent":"nem monoton csokkeno");
- monoton= monoton_e(benzinar, tmeret, '+');
- printf("%s\n", monoton?"monoton nott":"nem monoton novo");*/
- monoton = monotonvizsgalo(benzinar, tmeret);
- switch(monoton) {
- case 0 : printf("Nem monoton sorozat. \n"); break;
- case 1 : printf("Monoton csokken. \n"); break;
- case 2 : printf("Montonon no. \n"); break;
- }
- hatarertek = 300;
- printf("%dx volt %.2f Ft alatt a benzinar.\n", szamol(benzinar, tmeret, hatarertek), hatarertek);
- return 0;
- }
- void beolvas(float * t, int meret){
- int i;
- int j;
- int jo;
- int buffermeret = 100;
- char inputbuffer[100];
- for(i = 0; i < meret; i++){
- jo = 0;
- do{
- printf("%d. tombelem: ", i+1);
- scanf("%s", inputbuffer);
- if(sscanf(inputbuffer, "%f", &t[i])==1){
- jo = 1;
- }
- else{
- printf("Hibas adat\n");
- for(j = 0; j < buffermeret; j++ ) inputbuffer[i] = ' ';
- }
- }while(!jo);
- }
- return ;
- }
- void kiir(float t[], int meret){
- int i;
- for(i = 0; i < meret; i++){
- printf("%d. tombelem: %.2f\n", i+1, t[i]);
- }
- return ;
- }
- void relativkiir(float t[], int meret){
- int i;
- for(i = 0; i < meret; i++){
- if(i == 0) {
- printf("%.2f, ", t[i]);
- }
- else
- printf("%.2f, ", t[i] - t[i-1]);
- }
- printf("\n");
- return ;
- }
- void speckiir(float t[], int meret, float alap){
- int i;
- printf("Sorszam \t Ertek \t Viszonyitasi alap \t Elteres \t");
- for(i = 0; i < meret; i++){
- printf("%d. \t %.2f \t %.2f \t %.2f \t \n", i+1, t[i], alap, t[i]-alap);
- }
- return ;
- }
- float atlag(float t[], int meret){
- int i;
- float sum = 0;
- for(i=0; i<meret; i++){
- sum += t[i];
- }
- return sum/meret;
- }
- int mini(float t[], int meret){
- int index;
- int i;
- index = 0;
- for(i = 0; i < meret; i++){
- if(t[index] > t[i]) index=i;
- }
- return index+1;
- }
- int maxi(float t[], int meret){
- int index;
- int i;
- index = 0;
- for(i = 0; i < meret; i++){
- if(t[index] < t[i]) index=i;
- }
- return index+1;
- }
- int szelsoertek(float * t, int meret, char ch){
- int index;
- int i;
- index = 0;
- if(ch=='+') {
- for(i=0; i<meret; i++){
- if(t[index] < t[i]) index=i;
- }
- }
- else{
- index = 0;
- for(i = 0; i < meret; i++){
- if(t[index] > t[i]) index=i;
- }
- }
- return index+1;
- }
- /*int monoton_e(float * t, int meret, char ch){
- int i;
- int monoton=1;
- if(ch=='-') {
- for(i=0; i<meret-1; i++){
- if (t[i] < t[i+1]) monoton=0;
- }
- }
- else{
- for(i=0; i<meret-1; i++){
- if (t[i] > t[i+1]) monoton=0;
- }
- }
- return monoton;
- }*/
- int monotonvizsgalo(float * t, int meret){
- int i;
- int monoton;
- monoton = 1;
- for(i = 0; i < meret-1; i++){
- if (t[i] < t[i+1]) monoton=0;
- }
- if(monoton) return 1; //monoton csokken.
- monoton = 1;
- for(i = 0; i < meret-1; i++){
- if (t[i] > t[i+1]) monoton=0;
- }
- if (monoton) return 2; // monoton novekszi
- return 0; // nem monoton sorozat
- }
- int szamol(float * t, int meret, float hatar){
- int i;
- int db = 0;
- int limit;
- for(i = 0; i < meret; i++){
- if(t[i] < limit) db++;
- }
- return db;
- }
Advertisement
Add Comment
Please, Sign In to add comment