Знатоки С++ хелп!
562
31
Дали на заочке задания. Препод молодой, адекватный. Сказал, что мучать не будет и чтобы тупо просто все сделали контрольные задания.
Я в программировании к сожалению ничего не понимаюкак и во всем остальном.
Пришел сюда в надежде, что какому-нибудь кодеру нечего делать и он мне поможет.
Спойлер: "Фото заданий"
Спойлер: "Задание 1.1: 5 задание"
Спойлер: "Задание 1.2: 4 задание"
Спойлер: "Задание 1.3: 14 задание"
Спойлер: "Задание 1.4: 9 задание"
Спойлер: "Задание 1.5: 14 задание"Составить блок-схему для алгоритма и программу для вычисления суммы бесконечного сходящегося ряда. Суммирование прекратить при появлении в сумме слагаемых, имеющих абсолютную величину, меньшую заданной погрешности d. Значение d задается при помощи оператора ввода.
Спойлер: "Задание 1.6: 5 задание"
Огромное спасибо за любую помощь!
Siller__ сказал(а):↑@Eileen the Crow, закинь тему в раздел по проге
Нажмите, чтобы раскрыть...у меня права онли на тех, сейчас таверновцы скинут
KydZe сказал(а):↑ахахха, заочник, иди в контору которая делает такие задания и КУПИ, хотя и не удивлюсь если сейчас кто-то сделает ему нахаляву
Нажмите, чтобы раскрыть...Понимаю твой негатив! Если бы у меня не было выбора - обязательно так сделал бы. Но увы, даже если не помогут тут, то с такими задачами вполне помогут на тематическом форуме, а если нету и там, то вполне скатывается у одногруппников или договаривается с преподом.
Show Me Bukkake сказал(а):↑А что в этом такого? Ну сделают и сделают.
Помощнику - это возможность вспомнить основы и размять мозги, ТСу - просто радость
Нажмите, чтобы раскрыть...Слушай, вот первое задание, например, получилось что-то вроде этого:
Спойлер:#include
using namespace std;double a,b,c,alfa,beta,gamma;int main(){cin>>a>>b>>c;double p=(a+b+c)/2;double S=sqrt(p*(p-a)*(p-b)*(p-c));alfa=asin(2*S/(a*b))*180/M_PI;beta=asin(2*S/(b*c))*180/M_PI;gamma=asin(2*S/(c*b))*180/M_PI;cout<<"alfa="<#include
Plus сказал(а):↑Понимаю твой негатив! Если бы у меня не было выбора - обязательно так сделал бы. Но увы, даже если не помогут тут, то с такими задачами вполне помогут на тематическом форуме, а если нету и там, то вполне скатывается у одногруппников или договаривается с преподом.
Слушай, вот первое задание, например, получилось что-то вроде этого:
Спойлер:#include
using namespace std;double a,b,c,alfa,beta,gamma;int main(){cin>>a>>b>>c;double p=(a+b+c)/2;double S=sqrt(p*(p-a)*(p-b)*(p-c));alfa=asin(2*S/(a*b))*180/M_PI;beta=asin(2*S/(b*c))*180/M_PI;gamma=asin(2*S/(c*b))*180/M_PI;cout<<"alfa="<#include Нажмите, чтобы раскрыть... Потому что ты пытаешься использовать зарезервированное имя. Поменяй "gamma" на "x" ( или любую другую ).
Show Me Bukkake сказал(а):↑Потому что ты пытаешься использовать зарезервированное имя. Поменяй "gamma" на "x" ( или любую другую ).
Нажмите, чтобы раскрыть...Сейчас попробую!
Смотри, второе задание вроде получилось:
Спойлер:#include
using namespace std;void func(double &A, double &B, double &C, double &D){if (A < B && B < C && C < D)A = B = C = D;elseif (A > B && B > C && C > D)return;else{A = A * A;B = B * B;C = C * C;D = D * D;}return;}int main(){double A = 2, B = 4, C = 6, D = 8;//без измененияfunc(D, C, B, A);cout << A << " " << B << " " << C << " " << D << endl;//присваивает максимальномуfunc(A, B, C, D);cout << A << " " << B << " " << C << " " << D << endl;C = 2;//возводит в квадратfunc(A, B, C, D);cout << A << " " << B << " " << C << " " << D;return 0;}
Plus сказал(а):↑Сейчас попробую!
Смотри, второе задание вроде получилось:
Спойлер:#include
using namespace std;void func(double &A, double &B, double &C, double &D){if (A < B && B < C && C < D)A = B = C = D;elseif (A > B && B > C && C > D)return;else{A = A * A;B = B * B;C = C * C;D = D * D;}return;}int main(){double A = 2, B = 4, C = 6, D = 8;//без измененияfunc(D, C, B, A);cout << A << " " << B << " " << C << " " << D << endl;//присваивает максимальномуfunc(A, B, C, D);cout << A << " " << B << " " << C << " " << D << endl;C = 2;//возводит в квадратfunc(A, B, C, D);cout << A << " " << B << " " << C << " " << D;return 0;} Нажмите, чтобы раскрыть...Ну, если отрабатывает верно - значит работает с:
Первое задание:
Спойлер:#include#includeint main(){const float _PI = 3.14159f;float a = 0.0f, b = 0.0f, c = 0.0f; //sidesfloat A = 0.0f, B = 0.0f, C = 0.0f; //angles (rad.)float p = 0.0f; //half P./* input */while(a <= 0.0f){std::cout << "enter a: ";std::cin >> a;}while(b <= 0.0f){std::cout << "enter b: ";std::cin >> b;}while(c <= 0.0f){std::cout << "enter c: ";std::cin >> c;if(c >= (a + b)) //not possible{c = 0.0f;}}/* calc half P. */p = 0.5 * (a + b + c);/* calc angles (in rad.) */A = 2.0f * atanf ( sqrtf( (p-b)*(p-c) / (p*(p-a)) ) );B = 2.0f * atanf ( sqrtf( (p-a)*(p-c) / (p*(p-b)) ) );C = 2.0f * atanf ( sqrtf( (p-a)*(p-b) / (p*(p-c)) ) );/* output results */std::cout << "A = " << A << " rad. (" << (A * 180 / _PI) << " deg.)" << std::endl;std::cout << "B = " << B << " rad. (" << (B * 180 / _PI) << " deg.)" << std::endl;std::cout << "C = " << C << " rad. (" << (C * 180 / _PI) << " deg.)";return 0;}Кейс деления на ноль не проверяется, т.к. изначально возможно ввести только реальный треугольник, такой варик отработает быстрее
остальное по аналогии)
Show Me Bukkake сказал(а):↑А C++ - это обязательное требование? Если нет, то за часик накидаю на Яве
Нажмите, чтобы раскрыть...Cказали можно на любом языке
Berglol сказал(а):↑Первое задание:
Спойлер:#include#includeint main(){const float _PI = 3.14159f;float a = 0.0f, b = 0.0f, c = 0.0f; //sidesfloat A = 0.0f, B = 0.0f, C = 0.0f; //angles (rad.)float p = 0.0f; //half P./* input */while(a <= 0.0f){std::cout << "enter a: ";std::cin >> a;}while(b <= 0.0f){std::cout << "enter b: ";std::cin >> b;}while(c <= 0.0f){std::cout << "enter c: ";std::cin >> c;if(c >= (a + b)) //not possible{c = 0.0f;}}/* calc half P. */p = 0.5 * (a + b + c);/* calc angles (in rad.) */A = 2.0f * atanf ( sqrtf( (p-b)*(p-c) / (p*(p-a)) ) );B = 2.0f * atanf ( sqrtf( (p-a)*(p-c) / (p*(p-b)) ) );C = 2.0f * atanf ( sqrtf( (p-a)*(p-b) / (p*(p-c)) ) );/* output results */std::cout << "A = " << A << " rad. (" << (A * 180 / _PI) << " deg.)" << std::endl;std::cout << "B = " << B << " rad. (" << (B * 180 / _PI) << " deg.)" << std::endl;std::cout << "C = " << C << " rad. (" << (C * 180 / _PI) << " deg.)";return 0;}Кейс деления на ноль не проверяется, т.к. изначально возможно ввести только реальный треугольник, такой варик отработает быстрее
остальное по аналогии)
Нажмите, чтобы раскрыть...Огромное спасибо! Вроде как работает(хотя я и не понимаю) XD
Plus сказал(а):↑Нажмите, чтобы раскрыть...Огромное спасибо! Вроде как работает(хотя я и не понимаю) XD
Нажмите, чтобы раскрыть...я бы так реализовал ввод чисел
int a;
do{
cout << "enter a" << endl;
cin >> a;
} while (a <= 0);
Интерфейс более понятен для пользователя и не нужно делать лишнюю операцию присваивания в начале. Ну тут флоат нужен конечно а не инт но разберёшься думаю.
Plus сказал(а):↑
Спойлер: "Задание 1.6: 5 задание"
Нажмите, чтобы раскрыть...
Про динамический массив в задании ничего не было. А еще я хз, на каком уровне вы находитесь, но если проходили функции - лучше переделай под них)
Спойлер:#include#includeint main(){const unsigned int N = 3;const unsigned int M = 3;int A[N][M];/* input */for(unsigned int n = 0; n < N; n++){for(unsigned int m = 0; m < M; m++){std::cout << "enter &" << n << "; " << m << "]: ";std::cin >> A[n][m];}}/* show */for(unsigned int n = 0; n < N; n++){for(unsigned int m = 0; m < M; m++){std::cout << A[n][m] << "\t";}std::cout << std::endl;}/* process */for(unsigned int n = 0; n < N; n++){for(unsigned int m = 0; m < M; m++){if(A[n][m] < 0){A[n][m] = 0;}else if(A[n][m] > 0){A[n][m] = 1;}}std::cout << std::endl;}/* show */for(unsigned int n = 0; n < N; n++){for(unsigned int m = 0; m < M; m++){std::cout << A[n][m] << "\t";}std::cout << std::endl;}return 0;}
Berglol сказал(а):↑
А еще я хз, на каком уровне вы находитесь, но если проходили функции - лучше переделай под них)
Нажмите, чтобы раскрыть...Ну, представьте, что вы выбили ломом доску в полу и еще прокапали там 3 метра в глубину. Вот на таком уровне я нахожусь XD
Преподу самому пофиг, так что думаю проблем не будет) Огромное спасибо!!!
Plus сказал(а):↑Уже сделали 3 задания за что огромное спасибо) Если что - пишу тебе
Нажмите, чтобы раскрыть...Зачем тебе это надо?
Moon-chan сказал(а):↑1.4: 9 на хаскелле
main = do { d <- getLine; putStrLn $ show $ sum $ zipWith (*) (cycle [1, -1]) $ takeWhile (> (read d)) &1 / x | x <- [1..]] }Как и ожидается, чем меньше d, тем ближе вывод к натуральному логарифму 2
Нажмите, чтобы раскрыть...Зачем ты выпендрился?) еще и на этом академическом говнишке
Тема закрыта
-
ЗаголовокОтветов ПросмотровПоследнее сообщение
-
Eyeshield 20 Apr 2024 в 03:23Сообщений: 1 20 Apr 2024 в 03:23
Сообщений:1
Просмотров:1
-
Сообщений:1
Просмотров:1
-
Сообщений:1
Просмотров:2
-
Атомный Белый 20 Apr 2024 в 02:28Сообщений: 1 20 Apr 2024 в 02:28
Сообщений:1
Просмотров:2
-
Сообщений:4
Просмотров:7