Open hluh opened 12 months ago
void main()
{
setlocale(LC_ALL, "RUS");
puts("нажмите ентер");
getchar();
puts("Моя программа");
puts(" часть два ");
puts("**************************************************************************");
puts("* *");
puts("*Тема: вычисление траектории падения человека с 9 этажа на живом примере *");
puts("*выполнил Ракитин П.А. *");
puts("* *");
puts("**************************************************************************");
puts(" часть три ");
puts(" _ _ _ _ ");
puts("| /_ | | |_| | | |_ ");
puts("| |_| |_| |_| |_| _| ");
}
int main() { setlocale(LC_ALL, "RUS"); int n, m;//1 puts("введите два целых числа\n"); scanf_s("%d%d", &n, &m, 1); puts("введены числа\n"); printf("Сумма = %d\n", n + m); printf("Разность = %d\n", m - n); printf("произведение = %d\n", m n); printf("частное = %d\n", m / n); printf("остаток от деления = %d\n", m % n); int dym; //2 float result; puts("введите дюймы для получения сантиметров\n"); scanf_s("%d", &dym); result = D dym; printf("%d дюйм - это %1.f см\n", dym, result); int pdym; float presult; puts("Введите испанские дюймы для перевода в сантиметры\n"); scanf_s("%d", &pdym); presult = P pdym; printf("%d испанских дюйм - это %1.f см\n", pdym, presult); float a, b; //3 puts("введите два числа\n"); scanf_s("%f%f", &a, &b); puts("\t===========================\n"); puts("\t| a b | a + b | a - b | "); puts("\t===========================\n"); printf("\t| %1.f %1.f | %1.f + %1.f | %1.f - %1.f |\n", a, b, a, b, a, b); puts("\t===========================\n"); printf("\t| %.1f | %1.f | %1.f |\n", (a b), (a + b), (a - b)); puts("\t===========================\n");
}
int main() { setlocale(LC_ALL, "RUS"); char c; printf("Введите тип char:"); scanf("%c", &c); int i; printf("Введите тип int:"); scanf("%d", &i); float f; printf("Введите тип float:"); scanf("%f", &f); scanf(""); double d; printf("Введите тип даубле:"); scanf("%lf", &d); printf("char = %c\n int = %d\n float = %f\n dauble = %lf\n", c, i, f, d); printf(" ЗАДАНИЕ 2 \n"); //задание 2 float res; int a = 11; int b = 3; int x; float y; double z; x = a / b; y = a / b; z = a / b; res = (float)a / (double)b; printf("равно = %f\n", res); printf(" ЗАДАНИЕ 3 "); int n; printf("Введите трёхзначное число:"); scanf("%d", &n); printf("Первая цифра = %d\n", n / 100); printf("последняя цифра = %d\n", n % 10); printf("сумма цифр = %d\n", n / 100 + n % 10 + (n / 10) % 10); }
int main() { setlocale(LC_ALL, "RUS"); printf(" ЗАДАНИЕ 1 \n"); printf("Введите значение синуса\n"); float gr; scanf_s("%f", &gr); double rad; rad = sin(gr * M_PI / 180); printf("Градусы в радианах: %lf\n", rad); printf(" ЗАДАНИЕ 2 \n"); // y = ln3(b2) + ax // b = px*2 + sqrt(a) // a = sqrt(px) float y, x, a, b; puts("Введите параметр x\n"); scanf_s("%f", &x); a = printf("Вычисление переменной а = %f\n", sqrt(P x)); b = printf("Вычисление переменной b = %f\n", pow((P x), 2) + sqrt(a)); y = printf("Вычисление переменной y = %f\n", pow(log(pow(b, 2)), 3) + (a x)); printf(" ЗАДАНИЕ 3 \n"); int A, B, C; A = (int)a; B = (int)b; C = (int)y; printf("только одно из чисел А и В четное %d\n", A % 2 + B % 2 != 0); printf("каждое из чисел А,В,С кратно трем %d\n", A % 3 + B % 3 + C % 3 == 0);
int main() { setlocale(LC_ALL, "RUS"); printf(" задание 1 \n"); int yeas; printf("Введите год\n"); scanf_s("%d", &yeas); if (yeas % 4 != 0 || yeas % 100 != 0 && yeas % 400 == 0) { printf("Год не является високосным\n\n"); } else { printf("Год является високосным\n\n"); }
int x;
printf(" ЗАДАНИЕ 2 \n");
printf("Введите число\n");
scanf_s("%d", &x);
if (x <= 3)
{
printf("%f\n", (pow(x, 2) - 3 * x + 9));
}
else
{
printf("%f\n", 1 / (pow(x, 3) + 6));
}
int z;
printf(" Задание 3 \n");
printf("Введите количество копеек\n");
scanf_s("%d", &z);
if (z >= 1 && z < 1000000)
{
printf("%d рубля и %d копеек \n", z / 100, z % 100);
return (0);
}
else
{
printf("введено неверное число \n");
return (0);
}
}
void main(void) { setlocale(LC_ALL, "RUS"); printf(" ЗАДАНИЕ 1 \n"); char c; printf("Введите цифру или букву: "); scanf("%c", &c);
switch (c)
{
case '0':
puts("Введена цифра.\n");
break;
case '1':
puts("Введена цифра.\n");
break;
case '2':
puts("Введена цифра.\n");
break;
case '3':
puts("Введена цифра.\n");
break;
case '4':
puts("Введена цифра.\n");
break;
case '5':
puts("Введена цифра.\n");
break;
case '6':
puts("Введена цифра.\n");
break;
case '7':
puts("Введена цифра.\n");
break;
case '8':
puts("Введена цифра.\n");
break;
case '9':
puts("Введена цифра.\n");
break;
default:
printf("Введена буква\n");
}
printf(" ЗАДАНИЕ 2 \n");
float x, y; // Задание 2
char v;
printf("Введите пример:\n");
scanf("%f%c%f", &x, &v, &y);
switch (v)
{
case '-':
printf("=%f", x - y);
break;
case '+':
printf("=%f", x + y);
break;
case '/':
printf("=%f", x / y);
break;
case '*':
printf("=%f", x * y);
break;
default:
printf("Пример не распознан\n");
break;
}
printf(" задание 3 \n");
char b;
printf("Введите знак операции:\n");
scanf("%c", &b);
scanf("%c", &b);
switch (b)
{
case '+':
printf("плюс\n");
break;
case '-':
printf("минус\n");
break;
case '*':
printf("умножение\n");
break;
case '/':
printf("деление\n");
break;
case '%':
printf("остаток от деления\n");
break;
default:
printf("вы ввели что то не то\n");
break;
}
system("pause");
}
int main() { setlocale(LC_ALL, "RUS"); printf(" задание 1 \n"); int n, m; printf("введите первое число:"); scanf("%d%", &n); printf("введите второе число:"); scanf("%d", &m); int sum = 0; int i = 0; for (i = m; i >= n; i--) { sum += i;
}
printf("Резуальтат %d\n", sum);
printf(" задание 2 \n ");
puts("2^x - 2x^2 - 1");
float x, y, o;
printf("введите значение:");
scanf("%f", &y);
for (x = A; x < B + y; x += y)
{
o = pow(2, x) - 2 * pow(x, 2) - 1;
printf("| %.1f | %.1f |\n", x, y);
}
printf(" задание 3 \n");
float v = 0, p, w;
for (p = 1; p < 10; p++)
{
w = pow(v, p);
}
}
LABA 9
//zadanie 3 int triangle_draw(q, width, symbol) { int height = (width tan(q M_PI / 180.0));
for (int i = 1; i <= height; i++) {
for (int j = 1; j <= width; j++) {
if (j <= i) {
printf("%c ", symbol);
}
}
printf("\n");
}
return 0;
}
void main() { setlocale(LC_ALL, "RUS"); // zadanie 1
int row, col;
printf("\n");
for (row = 1; row <= ROW; ++row)
{
for (col = 1; col <= COL; col++)
{
printf("%5d", col * row);
}
printf("\n");
}
system("pause");
// Измените программу, так чтобы выводился только
// левый нижний треугольник таблицы Пифагора
int a, b;
printf("\n");
for (a = 1; a <= 5; a++)
{
for (b = 2; b <= a + 1; b++)
{
printf("%5d", a * 10);
if (a < 5 - b)
{
printf(" ");
}
}
printf("\n");
}
system("pause");
//zadanie 2 вариант 2) числа повторений последней цифры в числе;
while (1)
{
char r;
printf("Продолжить? Да - y, нет - n\n");
scanf("%c", &r);
if (r = getchar() == 'n')
break;
else;
{
int number, c = 0;
long long int num, num1;
printf("Введите число\n");
scanf("%lld", &num1);
number = num1;
while (number != 0) {
int digit = number % 10;
if (digit == 3)
{
c++;
}
number /= 10;
}
printf("Число повторения цифры 3 числа %lld: %d\n\n", num1, c);
}
}
//zadanie 3
int q, width;
char symbol;
printf("Введите угол a (в градусах, целое число): ");
scanf("%d", &q);
getchar();
printf("Введите сторону b (в условных единицах, целое число): ");
scanf("%d", &width);
getchar();
printf("Введите символ для заполнения: ");
scanf("%c", &symbol);
getchar();
triangle_draw(q, width, symbol);
return 0;
}
11 LABA
const float cOnst = 2.5;
void n1(void) { setlocale(LC_ALL, "RUS"); int i, k; float temp; float A[10]; float B[10]; int C[10]; for (k = 0; k < 10; k++) { printf("a[%d] =", k); scanf("%f", &temp); C[k] = k; B[k] = temp; A[k] = 2 * temp; } printf("| исходное значение | \t | индекс | | новое значение |\n"); for (i = 0; i < 10; i++) { printf("| %.0f |\t | %d | | %.0f | \n", B[i], C[i], A[i]); } }
void main(void) {
setlocale(LC_ALL, "RUS");
n1(); n2(); n3(); n4(); n5(); n6(); n7(); n8(); n9(); n10(); n11(); n12();
float A[10];
float temp;
float S = 0;
for (int i = 0; i < 10; i++)
{
printf("A[%d]=", i);
scanf("%f", &temp);
A[i] = temp;
S = S + A[i];
}
S = S / 10;
printf("Среднее арифметическое = %f\n", S);
// 2 ЗАДАНИЕ
//float A[100];
//float m = 0;
//float n = 0;
//int number1 = 0;
//int number2 = 0;
//for (int i = 0; i < 100; i++)
//{
//
// A[i] = XMIN + 1.f * ( XMAX - XMIN) * rand() / RAND_MAX;
// float numb = A[i];
// if (numb > 0)
// {
// m = m + kaka;
// number1 += 1;
// }
// else
// {
// n = n + numb;
// number2 += 1;
// }
//}
//printf(" Имя массива = A ;\n Накопленное значение отриц.элементов = %f ;\n Накопленное значение полож.элементов = %f ;\n Кол-во положительных элементов = %d ;\n Кол-во отрицательных элементов = %d ;\n Среднее значение положительных элементов = %f\n", n, m, number1, number2, m / 2);
system("pause");
}
laba 12
void main()
{
setlocale(LC_ALL, "rus");
//Задание 1
int *pi;
float *pf;
char *pc;
double *pd;
printf("%lu\n", sizeof(pi));
printf("%lu\n", sizeof(pf));
printf("%lu\n", sizeof(pc));
printf("%lu\n", sizeof(pd));
//Задание 2
float PI = 3.14159, *p1, *p2;
p1 = p2 = &PI;
printf("По адресу p1=%p хранится *p1=%g\n", p1, *p1);
printf("По адресу p2=%x хранится *p2=%g\n", p2, *p2);
//Задание 3
int* pa, x = 1;
printf("Значение не изменится, так как мы увеличили только указатель,\n а не переменную, на которую он ссылается.\n ");
printf("К тому же после увеличения указатель уже будет указывать не на переменную, а на мусор\n");
pa = &x;
pa++;
printf("Изначальное значение переменной \t| Значение переменной после увеличения pa\n");
printf("Переменная x: %d \t\t\t| %d\n", *(pa - 1), *pa);
printf("Переменная pa: %x \t\t\t| %x\n\n", pa - 1, pa);
//Задание 4
double pz = 5.5, * p5 = &pz;
float py = 4.5 , *p4 = &py;
char pp = 'g', *i = pp;
printf("p1 до выполнения: %x\tp2 до выполнения: %x\ti до выполнения: %x\n", p1, p2, i);
p1++;
p2--;
i++;
printf("p1 после выполнения: %x\tp2 после выполнения: %x\ti после выполнения: %x\n\n", p1, p2, i);
printf("В результате операций переменные (адреса) будут увеличиваться или уменьшаться на разное количество битов.\n");
printf("В зависимости от типов данных переменные изменятся на \n8 байт (p1 - тип double)\n4байта (p2 - тип float)n1 байт (i - тип char)");
//Задание 5
int z = 0x12345678;
int* prt;
unsigned char* a1, * a2, * a3, * a4, * a;
unsigned char* am[20];
prt = &z;
a = (unsigned char*)prt;
a1 = a + 3;
a2 = a + 2;
a3 = a + 1;
a4 = a;
printf("%.2x\n%.2x\n%.2x\n%.2x\n", *a1, *a2, *a3, *a4);
int g = 0x61015625;
prt = &g;
a = (unsigned char*)prt;
for (int i = sizeof(g); i > 0; i--)
{
am[i] = a + i - 1;
printf("%.2x\n", *am[i]);
}
a = prt;
printf("%x\n", *prt);
printf("%x\n", prt);
system("pause");
}
typedef double (*TFunc)(double); double Y(double x);
double V(double x); void plot(double x0, double x1, TFunc f); void tabul(double xn, double xk, double h, double (*function)(double), char sn, char sk);
int main() { setlocale(LC_ALL, "rus"); puts("\n\t\t"); puts("\n\t\t \t"); puts("\n\t\t \t"); puts("\n\t\t Выполнил: Ракитин Павел Алексеевич \t"); puts("\n\t\t Группа: бИСТ - 234 \t"); puts("\n\t\t Программа табулирования функции \t"); puts("\n\t\t \t"); puts("\n\t\t \t"); puts("\n\t\n\t"); puts(" Y(x) = exp(((pow(sin(x), 2)) / (pow(sqrt(0.2 pow(x, 8)), 3))) log(5 x))\n"); puts("\t(1 + x) / (pow(sqrt(1 + pow(x, 2)), 3)), если x <= 0\t"); puts("V(x) =\t2 exp(-2 * x), если х > 0 и x<1\t"); puts("\tpow(fabs(2 - x), 1 / 3), если x >= 1\t"); int argum; double znachx, minx, maxx, shag; char skobka1, skobka2;
while (1) {
puts("ОДЗ: Y(x) - функция может принимать только отрицательные значения\nV(x) - функция может принимать только отрицательные значения\nПример ввода: интервалы - (x1 ; x2), [x1 ; x2], поуинтервалы - (x1 ; x2], [x1 ; x2)\n");
printf("введите номер требуемого действия из списка:\n");
printf("1. Значение функции Y(x) при заданном x или значение функции V(x) при заданном x\n");
printf("2. Значение функции Y(x) при заданном интервале/полуинтервале/отрезке с шагом или значение функции V(x) при заданном интервале/полуинтервале/отрезке с шагом\n");
printf("3. График функции Y(x) на промежутке или График функции V(x) на промежутке\n");
printf("4. Завершение работы\n");
printf(":");
scanf("%i", &argum);
getchar();
switch (argum) {
case 1:
printf("Если вы хотите вычислить значения функции Y(x) - 1.\nЕсли вы хотите вычислить значения функции V(x) - 2.\n>");
scanf(" %d", &argum);
if (argum == 1) {
printf("Значение x:");
scanf("%lf", &znachx);
while (znachx >= 0) {
printf("Ошибка.Попробуйте снова\n");
printf("Значение x:");
scanf("%lf", &znachx);
}
printf("Y(%lf)=%lf\n", znachx, Y(znachx));
}
else if (argum == 2) {
printf("Значение x:");
scanf("%lf", &znachx);
while (znachx >= 0) {
printf("Ошибка.Попробуйте снова\n");
printf("Значение x:");
scanf("%lf", &znachx);
}
printf("V(%lf)=%lf\n", znachx, V(znachx));
}
while (argum != 1 && argum != 2) {
printf("Если вы хотите вычислить значения функции Y(x) - 1.\nЕсли вы хотите вычислить значения функции V(x) - 2.\n>");
scanf(" %d", &argum);
if (argum == 1) {
printf("Значение x:");
scanf("%lf", &znachx);
while (znachx >= 0) {
printf("Ошибка.Попробуйте снова\n");
printf("Значение x:");
scanf("%lf", &znachx);
}
printf("Y(%lf)=%lf\n", znachx, Y(znachx));
}
else if (argum == 2) {
printf("Значение x:");
scanf("%lf", &znachx);
printf("V(%lf)=%lf\n", znachx, V(znachx));
}
}
break;
case 2:
printf("Если вы хотите вычислить значения функции на итервале или полуинтервале Y(x) - 1.\nЕсли вы хотите вычислить значения функции на итервале или полуинтервале V(x) - 2.\n>");
scanf(" %d", &argum);
if (argum == 1) {
printf("Введите промежуток в формате [/(x1;x2)/] :");
scanf(" %c%lf ; %lf%c", &skobka1, &minx, &maxx, &skobka2);
printf("Введите шаг: ");
scanf("%lf", &shag);
while (minx >= 0 || maxx >= 0 || minx >= 0 && maxx >= 0) {
printf("Ошибка.Попробуйте снова\n");
printf("Введите промежуток в формате [/(x1;x2)/] :");
scanf(" %c%lf ; %lf%c", &skobka1, &minx, &maxx, &skobka2);
printf("Введите шаг: ");
scanf("%lf", &shag);
}
printf("Таблица значений Y(x):\n");
tabul(minx, maxx, shag, Y, skobka1, skobka2);
}
else if (argum == 2) {
printf("Введите промежуток в формате [/(x1;x2)/] :");
scanf(" %c%lf ; %lf%c", &skobka1, &minx, &maxx, &skobka2);
printf("Введите шаг: ");
scanf("%lf", &shag);
while (minx >= 0 || maxx >= 0 || minx >= 0 && maxx >= 0) {
printf("Ошибка.Попробуйте снова\n");
printf("Введите промежуток в формате [/(x1;x2)/] :");
scanf(" %c%lf ; %lf%c", &skobka1, &minx, &maxx, &skobka2);
printf("Введите шаг: ");
scanf("%lf", &shag);
}
printf("Таблица значений V(x):\n");
tabul(minx, maxx, shag, V, skobka1, skobka2);
}
while (argum != 1 && argum != 2) {
printf("Если вы хотите вычислить значения функции на итервале или полуинтервале Y(x) - 1.\nЕсли вы хотите вычислить значения функции на итервале или полуинтервале V(x) - 2.\n>");
scanf(" %d", &argum);
if (argum == 1) {
printf("Введите промежуток в формате [/(x1;x2)/] :");
scanf(" %c%lf ; %lf%c", &skobka1, &minx, &maxx, &skobka2);
printf("Введите шаг: ");
scanf("%lf", &shag);
while (minx >= 0 || maxx >= 0 || minx >= 0 && maxx >= 0) {
printf("Ошибка.Попробуйте снова\n");
printf("Введите промежуток в формате [/(x1;x2)/] :");
scanf(" %c%lf ; %lf%c", &skobka1, &minx, &maxx, &skobka2);
printf("Введите шаг: ");
scanf("%lf", &shag);
}
printf("Таблица значений Y(x):\n");
tabul(minx, maxx, shag, Y, skobka1, skobka2);
}
else if (argum == 2) {
printf("Введите промежуток в формате [/(x1;x2)/] :");
scanf(" %c%lf ; %lf%c", &skobka1, &minx, &maxx, &skobka2);
printf("Введите шаг: ");
scanf("%lf", &shag);
printf("Таблица значений V(x):\n");
tabul(minx, maxx, shag, V, skobka1, skobka2);
}
}
break;
case 3:
printf("Если вы хотите построить график фукции Y(x)(функция может принимать только отрицательные значения) введите - 1\nЕсли вы хотите построить график фукции V(x)(функция может принимать только отрицательные значения) введите - 2\n>");
scanf(" %d", &argum);
if (argum == 1) {
printf("Введите промежуток в формате 'x1 x2' ");
scanf("%lf %lf", &minx, &maxx);
while (minx >= 0 || maxx >= 0 || minx >= 0 && maxx >= 0) {
printf("Ошибка.Попробуйте снова\n");
printf("Введите промежуток в формате 'x1 x2' ");
scanf("%lf %lf", &minx, &maxx);
}
plot(minx, maxx, Y);
}
else if (argum == 2) {
printf("Введите промежуток в формате 'x1 x2' ");
scanf("%lf %lf", &minx, &maxx);
while (minx >= 0 || maxx >= 0 || minx >= 0 && maxx >= 0) {
printf("Ошибка.Попробуйте снова\n");
printf("Введите промежуток в формате 'x1 x2' ");
scanf("%lf %lf", &minx, &maxx);
}
plot(minx, maxx, V);
}
break;
case 4:
return 0;
default:
printf("!Введено отсутствующее значение!\n");
break;
}
}
} double Y(double x) { double y; y = exp(((pow(sin(x), 2)) / (pow(sqrt(0.2 pow(x, 8)), 3))) log(5 * x)); return y; }
double V(double x) { if (x <= 0) { double y; y = (1 + x) / (pow(sqrt(1 + pow(x, 2)), 3)); return y; } if (x > 0 && x < 1) { double u; u = 2 exp(-2 x); return u; } if (x >= 1) { double p; p = pow(fabs(2 - x), 1 / 3); return p; } } void plot(double x0, double x1, TFunc f) { char screen[SCREENW][SCREENH]; double x, y[SCREENW]; double ymin = 0, ymax = 0; double hx, hy; int i, j; int xz, yz;
hx = (x1 - x0) / (SCREENW - 1);
for (i = 0, x = x0; i < SCREENW; ++i, x += hx) {
y[i] = f(x);
if (y[i] < ymin) ymin = y[i];
if (y[i] > ymax) ymax = y[i];
}
hy = (ymax - ymin) / (SCREENH - 1);
yz = (int)floor(ymax / hy + 0.5);
xz = (int)floor((0. - x0) / hx + 0.5);
for (j = 0; j < SCREENH; ++j)
for (i = 0; i < SCREENW; ++i) {
if (j == yz && i == xz) screen[i][j] = '+';
else if (j == yz) screen[i][j] = '-';
else if (i == xz) screen[i][j] = '|';
else screen[i][j] = ' ';
}
for (i = 0; i < SCREENW; ++i) {
j = (int)floor((ymax - y[i]) / hy + 0.5);
screen[i][j] = '*';
}
for (j = 0; j < SCREENH; ++j) {
for (i = 0; i < SCREENW; ++i) putchar(screen[i][j]);
putchar('\n');
}
} void tabul(double xn, double xk, double h, double (*function)(double), char sn, char sk) { if (h == 0) { // Проверка на нулевой шаг printf("Шаг не может быть равен нулю\n"); return; } if (sn == '[' && sk == ']') { for (double x = xn; x <= xk; x += h) { printf("%lf\t|\t%lf\n", x, function(x)); } } if (sn == '[' && sk == ')') { for (double x = xn; x < xk; x += h) { printf("%lf\t|\t%lf\n", x, function(x)); } } if (sn == '(' && sk == ']') { for (double x = xn + h; x <= xk; x += h) { printf("%lf\t|\t%lf\n", x, function(x)); } } if (sn == '(' && sk == ')') { for (double x = xn + h; x < xk; x += h) { printf("%lf\t|\t%lf\n", x, function(x)); } } }
include
include
include
include
include
using namespace std;
double per(double x, double xx) { return x / xx; }
double vtor(double x1) { return sqrt(x1); }
// Функция для вывода положительных чисел на экран в обратном порядке void printPositiveReverse(double* numbers, int size) { cout << "Положительные числа в массиве в обратном порядке:" << endl; for (int i = size - 1; i >= 0; --i) { if (numbers[i] > 0) { cout << numbers[i] << endl; } } }
// Функция для сортировки массива методом простого обмена (пузырьковой сортировкой) void bubbleSort(double* numbers, int size) { for (int i = 0; i < size - 1; ++i) { for (int j = 0; j < size - i - 1; ++j) { if (numbers[j] > numbers[j + 1]) { // Меняем местами элементы, если предыдущий больше следующего double temp = numbers[j]; numbers[j] = numbers[j + 1]; numbers[j + 1] = temp; } } } }
int main() { setlocale(LC_ALL, "rus"); srand(time(0)); // Инициализация генератора случайных чисел
}