- Kacper Matloka
- Nr 205117
- Politechnika Wroclawska
- Przed uruchomieniem programu, należy plik z danymi umiescic w folderze,
- w ktorym znajduje sie program i ZMIENIC JEGO NAZWE. Nazwa pliku z danymi nie powinna
- przekraczac 15 znakow.
- */
- #include <stdio.h>
- #include <stdlib.h>
- #define ROZMIAR 20
- //Deklaracja funkcji
- double rysujWykres(double** ,int Ilosc_punktow , char *, char *);
- double rysujWlasny(double** ,int Ilosc_punktow , char *);
- double rysujPochodne(double** , double *, double*, int Ilosc_punktow , char *);
- int liczWiersze(char *);
- double **odczytajDane(char *);
- double **odczytajWlasne(char *);
- void zamien(char *, char *);
- unsigned wyswietlMenu(void);
- double **wpiszWlasne(char *);
- double *rozniczkujKanal_I(double**, int Ilosc_punktow);
- double *rozniczkujKanal_II(double** , int Ilosc_punktow);
- double *calkujDane(double**, int Ilosc_punktow);
- void zapisz(char *);
- double liczMax_Kanal_I(double**, int Ilosc_punktow);
- double liczMax_Kanal_II(double**, int Ilosc_punktow);
- double liczSrednia_Kanal_I(double**, int Ilosc_punktow);
- double liczSrednia_Kanal_II(double**, int Ilosc_punktow);
- int main(int argc, char **argv)
- {
- printf("\n\n\t\t* WITAJ W PROGRAMIE! *");
- getch();
- system("cls");
- wyswietlMenu();
- getch();
- return 0;
- }
- double rysujWykres(double** tablica, int IloscPunktow, char *PlikDoZapisu, char *PlikDoOdczytu)
- {
- FILE *Wsk_do_pliku;
- int j;
- char kolor_I[15];
- char kolor_II[15];
- char tytul_I[30];
- char tytul_II[30];
- Wsk_do_pliku = fopen(PlikDoZapisu,"w");
- printf("\n Opcje wykresu: \n\n\n");
- printf(" # KOLOR [po angielsku]\n\n");
- printf(" KANAL I: ");
- scanf("%s", &kolor_I);
- printf("\n KANAL II: ");
- scanf("%s", &kolor_II);
- printf("\n\n\n # TYTUL [odstepy poprzez znak '_']\n\n");
- printf(" KANAL I: ");
- scanf("%s", &tytul_I);
- printf("\n KANAL II: ");
- scanf("%s", &tytul_II);
- fprintf(Wsk_do_pliku,"<html>\n");
- fprintf(Wsk_do_pliku,"<head>\n");
- //Wykres dla KANALU I
- fprintf(Wsk_do_pliku,"<script type=\"text/javascript\" src=\"https://www.google.com/jsapi\"></script>\n");
- fprintf(Wsk_do_pliku,"<script type=\"text/javascript\">\n");
- fprintf(Wsk_do_pliku,"google.load(\"visualization\", \"1\", {packages:[\"corechart\"]});\n");
- fprintf(Wsk_do_pliku,"google.setOnLoadCallback(drawChart);\n");
- fprintf(Wsk_do_pliku,"function drawChart() {\n");
- fprintf(Wsk_do_pliku,"var data = google.visualization.arrayToDataTable([\n");
- fprintf(Wsk_do_pliku,"['Czas', 'Kanal I'],\n");
- for(j=0; j<IloscPunktow; j++)
- {
- fprintf(Wsk_do_pliku, "['%.3lf', %.2lf],\n", tablica[0][j], tablica[1][j]); //przekazanie danych na wykres
- }
- fprintf(Wsk_do_pliku,"]);\n");
- fprintf(Wsk_do_pliku,"var options = {\n");
- fprintf(Wsk_do_pliku,"title: '%s', colors:['%s']\n", tytul_I, kolor_I);
- fprintf(Wsk_do_pliku,"};\n");
- fprintf(Wsk_do_pliku,"var chart = new google.visualization.LineChart(document.getElementById('chart_div'));\n");
- fprintf(Wsk_do_pliku,"chart.draw(data, options);\n");
- fprintf(Wsk_do_pliku,"}\n");
- fprintf(Wsk_do_pliku,"</script>\n");
- //Wykres dla KANALU II
- fprintf(Wsk_do_pliku,"<script type=\"text/javascript\" src=\"https://www.google.com/jsapi\"></script>\n");
- fprintf(Wsk_do_pliku,"<script type=\"text/javascript\">\n");
- fprintf(Wsk_do_pliku,"google.load(\"visualization\", \"1\", {packages:[\"corechart\"]});\n");
- fprintf(Wsk_do_pliku,"google.setOnLoadCallback(drawChart);\n");
- fprintf(Wsk_do_pliku,"function drawChart() {\n");
- fprintf(Wsk_do_pliku,"var data = google.visualization.arrayToDataTable([\n");
- fprintf(Wsk_do_pliku,"['Czas', 'Kanal II'],\n");
- for(j=0; j<IloscPunktow; j++)
- {
- fprintf(Wsk_do_pliku, "['%.3lf', %.2lf],\n", tablica[0][j], tablica [2][j]); //przekazanie danych na wykres
- }
- fprintf(Wsk_do_pliku,"]);\n");
- fprintf(Wsk_do_pliku,"var options = {\n");
- fprintf(Wsk_do_pliku,"title: '%s', colors: ['%s']\n", tytul_II, kolor_II);
- fprintf(Wsk_do_pliku,"};\n");
- fprintf(Wsk_do_pliku,"var chart = new google.visualization.LineChart(document.getElementById('chart_div1'));\n");
- fprintf(Wsk_do_pliku,"chart.draw(data, options);\n");
- fprintf(Wsk_do_pliku,"}\n");
- fprintf(Wsk_do_pliku,"</script>\n");
- fprintf(Wsk_do_pliku,"</head>\n");
- fprintf(Wsk_do_pliku,"<body>\n");
- fprintf(Wsk_do_pliku,"<div id=\"chart_div\" style=\"width: 1200px; height: 800px;\"></div>\n");
- fprintf(Wsk_do_pliku,"<div id=\"chart_div1\" style=\"width: 1200px; height: 800px;\"></div>\n");
- fprintf(Wsk_do_pliku,"<p><font size=\"2\" face=\"arial\"><b>Nazwa pliku:</b> %s</p> \n", PlikDoOdczytu);
- fprintf(Wsk_do_pliku,"<p><b>Ilosc punktow:</b> %d</p> \n", IloscPunktow);
- fprintf(Wsk_do_pliku,"<p><b>Maksymalna wartosc [KANAL I]:</b> %.2f</p> \n", liczMax_Kanal_I(tablica, IloscPunktow));
- fprintf(Wsk_do_pliku,"<p><b>Maksymalna wartosc [KANAL II]:</b> %.2f</p> \n", liczMax_Kanal_II(tablica, IloscPunktow));
- fprintf(Wsk_do_pliku,"<p><b>Srednia [KANAL I]:</b> %.4f</p> \n", liczSrednia_Kanal_I(tablica, IloscPunktow));
- fprintf(Wsk_do_pliku,"<p><b>Srednia [KANAL I]:</b> %.4f </font>\n", liczSrednia_Kanal_II(tablica, IloscPunktow));
- fprintf(Wsk_do_pliku,"</body>\n");
- fprintf(Wsk_do_pliku,"</html>\n");
- fclose(Wsk_do_pliku);
- return 0;
- }
- double **odczytajDane(char *PlikDoOdczytu)
- {
- double **tablica;
- FILE *plik;
- plik = fopen(PlikDoOdczytu, "r");
- char znak;
- int j, i;
- int k = 0;
- i = 0;
- while(!feof(plik))
- {
- znak = fgetc(plik);
- if(znak=='\n') {i++;}
- }
- tablica = (double**)malloc(sizeof(double*)*3);
- for(j=0; j<3; j++)
- {
- tablica[j]=(double*)malloc(sizeof(double)*(i-7));
- }
- rewind(plik);
- j=0;
- while(!feof(plik))
- {
- znak=fgetc(plik);
- if(znak=='\n') {k++;}
- if(k==7) {break;}
- }
- // Wskaznik w pliku znajduje sie na poczatku 8 linii.
- // Od tego momentu funkcja wczytuje dane do pliku.
- while(!feof(plik))
- {
- fscanf(plik, "%lf %lf %lf", &tablica[0][j], &tablica[1][j], &tablica[2][j]);
- j++;
- printf("%f %f %f", tablica[0][j], tablica[1][j], tablica[2][j]);
- if (j==(i-7)) {break;}
- }
- return tablica;
- }
- int liczWiersze(char *PlikDoOdczytu)
- {
- double **tablica;
- FILE *plik;
- plik = fopen(PlikDoOdczytu, "r");
- if(plik==NULL)
- {
- printf("\n\n Najpierw wczytaj dane!");
- getch();
- system("cls");
- wyswietlMenu();
- }
- char znak;
- int i = 0;
- while(!feof(plik))
- {
- znak=fgetc(plik);
- if(znak=='\n') {i++;}
- }
- return i-7;
- }
- void zamien(char *PlikDoOdczytu, char *PlikPomocniczy)
- {
- FILE *plik_wejscia;
- FILE *plik_wyjscia;
- plik_wejscia = fopen(PlikDoOdczytu, "r");
- plik_wyjscia = fopen(PlikPomocniczy, "w");
- if(plik_wejscia == NULL)
- {
- system("cls");
- printf("\n\n Podany plik nie istnieje!\n\n PAMIETAJ O WPISANIU ROZSZERZENIA");
- getch();
- exit(0);
- }
- else
- {
- char c;
- while(!feof(plik_wejscia))
- {
- c=fgetc(plik_wejscia);
- if (c == ':') c = '0'; // Zamiana znakow w pliku z danymi w celu ulatwienia ich odczytu
- if (c == ',') c = '.'; //
- if (c == ';') c = ' '; //
- fprintf(plik_wyjscia, "%c", c);
- }
- fclose(plik_wejscia);
- fclose(plik_wyjscia);
- }
- }
- double *calkujDane(double** tablica, int IloscPunktow)
- {
- int i;
- double suma_I = 0, suma_II = 0;
- for(i=0; i<IloscPunktow; i++)
- {
- suma_I += (tablica[0][i]*tablica[1][i]);
- suma_II += (tablica[0][i]*tablica[2][i]);
- }
- printf("\n\n Pole pod wykresem dla KANALU I wynosi: %lf\n\n", suma_I);
- printf(" Pole pod wykresem dla KANALU II wynosi: %lf\n", suma_II);
- }
- void zapisz(char *PlikDoOdczytu)
- {
- FILE *plik;
- FILE *pomocniczy;
- pomocniczy = fopen("zapisane_dane.csv", "w");
- plik = fopen(PlikDoOdczytu, "r");
- int j=0;
- char c;
- while(!feof(plik))
- {
- c=fgetc(plik);
- if (c == ' ') c = ',';
- fprintf(pomocniczy, "%c", c);
- }
- fclose(plik);
- fclose(pomocniczy);
- }
- double *rozniczkujKanal_I(double** tablica, int IloscPunktow)
- {
- double *poch;
- int i = 0;
- double delta = 0.001;
- poch = (double*)calloc(IloscPunktow, sizeof(double));
- while (i<IloscPunktow-1)
- {
- *(poch+i)=(tablica[1][i+1] - tablica[1][i])/delta;
- i++;
- }
- return poch;
- }
- double *rozniczkujKanal_II(double** tablica, int IloscPunktow)
- {
- double *poch;
- int i=0;
- double delta=0.001;
- poch =(double*)calloc(IloscPunktow, sizeof(double));
- while (i<IloscPunktow-1)
- {
- *(poch+i)=(tablica[2][i+1] - tablica[2][i])/delta;
- i++;
- }
- return poch;
- }
- unsigned wyswietlMenu(void)
- {
- int opcja, IloscPunktow, w;
- printf("\n\t\t* MENU *\n\n\n");
- printf("\t\t1 - Wczytaj dane\n\n");
- printf("\t\t2 - Rysuj wykres\n\n");
- printf("\t\t3 - Calkuj\n\n");
- printf("\t\t4 - Rozniczkuj\n\n");
- printf("\t\t5 - Zapisz do pliku [.csv]\n\n");
- printf("\t\t6 - Podaj wlasne wspolrzedne\n\n\n");
- printf("\t\t0 - WYJSCIE\n\n");
- printf("Wybierz opcje: ");
- scanf("%d", &opcja);
- char nazwa[ROZMIAR];
- switch(opcja) {
- case 1:
- system("cls");
- printf("\n * WCZYTAJ DANE *\n\n\n");
- printf(" (przyklad: NAZWA_PLIKU.ASC)");
- printf("\n\n\n Podaj nazwe pliku: ");
- scanf("%s", &nazwa);
- zamien(nazwa, "plik_pomocniczy.ASC");
- odczytajDane("plik_pomocniczy.ASC");
- IloscPunktow=liczWiersze("plik_pomocniczy.ASC");
- printf("\n\n Dane zostaly wczytane do pamieci!");
- printf("\n\n W pliku jest %d danych pomiarowych.\n", IloscPunktow);
- getch();
- system("cls");
- wyswietlMenu();
- break;
- case 2:
- system("cls");
- printf("\n * RYSUJ WYKRES *\n\n");
- IloscPunktow=liczWiersze("plik_pomocniczy.ASC");
- rysujWykres(odczytajDane("plik_pomocniczy.ASC"), IloscPunktow, "wykres_dane.html", "plik_pomocniczy.ASC");
- printf("\n Utworzono wykres w pliku: wykres_dane.html\n");
- getch();
- system("cls");
- wyswietlMenu();
- break;
- case 3:
- system("cls");
- printf("\n * CALKOWANIE *\n");
- IloscPunktow=liczWiersze("plik_pomocniczy.ASC");
- calkujDane(odczytajDane("plik_pomocniczy.ASC"), IloscPunktow);
- getch();
- system("cls");
- wyswietlMenu();
- break;
- case 4:
- system("cls");
- printf("\n * ROZNICZKOWANIE *\n\n");
- IloscPunktow=liczWiersze("plik_pomocniczy.ASC");
- printf("\n Utworzono wykres fukncji i jej pochodnej w pliku: wykres_pochodna.html\n");
- rozniczkujKanal_I(odczytajDane("plik_pomocniczy.ASC"), IloscPunktow);
- rozniczkujKanal_II(odczytajDane("plik_pomocniczy.ASC"), IloscPunktow);
- rysujPochodne(odczytajDane("plik_pomocniczy.ASC"), rozniczkujKanal_I(odczytajDane("plik_pomocniczy.ASC"),IloscPunktow), rozniczkujKanal_II(odczytajDane("plik_pomocniczy.ASC"), IloscPunktow), IloscPunktow,"wykres_pochodna.html");
- getch();
- system("cls");
- wyswietlMenu();
- break;
- case 5:
- system("cls");
- printf("\n * ZAPIS DO PLIKU [.csv] *\n\n\n");
- zapisz("plik_pomocniczy.ASC");
- printf(" Dane zostaly zapisane do pliku: zapisane_dane.csv\n");
- getch();
- system("cls");
- wyswietlMenu();
- break;
- case 6:
- system("cls");
- wpiszWlasne("plik_wlasne_pomocniczy.ASC");
- IloscPunktow = liczWiersze("plik_wlasne_pomocniczy.ASC");
- rysujWlasny(odczytajWlasne("plik_wlasne_pomocniczy.ASC"), IloscPunktow, "wykres_wlasne.html");
- zapisz("plik_wlasne_pomocniczy.ASC");
- getch();
- system("cls");
- wyswietlMenu();
- break;
- case 0:
- system("cls");
- printf("\n\n\n\n\t\t* KONIEC PRACY PROGRAMU *");
- break;
- default:
- printf("\n\nBLEDNA OPCJA. WYBIERZ PONOWNIE...");
- getch();
- system("cls");
- wyswietlMenu();
- break;
- }
- }
- double **wpiszWlasne(char *PlikPomocniczy)
- {
- double **tablica;
- int j, i;
- double x, y;
- tablica = (double**)malloc(sizeof(double*)*2);
- for(j=0; j<2; j++)
- {
- tablica[j]=(double*)malloc(sizeof(double)*100);
- }
- printf("\n\n Podaj Twoje wspolrzedne. Aby zakonczyc wpisz '123456789'\n\n");
- for(j=0; ; j++)
- {
- printf(" x%d = ", j+1);
- scanf(" %lf", &x);
- if(x==123456789) {break;}
- tablica[0][j] = x;
- printf(" y%d = ", j+1);
- scanf(" %lf", &y);
- tablica[1][j] = y;
- printf("\n");
- if(y==123456789)
- {
- printf("Podaj jeszcze wartość dla x%d!\n\n", j+1);
- printf(" y%d = ", j+1);
- scanf(" %lf", &y);
- tablica[1][j] = y;
- }
- }
- int q, w;
- double a, b;
- for(q=0; q<j; q++)
- {
- for(w=0; w<j-1; w++)
- {
- if(tablica[0][w] > tablica[0][w+1])
- {
- a=tablica[0][w];
- b=tablica[1][w];
- tablica[0][w]=tablica[0][w+1];
- tablica[1][w]=tablica[1][w+1];
- tablica[0][w+1]=a;
- tablica[1][w+1]=b;
- }
- }
- }
- printf("\n\n");
- for(i=0; i<j; i++)
- {
- printf("%.2lf %.2lf\n\n", tablica[0][i], tablica[1][i]);
- }
- printf("\nDane zostaly zapisane w pamieci i w pliku .csv!");
- int z;
- FILE *pliczek;
- pliczek=fopen(PlikPomocniczy, "w");
- for(z=0; z<j; z++)
- {
- fprintf(pliczek, "%.2lf %.2lf\n", tablica[0][z], tablica[1][z]);
- }
- fclose(pliczek);
- return tablica;
- }
- double rysujWlasny(double** tablica, int IloscPunktow, char *PlikDoZapisu)
- {
- FILE *Wsk_do_pliku2;
- int j;
- Wsk_do_pliku2 = fopen(PlikDoZapisu, "w");
- fprintf(Wsk_do_pliku2,"<html>\n");
- fprintf(Wsk_do_pliku2,"<head>\n");
- fprintf(Wsk_do_pliku2,"<script type=\"text/javascript\" src=\"https://www.google.com/jsapi\"></script>\n");
- fprintf(Wsk_do_pliku2,"<script type=\"text/javascript\">\n");
- fprintf(Wsk_do_pliku2,"google.load(\"visualization\", \"1\", {packages:[\"corechart\"]});\n");
- fprintf(Wsk_do_pliku2,"google.setOnLoadCallback(drawChart);\n");
- fprintf(Wsk_do_pliku2,"function drawChart() {\n");
- fprintf(Wsk_do_pliku2,"var data = google.visualization.arrayToDataTable([\n");
- fprintf(Wsk_do_pliku2,"['Argumenty', 'Wartosci'],\n");
- for(j=0; j<IloscPunktow; j++)
- {
- fprintf(Wsk_do_pliku2, "['%.2lf', %.2lf],\n", tablica[0][j], tablica[1][j]); //przekazanie danych na wykres
- }
- fprintf(Wsk_do_pliku2,"]);\n");
- fprintf(Wsk_do_pliku2,"var options = {\n");
- fprintf(Wsk_do_pliku2,"title: 'Wykres danych uzytkownika', colors: ['blue']\n");
- fprintf(Wsk_do_pliku2,"};\n");
- fprintf(Wsk_do_pliku2,"var chart = new google.visualization.LineChart(document.getElementById('chart_div'));\n");
- fprintf(Wsk_do_pliku2,"chart.draw(data, options);\n");
- fprintf(Wsk_do_pliku2,"}\n");
- fprintf(Wsk_do_pliku2,"</script>\n");
- fprintf(Wsk_do_pliku2,"</head>\n");
- fprintf(Wsk_do_pliku2,"<body>\n");
- fprintf(Wsk_do_pliku2,"<div id=\"chart_div\" style=\"width: 1200px; height: 800px;\"></div>\n");
- fprintf(Wsk_do_pliku2,"</body>\n");
- fprintf(Wsk_do_pliku2,"</html>\n");
- fclose(Wsk_do_pliku2);
- return 0;
- }
- double **odczytajWlasne(char *PlikDoOdczytu)
- {
- double **tablica;
- FILE *plik_wyjscia;
- plik_wyjscia = fopen(PlikDoOdczytu, "r");
- char znak;
- int j, i=0;
- while(!feof(plik_wyjscia))
- {
- znak=fgetc(plik_wyjscia);
- if(znak=='\n') {i++;}
- }
- tablica = (double**)malloc(sizeof(double*)*2);
- for(j=0; j<2; j++)
- {
- tablica[j]=(double*)malloc(sizeof(double)*i);
- }
- rewind(plik_wyjscia);
- j=0;
- while(!feof(plik_wyjscia))
- {
- fscanf(plik_wyjscia, "%lf %lf", &tablica[0][j], &tablica[1][j]);
- j++;
- if (j==i) {break;}
- }
- printf("\n\nW pliku jest %d danych pomiarowych.", i);
- return tablica;
- }
- double rysujPochodne(double** tablica, double *pochodna_I, double *pochodna_II, int IloscPunktow, char *PlikDoZapisu)
- {
- FILE *Wsk_do_pliku;
- int j;
- Wsk_do_pliku = fopen(PlikDoZapisu, "w");
- fprintf(Wsk_do_pliku,"<html>\n");
- fprintf(Wsk_do_pliku,"<head>\n");
- fprintf(Wsk_do_pliku,"<script type=\"text/javascript\" src=\"https://www.google.com/jsapi\"></script>\n");
- fprintf(Wsk_do_pliku,"<script type=\"text/javascript\">\n");
- fprintf(Wsk_do_pliku,"google.load(\"visualization\", \"1\", {packages:[\"corechart\"]});\n");
- fprintf(Wsk_do_pliku,"google.setOnLoadCallback(drawChart);\n");
- fprintf(Wsk_do_pliku,"function drawChart() {\n");
- fprintf(Wsk_do_pliku,"var data = google.visualization.arrayToDataTable([\n");
- fprintf(Wsk_do_pliku,"['Czas', 'Kanal I', 'Pochodna'],\n");
- for(j=0;j<IloscPunktow;j++)
- {
- fprintf(Wsk_do_pliku,"['%.3lf', %.2lf, %.2lf],\n", tablica[0][j], tablica[1][j], pochodna_I[j]); //przekazanie danych na wykres
- }
- fprintf(Wsk_do_pliku,"]);\n");
- fprintf(Wsk_do_pliku,"var options = {\n");
- fprintf(Wsk_do_pliku,"title: 'Pomiar transmisji fali ultradzwiękowej [KANAL I].'\n");
- fprintf(Wsk_do_pliku,"};\n");
- fprintf(Wsk_do_pliku,"var chart = new google.visualization.LineChart(document.getElementById('chart_div'));\n");
- fprintf(Wsk_do_pliku,"chart.draw(data, options);\n");
- fprintf(Wsk_do_pliku,"}\n");
- fprintf(Wsk_do_pliku,"</script>\n");
- fprintf(Wsk_do_pliku,"<script type=\"text/javascript\" src=\"https://www.google.com/jsapi\"></script>\n");
- fprintf(Wsk_do_pliku,"<script type=\"text/javascript\">\n");
- fprintf(Wsk_do_pliku,"google.load(\"visualization\", \"1\", {packages:[\"corechart\"]});\n");
- fprintf(Wsk_do_pliku,"google.setOnLoadCallback(drawChart);\n");
- fprintf(Wsk_do_pliku,"function drawChart() {\n");
- fprintf(Wsk_do_pliku,"var data = google.visualization.arrayToDataTable([\n");
- fprintf(Wsk_do_pliku,"['Czas', 'Kanal II', 'Pochodna'],\n");
- for(j=0;j<IloscPunktow;j++)
- {
- fprintf(Wsk_do_pliku,"['%.3lf', %.2lf, %.2lf],\n", tablica[0][j], tablica[2][j], pochodna_II[j]); //przekazanie danych na wykres
- }
- fprintf(Wsk_do_pliku,"]);\n");
- fprintf(Wsk_do_pliku,"var options = {\n");
- fprintf(Wsk_do_pliku,"title: 'Pomiar transmisji fali ultradzwiękowej [KANAL II].'\n");
- fprintf(Wsk_do_pliku,"};\n");
- fprintf(Wsk_do_pliku,"var chart = new google.visualization.LineChart(document.getElementById('chart_div1'));\n");
- fprintf(Wsk_do_pliku,"chart.draw(data, options);\n");
- fprintf(Wsk_do_pliku,"}\n");
- fprintf(Wsk_do_pliku,"</script>\n");
- fprintf(Wsk_do_pliku,"</head>\n");
- fprintf(Wsk_do_pliku,"<body>\n");
- fprintf(Wsk_do_pliku,"<div id=\"chart_div\" style=\"width: 1200px; height: 800px;\"></div>\n");
- fprintf(Wsk_do_pliku,"<div id=\"chart_div1\" style=\"width: 1200px; height: 800px;\"></div>\n");
- fprintf(Wsk_do_pliku,"</body>\n");
- fprintf(Wsk_do_pliku,"</html>\n");
- fclose(Wsk_do_pliku);
- return 0;
- }
- double liczMax_Kanal_I(double **tablica, int IloscPunktow)
- {
- double maksimum = tablica[1][0];
- int i;
- for(i=0; i<IloscPunktow-1; i++)
- {
- if(tablica[1][i+1] > maksimum)
- {
- maksimum = tablica[1][i+1];
- }
- }
- return maksimum;
- }
- double liczMax_Kanal_II(double **tablica, int IloscPunktow)
- {
- double maksimum = tablica[2][0];
- int i;
- for(i=0; i<IloscPunktow-1; i++)
- {
- if(tablica[2][i+1] > maksimum)
- {
- maksimum = tablica[2][i+1];
- }
- }
- return maksimum;
- }
- double liczSrednia_Kanal_I(double **tablica, int IloscPunktow)
- {
- double srednia, suma = 0;
- int i;
- for(i=0; i<IloscPunktow; i++)
- {
- suma += tablica[1][i];
- }
- srednia = suma/(i*1.0);
- return srednia;
- }
- double liczSrednia_Kanal_II(double **tablica, int IloscPunktow)
- {
- double srednia, suma = 0;
- int i;
- for(i=0; i<IloscPunktow; i++)
- {
- suma += tablica[2][i];
- }
- srednia = suma/(i*1.0);
- return srednia;
- }