Цикл начинается с того, что сразу же присваивает х значение 0.4, и после этого для у производятся вычисление исходя из х = 0.4. Чтобы х был изначально равен 0, нужно поменять местами строки в цикле, выглядит это так:
var x, y, h: real; begin h := 0.4; repeat y := power(x, 1 / 3) - 1; x := x + h; writeln(y); until x >= 4; end.
Здесь значение переменной у сначала будет равно результату вычисления, при котором х еще равен 0. Строку x:=0; можно убрать, так как при объявлении переменной (в разделе var) ей присваивается 0 по умолчанию. А также, есть лишняя переменная с.
#define _CRT_SECURE_NO_WARNINGS
#include <stdio.h>
int main()
{
int first[4];
char operations[4];
int second[4];
for (int i = 0; i < 4; ++i)
scanf("%i", &first[i]);
int k = 0;
while (k != 4){
char c;
c = getchar();
if (c != '-' && c != '+' && c != '*' && c != '/') {
continue;
}
operations[k] = c;
k++;
}
for (int i = 0; i < 4; ++i)
scanf("%i", &second[i]);
for (int i = 0; i < 4; ++i) {
switch (operations[i]) {
case '*':
printf("%i\n", first[i] * second[i]);
break;
case '/':
printf("%i\n", first[i] / second[i]);
break;
case '+':
printf("%i\n", first[i] + second[i]);
break;
case '-':
printf("%i\n", first[i] - second[i]);
break;
}
}
return 0;
}
var
x, y, h: real;
begin
h := 0.4;
repeat
y := power(x, 1 / 3) - 1;
x := x + h;
writeln(y);
until x >= 4;
end.
Здесь значение переменной у сначала будет равно результату вычисления, при котором х еще равен 0.
Строку x:=0; можно убрать, так как при объявлении переменной (в разделе var) ей присваивается 0 по умолчанию.
А также, есть лишняя переменная с.