#include <stdio.h>
#include <math.h>
#define MAX_DATA 11
using namespace std;
int main() {
double a[MAX_DATA] = {0.3, 0.7, 0.9, 1.3, 1.7, 1.9, 2.3, 2.7, 2.9, 3.3, 3.7};
double sum1 = 0, sum2 = 0, temp, s3;
for (int i = 0; i < 4; i++) {
temp = sin(fabs(1 - log(a[i])));
sum1 += temp;
}
for (int i = 0; i < 10; i++) {
temp = sin(18 * a[i] * a[i] * a[i]) * sin(18 * a[i] * a[i] * a[i]);
sum2 += temp;
}
if (sum2 == 0) {
printf("na nol delit nelzya");
} else {
s3 = sum1 / sum2;
}
printf("S3= %f, S3");
return 0;
}
Метод printf принимает первым параметром строку, а затем несколько значений, которые будут подставлены в эту строку. В вашем коде в printf передаётся только строка, а значение для модификатора %f не передаётся. Так произошло из-за опечатки, чтобы её исправить надо заменить
printf("S3= %f, S3");
на
printf("S3= %f", S3);
Будет выдавать:
S3= 0.846996
Как развивать веб-проекты в 2026 году: технологии, контент E-E-A-T и факторы доверия
Современные инструменты для криптотрейдинга: как технологии помогают принимать решения
Апостиль в Лос-Анджелесе без лишних нервов и бумажной волокиты
Основные этапы разработки сайта для стоматологической клиники