1. Пользуйтесь тегами кода. - [code] ... [/code] 2. Точно указывайте язык, название и версию компилятора (интерпретатора). 3. Название темы должно быть информативным. В описании темы указываем язык!!!
дана структура с перечнем цены, веса и колличества (неких лекарств)... эл-ты можно добавлять и удалять... подсчитать надо сумарное и среднее значение цены, веса и колличества... сумарное подсчитать выходит, а среднее -нет...
void calc(apteka* stdar[]) { float S_price=0, S_wght=0, S_numb=0; int aver=0; for (int i=0; i<nbofst; i++) { S_price=S_price+stdar[i]->price; S_wght=S_wght+stdar[i]->weight; S_numb=stdar[i]->number; aver++; } printf("summary price %.0f weight preparatov %.0f summary number %.0f \n",S_price, S_wght, S_numb); //вычесление среднего колличества S_price=S_price/aver; S_wght=S_wght/aver; S_numb=S_numb/aver; printf("average price %.2f weight preparatov %.2f average number %.2f \n",S_price, S_wght, S_numb);
Не знаю... Должно вроде все вычисляться правильно... Хотя я не совсем понимаю, зачем тебе понадобилась лишняя переменная: aver? Она же всегда будет равна nbofst, если я ничего не упустил?
Можешь попробовать вот так:
S_price = S_price/(double)aver;
и заодно поменять описание float на double (так надежнее и быстрее), хотя я не думаю, что это изменит получаемые значения...
Еще одно заметил:
S_numb=stdar[i]->number;
это опечатка или это на самом деле так делается? Тогда непонятно, зачем? Там же будет только последнее значение, все остальные потеряются...
просто это порядочный номер препарата... в задании написано сумарное колличество препаратов... я так подумала... что сумировать их порядочные номера это как-то не очень...