diff --git a/lab4.c b/lab4.c
new file mode 100644
index 0000000000000000000000000000000000000000..36f4684d2d23fb776fedd4f935ee7809d94d621a
--- /dev/null
+++ b/lab4.c
@@ -0,0 +1,56 @@
+#include <stdio.h>
+#include<stdlib.h>
+
+int factorial(int liczba){
+    int silnia = 1;
+    for (int i=1; i<=liczba; i++){
+        silnia *= i;
+    }
+    return silnia;
+}
+
+int fibonacci(int liczba){
+    int fibo = 1;
+    int fibo_suma = 0;
+    int swap;
+
+    for (int i=1; i<=liczba; i++){
+        swap = fibo;
+        fibo += fibo_suma;
+        fibo_suma = swap;
+        printf("Liczba nr %i wynosi %i\n", i, fibo);
+    }
+    return 0;
+}
+
+float polozenie(int wysokosc){
+    float g=9.81;
+    float t = 0;
+    float height = wysokosc;
+
+    while (height>=0){
+        printf("Czas: %f\t Wysokosc: %f\n",t,height);
+        t += 0.1;
+        height = wysokosc - 0.5*(g*t*t);
+    }
+    return 0;
+}
+
+
+int main(){
+    int liczba_silnia, liczba_fibo, wysokosc;
+// Silnia
+    printf("Podaj liczbe do obliczenia silni:\n");
+    scanf("%i", &liczba_silnia);
+    printf("Silnia z podanej liczby wynosi: %i", factorial(liczba_silnia));
+
+// Fibonacci
+    printf("Podaj liczbe do obliczenia ciagu fibonacciego:\n");
+    scanf("%i", &liczba_fibo);
+    fibonacci(liczba_fibo);
+
+// Spadek swobodny
+    printf("Teraz symulacja spadku swobodnego, podaj wysokosc z ktorej ma spadac masa:\n");
+    scanf("%i", &wysokosc);
+    polozenie(wysokosc);//asd
+}