Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
! ПОСЛЕДНЯЯ ВЕРСИЯ задачи по инфе. улучшеные и...doc
Скачиваний:
13
Добавлен:
01.05.2025
Размер:
118.78 Кб
Скачать

Void _tmain(int argc, _tchar* argv[])

{

printf ("Frolov Oleg, zada4a 14. To4ka perese4eniya pryamix");

cin.get();

system ("cls");

double x, y, a1,b1,c1,a2,b2,c2;

// вводим все условия функций. ну а, b, c.

printf ("a1=");

scanf ("%lg",&a1);

printf ("b1=");

scanf ("%lg",&b1);

printf ("c1=");

scanf ("%lg",&c1);

printf ("a2=");

scanf ("%lg",&a2);

printf ("b2=");

scanf ("%lg",&b2);

printf ("c2=");

scanf ("%lg",&c2);

x = (c1/b1 - c2/b2) / ( a2/b2 - a1/b1); // х существует, если функци равны. приравниваем у и выражаем х.

y = -1*(((a1*(c2/b2-c1/b1)/(a1/b1-a2/b2))+c1)/b1) ; // у находим подставив икс.

if (a1==a2, b1==b2, c1==c2)

{

printf(" pryamie sovpadajut");

}

else

{

if (a1/b1 == a2/b2)

{

printf ("error");

}

else

{

printf ("x=%lg \n y=%lg",x,y );

}

}

cin.get();

cin.get();

}

// 15.cpp: определяет точку входа для консольного приложения.

//

#include "stdafx.h"

#include "iostream"

using namespace std;

int _tmain(int argc, _TCHAR* argv[])

{

printf ("Oleg Frolov, Zada4a 15. S treygolnika po koordinatam vershin");

cin.get();

system ("cls");

double x1, y1, x2, y2, x3, y3, s; // вводим все координаты точек

printf("x1=");

scanf("%lg", &x1);

printf("y1=");

scanf("%lg", &y1);

printf("x2=");

scanf("%lg", &x2);

printf("y2=");

scanf("%lg", &y2);

printf("x3=");

scanf("%lg", &x3);

printf("y3=");

scanf("%lg", &y3);

s = ((x1-x3)*(y2-y3)-(x2-x3)*(y1-y3))/2; // собственно формула для расчета. она особо никак не выводиться..придется запомнить. фабс - так как берем по модулю.

// площадь то не может быть отрицатель ;)

if (s=0)

{

printf ("treygl'nika net");

}

else;

printf ("\n s=%lg",s);

cin.get();

cin.get();

}

// 16.cpp: определяет точку входа для консольного приложения.

//

#include "stdafx.h"

#include "iostream"

using namespace std;

Void _tmain(int argc, _tchar* argv[])

{

printf ("Frolov Oleg, Zada4a 16. Opredelitel' treygol'noj matrici");

cin.get();

system ("cls");

double opred, A[100][100];//d1,d2,d3,d4, opred1,opred2; // opred - определитель

int i,j,n;//k;

printf ("n="); // ну кто самый умный и догадается? нет идей? а это количество.. Нет не элементов последовательности XD Всего лишь сколько на сколько матрица))

scanf ("%d", &n);

// цикл ввода

for (i=0; i<n; i++)

{

for (j=0; j<n; j++)

{

printf( "A[%d][%d]=", i,j);

scanf ("%lg", &A[i][j]);

}

}

opred =1; // надо присвоить для расчета какое-то число, т.к. перемножаем, то берем 1.

// цикл для расчета.

for (i=0; i<n; i++)

{

opred = opred * A[i][i];

}

printf ( "\n opred = %lg", opred);

cin.get();

cin.get();

}

// примечание: мне откровенно лень расписывать и вводить условия на определения треугольности матрицы. 3 час ночи и мне уже скучно.

// У вас итак есть дружелюбный интерфейс. Радуйтесь и вводить грамматно.

// PS. согласно условию и требованиям задачи, я работаю уже с треугольной матрицей. Всё. (..ах да! для тех кто не знает...треугольная матрица где половина матрицы (верхняя/нижняя)

// заполнена нулями. в зависимости от этого различают верхнюю и нижнюю треугольные матрицы. Всё.

// 17.cpp: определяет точку входа для консольного приложения.

//

#include "stdafx.h"

#include "iostream" // это вводим библиотеку, чтобы програма закрывалась при нажатие ENTER

using namespace std;

void _tmain(int argc, _TCHAR* argv[]) // сменил int на void. просто нам наш так советовал.

{

printf ("Frolov Oleg, Zada4a 17. Vectora.");// эти три строчки - просто понты мои личные. удобно просто. для программы они ничего не значат.

cin.get();

system ("cls");

double x1, x2, x3, y1, y2, y3, d1, d2, c; // задаем переменные. д1 и д2 - это длины отрезков которые мы посчитаем. с1 - скалярное произведение, которое тоже мы считаем.

// примечание: х - это первый вектор, соответственно номер - это ось координат ( я бы не так их записывал, а как обычно x, y, z, а вектор числом 1 или 2), но мне лень переписывать всё.

// просто для меня было бы привычнее записыват, как мы на бумаге пишем.

printf("x1="); // пишем что на экране отображается.

scanf("%lg", &x1);// пишем что за переменную пользоватеь вводит с клавиатуры. (примечание. мы пишем последовательно принт и сканф, так как так удобнее.

//на экране будет последовательно появляться)

// PS. Кошмар!! жутко неудобный интерфейс. не удобно вводить координаты векторов. но можно и так. просто криво идет. вначале воодишь координут х первого

// вектора, а потом х2 второго вектора..и так прыгать..короче не удачный выбор на мой взгляд переменных))) Но в целом никакой ошибки тут нет

printf("y1=");

scanf("%lg", &y1);

printf("x2=");

scanf("%lg", &x2);

printf("y2=");

scanf("%lg", &y2);

printf("x3=");

scanf("%lg", &x3);

printf("y3=");

scanf("%lg", &y3); // ввели все координаты

d1=fabs(sqrt(x1*x1+x2*x2+x3*x3)); // длина 1-го вектора. считается как сумма квадратов координат

d2=fabs(sqrt(y1*y1+y2*y2+y3*y3));// 2-ой вектор

c=x1*y1+x2*y2+x3*y3;// скалярное произведение двух векторов. считается по формуле сумма произведения соответсвующих координат

printf("d1=%lg\nd2=%lg\nc=%lg", d1, d2, c); // выводим на экран результат

// примечание. \n это с новой строчки.

cin.get();// нужны чтобы прога не закрылась сама.

cin.get();

// примечание. я использую void, поэтому return мне не нужен уже.

}

// 18.cpp: определяет точку входа для консольного приложения.

//

#include "stdafx.h"

#include "iostream"

using namespace std;