Programowanie w C

redcamper
Użytkownik
Użytkownik
Posty: 5
Rejestracja: 7 maja 2011, o 16:38
Płeć: Mężczyzna
Lokalizacja: ds

Programowanie w C

Post autor: redcamper »

witam
potrzebuję pomocy w zadaniu, ponieważ dopiero zaczynam pracę w C, a zadanie przekracza moje umiejętności i zbliża się termin oddania go;
oblicz
\(\displaystyle{ t=\frac{\overline{x}-n}{S}}\)
gdzie:
\(\displaystyle{ \overline{x}=\frac{1}{n}\sum_{i=1}^{n} x_{i}}\) \(\displaystyle{ S=\sqrt{\frac{1}{n}\sum_{i=1}^{n} (x_{i}-\overline{x})^{2}}}\) \(\displaystyle{ x_{i} i=1,2,...,n.}\)

mam jeszcze pytanie; posiadam książkę "język ansi C" brian'a kernighan'a, czy jest ona dobra do nauki programowania? i jakie jeszcze byście ksiązki polecili?
adambak
Użytkownik
Użytkownik
Posty: 1272
Rejestracja: 8 sty 2011, o 18:18
Płeć: Mężczyzna
Lokalizacja: Warszawa
Podziękował: 295 razy
Pomógł: 115 razy

Programowanie w C

Post autor: adambak »

choć umiem programować to Ci tego nie napiszę, bo nawet nie mam takiej wiedzy żeby rozszyfrować matematycznie o co tutaj chodzi, ale co do książki..

właśnie, pytanie: nauki programowania, czy nauki języka? jeśli to drugie to owszem wspomniana przez Ciebie jest dobra (nawet jedna z najlepszych), jeśli do nauki programowania a ja przez to rozumiem - rozwiązywania problemów, algorytmiki to zdecydowanie nie..

do algorytmiki najlepszymi książkami są:
Sztuka programowania D.E Knuth
Wprowadzenie do algorytmów Cormena

ale nie wiem czy tego szukasz, i nie wiem też czy nie brzmię śmiesznie bo to literatura na bardzo wysokim poziomie (też z matematycznego punktu widzenia), poza tym bardzo mało dostępna i bardzo droga, jednak wspominam, bo być może masz możliwość wypożyczenia, albo chociaż przejrzenia w bibliotece uczelnianej..

a tak ogólnie to ja się uczyłem sam i z internetu w większości i też dobrze na tym wyszedłem (tak sądzę), a żeby mieć ciągle styczność z programowaniem, rozwiązywaniem problemów i przeróżnymi językami, ogólnie się doskonalić w tej dziedzinie to polecam pewną ligę programistów której nazwy nie przytoczę zważywszy na regulamin

(link do niej (a właściwie mojego konta na niej) w moim profilu, ale ciiii...)

-- 7 maja 2011, o 18:43 --

ok, już wiem mniej więcej o co chodzi w Twoim programie, \(\displaystyle{ n}\) jest podawane na wejściu, \(\displaystyle{ x}\) i \(\displaystyle{ S}\) obliczane ze wzoru (w pętli) a potem obliczana wartość \(\displaystyle{ t}\), którą trzeba wypisać, ale w sporym skrócie to napisane jest, więc się domyślam..
Xitami

Programowanie w C

Post autor: Xitami »

Kod: Zaznacz cały

double t(double x[], int n) {
    if(n == 0)
        return 0.0; // ????
    double sum = 0;
    double sq_sum = 0;
    for(int i = 0; i < n; ++i) {
       sum += x[i];
       sq_sum += x[i] * x[i];
    }
    double mean = sum / n;
    return (mean-n)/sqrt(sq_sum / n - mean * mean);
}
dziwne to "t"
vokus
Użytkownik
Użytkownik
Posty: 50
Rejestracja: 8 lis 2008, o 00:03
Płeć: Mężczyzna
Lokalizacja: Warszawa
Podziękował: 2 razy

Programowanie w C

Post autor: vokus »

"język ansi C" brian kernighan'a odradzam absolutnie jeśli chodzi o naukę programowania od podstaw. Książka jest dobra jeśli już umie się programować w jakimś języku. Zamiast uczyć się z niej, człowiek szuka w innych książkach poruszanych tam zagadnień, bo inaczej dalej materiału się nie pociągnie. Do nauki C polecam "Szkoła Programowania: C" Praty. Świetna książka, obszernie i bardzo przystępnie opisująca każde kolejne zagadnienie. Autor używa też obrazowych porównań co w znaczny sposób pomaga w przyswajaniu wiedzy ( w przeciwieństwie do "suchego" kerigana). Książka Praty dla C to coś jak "Symfonia" dla C++. Tę książkę aż chce się czytać i co najważniejsze ją się czyta, a nie studiuje.
redcamper
Użytkownik
Użytkownik
Posty: 5
Rejestracja: 7 maja 2011, o 16:38
Płeć: Mężczyzna
Lokalizacja: ds

Programowanie w C

Post autor: redcamper »

dzieki za pomoc i wskazówki. Postaram się dorobić brakujące elementy do programu od Xitami mam nadzieję, ż jest dobry-- 10 maja 2011, o 13:57 --program zrobiłem, mam nadzieję, że dobrze, oto on:
#include <stdio.h>
#include <math.h>

int main(){
int n;
int i;
int x[1000];
int suma;
double srednia;
double roznica;
double t;

printf("podaj liczbe danych n
");
scanf("%i", &n);
for(i=0; i<n; i++)
{
printf("dana nr %i:", i+1);
scanf("%i", &x);
}
suma = 0;
for(i=0; i<n; i++){
suma += x;
}
srednia = suma/n;
printf("x=%.2f
", srednia);
roznica = 0;
for(i=0; i<n; i++)
{
roznica += (x-srednia)*(x-srednia);
}
roznica /= n;
roznica = sqrt(roznica);
printf("S=: %.2f
",roznica);

t = (srednia - n)/roznica;
printf("t=: %.2f
", t);
scanf("%.2f", &t);

return 0;
}
i tutaj moje następne pytanie, program miał być stworzony na podstawie funkcji i nie wiem jak mam go przerobić
ODPOWIEDZ