Составить таблицу значений функции, с использованием операторов цикла for и do.. .while - C (СИ)
Формулировка задачи:
Составить таблицу значений функции Z = f (х, у) = (Зх + xln*sqrt(y))/1 + е^2х
с использованием операторов цикла for и do.. .while, при х = 0..-5 , hx= 0,7 , у = 4..7 , hy= 0,5
Знакомый написал код на Си, программа работает, но выборка значений с заданным шагом осуществляется неверно
Код программы:
Подскажите пожалуйста что здесь не так, ибо не могу допустится до экзаменов из за этой проги
#include <iostream.h>
#include <math.h>
int main () {
double x, y, hx, hy, z;
x = 0; y = 4;
hx = 0.7; hy = 0.5;
while (x <= 5) {
while (y <= 7) {
z = (3*x + x*log(sqrt(y)))/1+exp(2*x);
x += hx;
cout<<"y = "<<y<<" x = "<<x<<" f(x, y) = "<<z;
}
y += hy;
}
}Решение задачи: «Составить таблицу значений функции, с использованием операторов цикла for и do.. .while»
textual
Листинг программы
#include <iostream.h>
#include <math.h>
int main () {
double x, y, hx, hy, z;
x = 0; y;
hx = 0.7; hy = 0.5;
while (x <= 5) {
y=4;
while (y <= 7) {
z = (3*x + x*log(sqrt(y)))/1+exp(2*x);
cout<<"y = "<<y<<" x = "<<x<<" f(x, y) = "<<z<<endl;
y += hy;
}
x += hx;
}
}
Объяснение кода листинга программы
В этом коде:
- Объявлены переменные
x,y,hx,hy,z. - Переменным
xиyприсвоены начальные значения. - Переменным
hxиhyприсвоены значения 0,7 и 0,5 соответственно. - Запускается цикл
while, который выполняется до тех пор, пока значение переменнойxменьше или равно 5. - Внутри цикла
whileзапускается вложенный циклwhile, который выполняется до тех пор, пока значение переменнойyменьше или равно 7. - Внутри вложенного цикла
whileвычисляется значение переменнойzс помощью формулы(3*x + x*log(sqrt(y)))/1+exp(2*x). - Выводится сообщение с текущими значениями переменных
y,xиz. - Значение переменной
yувеличивается на значение переменнойhy. - После выхода из вложенного цикла
while, значение переменнойxувеличивается на значение переменнойhx. - После выхода из цикла
while, программа завершается.