Вычислить и вывести на экран таблицу всех 20 значений функции - C (СИ)
Формулировка задачи:
делаю лабороторную "цилкы"
Вычислить и вывести на экран таблицу всех 20 значений функции z(i,j)=xi2+yi3;
для xi=x1, x2, x3, x4; yi = y1, y2,…, y5 Исходные данные: x1 = 0.1, x2 = 0.2, x3 = 0.3, x4 = 0.4, y1 = 1.1, y2 = 1.2,y3 = 2.1,y4 = 2.2, y5 =2.5.
Массивы, вроде как, использовать нельзя(они идут дальше) поэтому сразу от них отказался. Икc'ы могут пустить через цикл с шагом 0.1, а вот что делать с игреками? создавать 5 переменных, думаю, глупо. исходя из названия работы их(y) тоже надо как-то пустить циклом, есть идеи?)
спасибо.
Решение задачи: «Вычислить и вывести на экран таблицу всех 20 значений функции»
textual
Листинг программы
#include<stdio.h>
#include<conio.h>
#include<stdlib.h>
#include<math.h>
int main()
{
float z[3][4];
float x, y;
int i,j,s;
x=0;
for(i=0;i<=3;i++)
{
x=x+0.1;
for(j=0;j<=4;j++)
{
switch(j)
{
case (0): z[i][j]=pow(x,2)+pow(1.1,3);
case (1): z[i][j]=pow(x,2)+pow(1.2,3);
case (2): z[i][j]=pow(x,2)+pow(2.1,3);
case (3): z[i][j]=pow(x,2)+pow(2.2,3);
case (4): z[i][j]=pow(x,2)+pow(2.5,3);
}
}
}
// output result of matrix
printf("\n Result is \n");
for(i=0; i<=3; i++)
{
for(j=0; j<=4; j++)
{
printf("%f",z[i][j]);
printf(" ");
}
printf("\n");
}
printf("\n Press any key to exit");
getch();
return 0;
}
Объяснение кода листинга программы
В этом коде:
- Создается массив
zразмером 3x4, инициализированный нулями. - Задаются значения переменных
xиy, равные 0. - Используется цикл
forдля прохода по всем элементам массиваz. - Внутри цикла
forиспользуется еще один циклfor, который выполняется от 0 до 4. - Внутри второго цикла
forвыполняется операторswitch, который выбирает одну из пяти возможных формул для вычисления значения элемента массиваz. - Вычисленное значение записывается в соответствующий элемент массива
z. - После завершения второго цикла
forвыводится на экран значение массиваz. - В конце программы запрашивается нажатие любой клавиши для выхода из программы.
Значения переменных
xиyувеличиваются на 0.1 после каждой итерации внешнего циклаfor, что приводит к последовательному выполнению всех пяти формул для каждого элемента массиваz. Формулы, используемые в оператореswitch, вычисляют значения элементов массиваzна основе значения переменнойx, возведенного в куб, и чисел 1.1, 1.2, 2.1, 2.2 и 2.5. Обратите внимание, что в этом коде нет проверки на выход за границы массива, поэтому значения переменныхiиjдолжны быть ограничены значениями от 0 до 3 и от 0 до 4 соответственно, чтобы избежать доступа к памяти за пределами массиваz.