Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #include <iostream>
- #include <cstdio>
- #include <cstdlib>
- #include <cmath>
- #include <conio.h>
- #include <fstream>
- using namespace std;
- void wyswietl(float *tab,int n)
- {
- for(int i=0;i<n;i++)cout<<"liczba nr."<<i<<"= "<<tab[i]<<endl;
- }
- void wprowadz(float * tab, int n)
- {
- for(int i =0;i<n;i++)
- {
- cout<<"wprowadz liczbe nr."<<i<<" :";
- cin>>tab[i];
- }
- }
- float minimum(float* tab, int n)
- {
- float min=tab[0];
- for(int i=1;i<n;i++)
- {
- if(tab[i]<min)min=tab[i];
- }
- return min;
- }
- float maximum(float* tab, int n)
- {
- float max=tab[0];
- for(int i=1;i<n;i++)
- {
- if(tab[i]>max)max=tab[i];
- }
- return max;
- }
- float srednia_ar(float* tab, int n)
- {
- float suma=0;
- for(int i=0;i<n;i++)suma = suma+tab[i];
- return (suma/n);
- }
- float srednia_ge(float* tab, int n)
- {
- float iloczyn=1;
- for(int i=0;i<n;i++)iloczyn = iloczyn*tab[i];
- return (pow(iloczyn,(1.0/n)));
- }
- void znajdz(float* tab, int n)
- {
- int liczzero=0;
- int liczujemne=0;
- for(int i=0;i<n;i++)
- {
- if(tab[i]<0)
- {
- cout<<"liczba nr."<<i<<"jest mniejsza od 0"<<endl;
- liczujemne++;
- }
- }
- cout<<"w sumie jest "<<liczujemne<<" liczb mniejszych od 0"<<endl;
- for(int j=0;j<n;j++)
- {
- if(tab[j]==0)
- {
- cout<<"liczba nr."<<j<<"rowna sie 0"<<endl;
- liczzero++;
- }
- }
- cout<<"w sumie jest "<<liczzero<<" liczb rownych 0"<<endl;
- }
- void sortuj(float* tab, int n)
- {
- float buf;
- bool zmiana;
- do
- {
- zmiana = false;
- for(int i=0;i<n;i++)
- {
- if(tab[i]>tab[i+1])
- {
- zmiana=true;
- buf=tab[i];
- tab[i]=tab[i+1];
- tab[i+1]=buf;
- }
- }
- }
- while(zmiana==true);
- wyswietl(tab,n);
- }
- void zapisz(float* tab, int n)
- {
- fstream plik;
- plik.open("liczby.txt", ios::in | ios::out);
- if(plik.is_open())
- {
- cout<<"otwarto plik"<<endl;
- }
- else
- {
- cout << "Nie udalo sie otworzyc pliku. Tworzenie nowego pliku... "<<endl;
- plik.open("liczby.txt", ios::in | ios::out |ios::trunc);
- }
- for(int i =0;i<n;i++)
- {
- plik<<tab[i]<<endl;
- }
- cout<<"pomyslnie zapisano do pliku"<<endl;
- plik.close();
- }
- int main()
- {
- int n,polecenie;
- cout<<"Ile liczb chcesz wczytac? "<<endl;
- cin>>n;
- float *tab; //stworzenie dynamicznej tablicy o rozmiarze podanym przez użytkownika
- tab = new float[n];
- wprowadz(tab,n);
- do
- {
- cout << "[1] minimum"<<endl;
- cout << "[2] maximum"<<endl;
- cout << "[3] srednia geometryczna"<<endl;
- cout << "[4] srednia arytmetyczna"<<endl;
- cout << "[5] sortuj"<<endl;
- cout << "[6] znajdz zera i ujemne"<<endl;
- cout << "[7] zapisz do .txt"<<endl;
- cout << "[8] rezygnuj"<<endl;
- cout << "Twoje polecenie:";
- cin>>polecenie;
- switch(polecenie)
- {
- case 1:
- minimum(tab,n);
- cout<<"minimum = "<<minimum(tab,n)<<endl;
- break;
- case 2:
- cout<<"maksimum = "<<maximum(tab,n)<<endl;
- break;
- case 3:
- cout<<"srednia geometryczna = "<<srednia_ge(tab,n)<<endl;
- break;
- case 4:
- cout<<"srednia arytmetyczna = "<<srednia_ar(tab,n)<<endl;
- break;
- case 5:
- sortuj(tab,n);
- break;
- case 6:
- znajdz(tab,n);
- break;
- case 7:
- zapisz(tab,n);
- break;
- case 8:
- break;
- default:
- cout << "Nieprawidlowe polecenie." <<endl;
- break;
- }
- }
- while(polecenie !=8);
- delete[]tab;
- return 0;
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement