Loading:

PHP 7 News & Updates v7.0 - 7.4 - book

C++ wczytanie danych do tablicy, średnią arytmetyczną, odchylenie

Program wczytuje od użytkownika liczbę tworzy tablice i wczytuje do niej tyle liczb ile podał w zmiennej n, dodatkowo oblicza średnią arytmetyczną, odchylenie, oraz wartość najwyższą.


Treść zadania:

2.    Napisać program, który:


a.    wczyta liczbę N określającą ile ma być liczb rzeczywistych kontrolując, aby wprowa¬dzona wartość nie była mniejsza od 2 ani większa od rozmiaru zdefiniowanej tablicy zmiennych typu double,


b.    wczyta N liczb do tablicy wypisując do stderr zaproszenia w postaci np. X[n]= (n=1, 2, ..., N),


c.    obliczy i wypisze średnią arytmetyczną wprowadzonych liczb oraz największą z nich.


3.    W napisanym programie wyodrębnij trzy funkcje: wczytywania tablicy, obliczania wartości średniej, obliczania liczby największej. Zadbaj, aby funkcje nie używały zmiennych globalnych.


4.    Funkcję obliczającą wartość średnią rozbuduj tak, aby obliczała też standardowe odchylenie wyrażające się wzorem  , gdzie S jest wartością średnią. Wartość odchylenia D, niech funkcja zapisuje pod wskazaną zmienną (jeden z argumentów funkcji powinien być wskaźnikiem do tej zmiennej).



Napisz Artykuł

Listing


#include <cstdlib>
#include <iostream>
#include <cstdio>
#include <cmath>


using namespace std;

double srednia(double b, double n ){
    cout << "\nSrednia arytmetyczna wynosi: " << b/n << "\n\n";
}
double max(double liczbaMax ){
    cout << "\nWartosc najwyzsza wynosi: " << liczbaMax << "\n\n";
}
double getN(double n, double s, double A[ 10]){
    int i;
    double b,liczbaMax=0, sa;
    float dodaj=0, sum=0;
    float odchylenie=0;
    do{
    cout << "Podaj N gdzie 2<N<=10:"; cin >> n;
    }      
    while(n<2 || n>10);
    for(i=0; i < n; i++){
    cout << "Podaj liczbe na pozycje" << i << " : "; cin >> s;
    A[ i] = s;
    cout << "A[" << i << "] = " << A [i] << endl;
    b += A [i];
    if(A[ i] > liczbaMax ) { liczbaMax = A[ i];}
    }
    srednia(b,n);
    max(liczbaMax);
    sa = b/n;
   
    for(int i=0;i<n;i++)    
    { dodaj=(A[i]-sa)*(A[i]-sa);
      sum += dodaj;
    }
       
    odchylenie=sqrt(sum/n);
   
    cout<<"\nOdchyodchylenie wynosi "<<odchylenie<< "\n" <<endl;
   
   
   
}


int main(int argc, char *argv[])
{
   
    double n, s, b=0, A[ 10];
    getN(n,s,A);    
    //srednia(b,n,A);
    system("PAUSE");
    return EXIT_SUCCESS;
}


Ten wpis posiada swój wątek na forum

Wszystkie pytania prosimy kierować właśnie tam ponieważ komentarze to miejsce na poprawki do kodu lub alternatywne rozwiązania i pytania nie będą publikowane

http://forum.funkcje.net/forum/viewtopic.php?f=2&t=1570

Dane do logowania na forum są takie same jak na funkcje.net



Dodano przez: igor
Ranga: Administrator serwisu Punktów: 28716
Komentarze użytkowników
    • Treść komentarza
      Kod do komentarza (opcjonalnie)
      PHP JavaScript MySQL Smarty SQL HTML CSS ActionScript
      Autor
      Token
      token

       

       








funkcje.net
Wszelkie prawa zastrzeżone©. | Funkcje.net 2008-17 v.1.5 | design: diviXdesign & rainbowcolors