#include <stdio.h>
double sum_tab(double tab[], size_t tsize);
void print_tab(double tab[], size_t tsize);
int main(void) {
double X = 234.234324;
double tab_in[] = { 2, -0.01, 100, 1 };
size_t tsize = sizeof(tab_in)/sizeof(double);
double tab_out[tsize], tab_tmp[tsize];
for(size_t i=0;i<tsize;++i) { tab_out[i] = X/tsize; }
for(size_t i=0;i<tsize;++i) { tab_tmp[i] = tab_out[i]*tab_in[i]; }
double sum = sum_tab(tab_tmp, tsize);
if(sum) {
double ratio = X/sum;
for(size_t i=0;i<tsize;++i) { tab_out[i] = tab_tmp[i]*ratio; }
}
print_tab(tab_in, tsize);
print_tab(tab_out, tsize);
printf("suma=%5.5f\n", sum_tab
(tab_out
, tsize
));
return 0;
}
void print_tab(double tab[], size_t tsize) {
for(size_t i=0;i<tsize;++i) {
}
}
double sum_tab(double tab[], size_t tsize) {
double sum = 0;
for(size_t i=0;i<tsize;++i) { sum += tab[i]; }
return sum;
}
I2luY2x1ZGUgPHN0ZGlvLmg+Cgpkb3VibGUgc3VtX3RhYihkb3VibGUgdGFiW10sIHNpemVfdCB0c2l6ZSk7CnZvaWQgcHJpbnRfdGFiKGRvdWJsZSB0YWJbXSwgc2l6ZV90IHRzaXplKTsKCmludCBtYWluKHZvaWQpIHsKCWRvdWJsZSBYID0gMjM0LjIzNDMyNDsKCWRvdWJsZSB0YWJfaW5bXSA9IHsgMiwgLTAuMDEsIDEwMCwgMSB9OwoJc2l6ZV90IHRzaXplID0gc2l6ZW9mKHRhYl9pbikvc2l6ZW9mKGRvdWJsZSk7Cglkb3VibGUgdGFiX291dFt0c2l6ZV0sIHRhYl90bXBbdHNpemVdOwoJCglmb3Ioc2l6ZV90IGk9MDtpPHRzaXplOysraSkgeyB0YWJfb3V0W2ldID0gWC90c2l6ZTsgfQoJZm9yKHNpemVfdCBpPTA7aTx0c2l6ZTsrK2kpIHsgdGFiX3RtcFtpXSA9IHRhYl9vdXRbaV0qdGFiX2luW2ldOyB9Cglkb3VibGUgc3VtID0gc3VtX3RhYih0YWJfdG1wLCB0c2l6ZSk7CgkKCWlmKHN1bSkgewoJCWRvdWJsZSByYXRpbyA9IFgvc3VtOwoJCWZvcihzaXplX3QgaT0wO2k8dHNpemU7KytpKSB7IHRhYl9vdXRbaV0gPSB0YWJfdG1wW2ldKnJhdGlvOyB9Cgl9CgkKCXB1dHMoImluX3RhYjoiKTsKCXByaW50X3RhYih0YWJfaW4sIHRzaXplKTsKCglwcmludGYoIlxuWD0lNS41ZlxuIiwgWCk7CglwdXRzKCJvdXRfdGFiOiIpOwoJcHJpbnRfdGFiKHRhYl9vdXQsIHRzaXplKTsKCXByaW50Zigic3VtYT0lNS41ZlxuIiwgc3VtX3RhYih0YWJfb3V0LCB0c2l6ZSkpOwoJCgkKCQoJCglyZXR1cm4gMDsKfQp2b2lkIHByaW50X3RhYihkb3VibGUgdGFiW10sIHNpemVfdCB0c2l6ZSkgewoJZm9yKHNpemVfdCBpPTA7aTx0c2l6ZTsrK2kpIHsKCQlwcmludGYoIiU1LjVmICIsIHRhYltpXSk7CgkJaWYoKGklNSk9PTQpIHsgcHV0Y2hhcignXG4nKTsgfQoJfQoJcHJpbnRmKCJcbiIpOwp9CmRvdWJsZSBzdW1fdGFiKGRvdWJsZSB0YWJbXSwgc2l6ZV90IHRzaXplKSB7Cglkb3VibGUgc3VtID0gMDsKCWZvcihzaXplX3QgaT0wO2k8dHNpemU7KytpKSB7IHN1bSArPSB0YWJbaV07IH0KCXJldHVybiBzdW07Cn0=