#include <stdio.h>
#include <stdlib.h>
#include<math.h>
#include<malloc.h>
int* alokowanie_pamieci(int ile_liczb)
{
(int*)malloc(ile_liczb
*sizeof(int)); }
int wczytywanie_danych(int* tab, int ile_liczb)
{
for(int i=0; i<ile_liczb; ++i)
{
}
}
float srednia(int* tab, int ile_liczb)
{
float suma=0, srednia_liczb;
for(int i=0; i<ile_liczb; ++i)
{
suma+=*(tab+i);
}
srednia_liczb=suma/ile_liczb;
return srednia_liczb;
}
int najblizej_sredniej(int *tab, float srednia_liczb, int ile_liczb)
{
int element_najblizszy=*(tab);
for(int i=0; i<ile_liczb; ++i)
{
if(fabs(*(tab
+i
)-srednia_liczb
)>(fabs(element_najblizszy
-srednia_liczb
))) continue; if(fabs(*(tab
+i
)-srednia_liczb
)<(fabs(element_najblizszy
-srednia_liczb
))) element_najblizszy
=*(tab
+i
); if(fabs(*(tab
+i
)-srednia_liczb
)==(fabs(element_najblizszy
-srednia_liczb
))) continue; }
return element_najblizszy;
}
int main()
{
int *tab;
int ilosc_testow, ile_liczb;
printf("Podaj ilosc testow:"); scanf("%d",&ilosc_testow
); if(ilosc_testow>=1 && ilosc_testow<101)
{
for(int i=1;i<=ilosc_testow; ++i)
{
printf("Podaj ile liczb w tablicy:"); if(ile_liczb>0 && ile_liczb<100)
{
tab=alokowanie_pamieci(ile_liczb); /* Przypisanie do wskaznika adresu pierwszego elementu*/
if(tab!=NULL)
{
printf("Podaj dane do tablicy:"); wczytywanie_danych(tab,ile_liczb);
float srednia_liczb=srednia(tab, ile_liczb);
printf("Srednia wczytanych liczby to %.2f\n",srednia_liczb
); printf("Element najblizej sredniej to %d\n",najblizej_sredniej
(tab
,srednia_liczb
,ile_liczb
)); }
else printf("Nie udalo sie przydzielic pamieci!"); }
}
}
return 0;
}
I2luY2x1ZGUgPHN0ZGlvLmg+CiNpbmNsdWRlIDxzdGRsaWIuaD4KI2luY2x1ZGU8bWF0aC5oPgojaW5jbHVkZTxtYWxsb2MuaD4KCmludCogYWxva293YW5pZV9wYW1pZWNpKGludCBpbGVfbGljemIpCnsKICAgIChpbnQqKW1hbGxvYyhpbGVfbGljemIqc2l6ZW9mKGludCkpOwp9CgppbnQgd2N6eXR5d2FuaWVfZGFueWNoKGludCogdGFiLCBpbnQgaWxlX2xpY3piKQp7CiAgICBmb3IoaW50IGk9MDsgaTxpbGVfbGljemI7ICsraSkKICAgIHsKICAgICAgICBzY2FuZigiJWQiLCh0YWIraSkpOwogICAgfQp9CgpmbG9hdCAgc3JlZG5pYShpbnQqIHRhYiwgaW50IGlsZV9saWN6YikKewogICAgZmxvYXQgc3VtYT0wLCBzcmVkbmlhX2xpY3piOwogICAgZm9yKGludCBpPTA7IGk8aWxlX2xpY3piOyArK2kpCiAgICB7CiAgICAgICAgc3VtYSs9Kih0YWIraSk7CiAgICB9CiAgICBzcmVkbmlhX2xpY3piPXN1bWEvaWxlX2xpY3piOwogICAgcmV0dXJuIHNyZWRuaWFfbGljemI7Cn0KCmludCBuYWpibGl6ZWpfc3JlZG5pZWooaW50ICp0YWIsIGZsb2F0IHNyZWRuaWFfbGljemIsIGludCBpbGVfbGljemIpCnsKICAgIGludCBlbGVtZW50X25hamJsaXpzenk9Kih0YWIpOwogICAgZm9yKGludCBpPTA7IGk8aWxlX2xpY3piOyArK2kpCiAgICB7CiAgICAgICAgaWYoZmFicygqKHRhYitpKS1zcmVkbmlhX2xpY3piKT4oZmFicyhlbGVtZW50X25hamJsaXpzenktc3JlZG5pYV9saWN6YikpKSBjb250aW51ZTsKICAgICAgICBpZihmYWJzKCoodGFiK2kpLXNyZWRuaWFfbGljemIpPChmYWJzKGVsZW1lbnRfbmFqYmxpenN6eS1zcmVkbmlhX2xpY3piKSkpIGVsZW1lbnRfbmFqYmxpenN6eT0qKHRhYitpKTsKICAgICAgICBpZihmYWJzKCoodGFiK2kpLXNyZWRuaWFfbGljemIpPT0oZmFicyhlbGVtZW50X25hamJsaXpzenktc3JlZG5pYV9saWN6YikpKSBjb250aW51ZTsKICAgIH0KICAgIHJldHVybiBlbGVtZW50X25hamJsaXpzenk7Cn0KCmludCBtYWluKCkKewogICAgaW50ICp0YWI7CiAgICBpbnQgaWxvc2NfdGVzdG93LCBpbGVfbGljemI7CiAgICBwcmludGYoIlBvZGFqIGlsb3NjIHRlc3RvdzoiKTsKICAgIHNjYW5mKCIlZCIsJmlsb3NjX3Rlc3Rvdyk7CiAgICBpZihpbG9zY190ZXN0b3c+PTEgJiYgaWxvc2NfdGVzdG93PDEwMSkKICAgIHsKICAgICAgICBmb3IoaW50IGk9MTtpPD1pbG9zY190ZXN0b3c7ICsraSkKICAgICAgICAgewogICAgICAgICAgcHJpbnRmKCJQb2RhaiBpbGUgbGljemIgdyB0YWJsaWN5OiIpOwogICAgICAgICAgc2NhbmYoIiVkIiwmaWxlX2xpY3piKTsKICAgICAgICAgIGlmKGlsZV9saWN6Yj4wICYmIGlsZV9saWN6YjwxMDApCiAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgIHRhYj1hbG9rb3dhbmllX3BhbWllY2koaWxlX2xpY3piKTsgICAgICAgICAgLyogUHJ6eXBpc2FuaWUgZG8gd3NrYXpuaWthIGFkcmVzdSBwaWVyd3N6ZWdvIGVsZW1lbnR1Ki8KICAgICAgICAgICAgICAgIGlmKHRhYiE9TlVMTCkKICAgICAgICAgICAgICAgICAgewogICAgICAgICAgICAgICAgICAgICAgcHJpbnRmKCJQb2RhaiBkYW5lIGRvIHRhYmxpY3k6Iik7CiAgICAgICAgICAgICAgICAgICAgICB3Y3p5dHl3YW5pZV9kYW55Y2godGFiLGlsZV9saWN6Yik7CiAgICAgICAgICAgICAgICAgICAgICBmbG9hdCBzcmVkbmlhX2xpY3piPXNyZWRuaWEodGFiLCBpbGVfbGljemIpOwogICAgICAgICAgICAgICAgICAgICAgcHJpbnRmKCJTcmVkbmlhIHdjenl0YW55Y2ggbGljemJ5IHRvICUuMmZcbiIsc3JlZG5pYV9saWN6Yik7CiAgICAgICAgICAgICAgICAgICAgICBwcmludGYoIkVsZW1lbnQgbmFqYmxpemVqIHNyZWRuaWVqIHRvICVkXG4iLG5hamJsaXplal9zcmVkbmllaih0YWIsc3JlZG5pYV9saWN6YixpbGVfbGljemIpKTsKICAgICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICAgICBlbHNlIHByaW50ZigiTmllIHVkYWxvIHNpZSBwcnp5ZHppZWxpYyBwYW1pZWNpISIpOwogICAgICAgICAgICB9CiAgICAgICAgIH0KICAgIH0KICAgIHJldHVybiAwOwp9Cg==