Plus

Пользователь

Регистрация: 22.05.2013

Сообщения: 2823

Рейтинг: 1469

Plus

Регистрация: 22.05.2013

Сообщения: 2823

Рейтинг: 1469

Дали на заочке задания. Препод молодой, адекватный. Сказал, что мучать не будет и чтобы тупо просто все сделали контрольные задания.

Я в программировании к сожалению ничего не понимаюкак и во всем остальном. 

 

Пришел сюда в надежде, что какому-нибудь кодеру нечего делать и он мне поможет. 

Спойлер: "Фото заданий"

 

Спойлер: "Задание 1.1: 5 задание"

 

Спойлер: "Задание 1.2: 4 задание"

 

 

Спойлер: "Задание 1.3: 14 задание"

 

Спойлер: "Задание 1.4: 9 задание"

 

Спойлер: "Задание 1.5: 14 задание"

Составить блок-схему для алгоритма и программу для вычисления суммы бесконечного сходящегося ряда. Суммирование прекратить при появлении в сумме слагаемых, имеющих абсолютную величину, меньшую заданной погрешности d. Значение d задается при помощи оператора ввода.

 

Спойлер: "Задание 1.6: 5 задание"

 

 

 

Огромное спасибо за любую помощь! pray.gif

Olivia Wonk

Пользователь

Регистрация: 13.12.2013

Сообщения: 11575

Рейтинг: 4492

Olivia Wonk

Регистрация: 13.12.2013

Сообщения: 11575

Рейтинг: 4492

img

А C++ - это обязательное требование? Если нет, то за часик накидаю на Яве 

Siller__

Пользователь

Регистрация: 31.10.2014

Сообщения: 1481

Рейтинг: 470

Siller__

Регистрация: 31.10.2014

Сообщения: 1481

Рейтинг: 470

@Eileen the Crow, закинь тему в раздел по прогеpepeshapka.png

KydZe

Пользователь

Регистрация: 24.06.2015

Сообщения: 4728

Рейтинг: 3751

KydZe

Регистрация: 24.06.2015

Сообщения: 4728

Рейтинг: 3751

ахахха, заочник, иди в контору которая делает такие задания и КУПИ, хотя и не удивлюсь если сейчас кто-то сделает ему нахаляву

Plus

Пользователь

Регистрация: 22.05.2013

Сообщения: 2823

Рейтинг: 1469

Plus

Регистрация: 22.05.2013

Сообщения: 2823

Рейтинг: 1469

Show Me Bukkake сказал(а):

А C++ - это обязательное требование? Если нет, то за часик накидаю на Яве 

Нажмите, чтобы раскрыть...

Сейчас уточню. 

 

Тяжелое конечно дело, пытался найти исходники и по ним сделать, но все четно. Сложная отрасль >< На вас надежда, хы

-Seydoux

Пользователь

Регистрация: 11.10.2014

Сообщения: 6572

Рейтинг: 8620

-Seydoux

Регистрация: 11.10.2014

Сообщения: 6572

Рейтинг: 8620

img
Siller__ сказал(а):

@Eileen the Crow, закинь тему в раздел по прогеpepeshapka.png

Нажмите, чтобы раскрыть...

у меня права онли на тех, сейчас таверновцы скинут

Olivia Wonk

Пользователь

Регистрация: 13.12.2013

Сообщения: 11575

Рейтинг: 4492

Olivia Wonk

Регистрация: 13.12.2013

Сообщения: 11575

Рейтинг: 4492

img
KydZe сказал(а):

ахахха, заочник, иди в контору которая делает такие задания и КУПИ, хотя и не удивлюсь если сейчас кто-то сделает ему нахаляву

Нажмите, чтобы раскрыть...

А что в этом такого? Ну сделают и сделают.

Помощнику - это возможность вспомнить основы и размять мозги, ТСу - просто радость ZeroTwoThinking.png

Plus

Пользователь

Регистрация: 22.05.2013

Сообщения: 2823

Рейтинг: 1469

Plus

Регистрация: 22.05.2013

Сообщения: 2823

Рейтинг: 1469

KydZe сказал(а):

ахахха, заочник, иди в контору которая делает такие задания и КУПИ, хотя и не удивлюсь если сейчас кто-то сделает ему нахаляву

Нажмите, чтобы раскрыть...

Понимаю твой негатив! Если бы у меня не было выбора - обязательно так сделал бы. Но увы, даже если не помогут тут, то с такими задачами вполне помогут на тематическом форуме, а если нету и там, то вполне скатывается у одногруппников или договаривается с преподом. 

Show Me Bukkake сказал(а):

А что в этом такого? Ну сделают и сделают.

Помощнику - это возможность вспомнить основы и размять мозги, ТСу - просто радость ZeroTwoThinking.png

Нажмите, чтобы раскрыть...

Слушай, вот первое задание, например, получилось что-то вроде этого: 

Спойлер:

#include

#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="<

Olivia Wonk

Пользователь

Регистрация: 13.12.2013

Сообщения: 11575

Рейтинг: 4492

Olivia Wonk

Регистрация: 13.12.2013

Сообщения: 11575

Рейтинг: 4492

img
Plus сказал(а):

Понимаю твой негатив! Если бы у меня не было выбора - обязательно так сделал бы. Но увы, даже если не помогут тут, то с такими задачами вполне помогут на тематическом форуме, а если нету и там, то вполне скатывается у одногруппников или договаривается с преподом. 

 

Слушай, вот первое задание, например, получилось что-то вроде этого: 

Спойлер:

#include

#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="<Нажмите, чтобы раскрыть...

Потому что ты пытаешься использовать зарезервированное имя. Поменяй "gamma" на "x" ( или любую другую ).

Plus

Пользователь

Регистрация: 22.05.2013

Сообщения: 2823

Рейтинг: 1469

Plus

Регистрация: 22.05.2013

Сообщения: 2823

Рейтинг: 1469

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;

else

if (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;

}

Olivia Wonk

Пользователь

Регистрация: 13.12.2013

Сообщения: 11575

Рейтинг: 4492

Olivia Wonk

Регистрация: 13.12.2013

Сообщения: 11575

Рейтинг: 4492

img
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;

else

if (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;

}

Нажмите, чтобы раскрыть...

Ну, если отрабатывает верно - значит работает с:

Berglol

Пользователь

Регистрация: 20.09.2013

Сообщения: 934

Рейтинг: 1736

Berglol

Регистрация: 20.09.2013

Сообщения: 934

Рейтинг: 1736

Первое задание:

Спойлер:
#include
#include
 
int main()
{        
    const float _PI = 3.14159f;
    float a = 0.0f, b = 0.0f, c = 0.0f; //sides
    float 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;
}

Кейс деления на ноль не проверяется, т.к. изначально возможно ввести только реальный треугольник, такой варик отработает быстрее

остальное по аналогии)

Plus

Пользователь

Регистрация: 22.05.2013

Сообщения: 2823

Рейтинг: 1469

Plus

Регистрация: 22.05.2013

Сообщения: 2823

Рейтинг: 1469

Show Me Bukkake сказал(а):

А C++ - это обязательное требование? Если нет, то за часик накидаю на Яве 

Нажмите, чтобы раскрыть...

Cказали можно на любом языке nyametal.gif

Berglol сказал(а):

Первое задание:

Спойлер:
#include
#include
 
int main()
{        
    const float _PI = 3.14159f;
    float a = 0.0f, b = 0.0f, c = 0.0f; //sides
    float 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

Emily Fields

Пользователь

Регистрация: 16.06.2018

Сообщения: 1677

Рейтинг: 763

Emily Fields

Регистрация: 16.06.2018

Сообщения: 1677

Рейтинг: 763

Plus сказал(а):
Нажмите, чтобы раскрыть...

Огромное спасибо! Вроде как работает(хотя я и не понимаю) XD

Нажмите, чтобы раскрыть...

я бы так реализовал ввод чисел

 

int a;

do{

cout << "enter a" << endl;

cin >> a;

} while (a <= 0);

Интерфейс более понятен для пользователя и не нужно делать лишнюю операцию присваивания в начале. Ну тут флоат нужен конечно а не инт но разберёшься думаю.

Berglol

Пользователь

Регистрация: 20.09.2013

Сообщения: 934

Рейтинг: 1736

Berglol

Регистрация: 20.09.2013

Сообщения: 934

Рейтинг: 1736

Plus сказал(а):

 

Спойлер: "Задание 1.6: 5 задание"

Нажмите, чтобы раскрыть...

 

Про динамический массив в задании ничего не было. А еще я хз, на каком уровне вы находитесь, но если проходили функции - лучше переделай под них)

Спойлер:
#include
#include
 
int 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;
}

 

Plus

Пользователь

Регистрация: 22.05.2013

Сообщения: 2823

Рейтинг: 1469

Plus

Регистрация: 22.05.2013

Сообщения: 2823

Рейтинг: 1469

Berglol сказал(а):

 

А еще я хз, на каком уровне вы находитесь, но если проходили функции - лучше переделай под них)

 

Нажмите, чтобы раскрыть...

Ну, представьте, что вы выбили ломом доску в полу и еще прокапали там 3 метра в глубину. Вот на таком уровне я нахожусь XD

Преподу самому пофиг, так что думаю проблем не будет) Огромное спасибо!!!

Berglol

Пользователь

Регистрация: 20.09.2013

Сообщения: 934

Рейтинг: 1736

Berglol

Регистрация: 20.09.2013

Сообщения: 934

Рейтинг: 1736

Emily Fields сказал(а):

не нужно делать лишнюю операцию присваивания в начале.

Нажмите, чтобы раскрыть...

А потом при малейшем изменении стр-ры кода (например, при добавлении функции инициализации) чуть что ловить uninitialize-варнинги)))

оспа этого времени

Пользователь

Регистрация: 20.08.2018

Сообщения: 1374

Рейтинг: 317

оспа этого времени

Регистрация: 20.08.2018

Сообщения: 1374

Рейтинг: 317

если никто в ближайшее время не сделает. отпиши в личку. лень просто качать studio.

Plus

Пользователь

Регистрация: 22.05.2013

Сообщения: 2823

Рейтинг: 1469

Plus

Регистрация: 22.05.2013

Сообщения: 2823

Рейтинг: 1469

оспа этого времени сказал(а):

если никто в ближайшее время не сделает. отпиши в личку. лень просто качать studio.

Нажмите, чтобы раскрыть...

Уже сделали 3 задания за что огромное спасибо) Если что - пишу тебе justsmile.png?1553740538

lexani4321

Пользователь

Регистрация: 28.03.2018

Сообщения: 13019

Рейтинг: 4063

lexani4321

Регистрация: 28.03.2018

Сообщения: 13019

Рейтинг: 4063

Plus сказал(а):

Cказали можно на любом языке nyametal.gif

Нажмите, чтобы раскрыть...

Делай тогда на пайтоне, не занимайся сексом с мозгами. Для того кому надо решить несколько задачек в вуз - самое то.

№5 на последнем скрине:

d = [-1, 2, -8, 6]

for i in d:

    if i < 0:

        i = i**2

    else:

        i = i/2

    print(i)

Lambda-chan

Пользователь

Регистрация: 26.07.2012

Сообщения: 4615

Рейтинг: 8642

Lambda-chan

Регистрация: 26.07.2012

Сообщения: 4615

Рейтинг: 8642

1.4: 9 на хаскелле

main = do { d <- getLine; putStrLn $ show $ sum $ zipWith (*) (cycle [1, -1]) $ takeWhile (> (read d)) &1 / x | x <- [1..]] }

 

Как и ожидается, чем меньше d, тем ближе вывод к натуральному логарифму 2

white_dog

Пользователь

Регистрация: 29.08.2019

Сообщения: 1697

Рейтинг: 38

Нарушения: 110

white_dog

Регистрация: 29.08.2019

Сообщения: 1697

Рейтинг: 38

Нарушения: 110

Plus сказал(а):

Уже сделали 3 задания за что огромное спасибо) Если что - пишу тебе justsmile.png?1553740538

Нажмите, чтобы раскрыть...

Зачем тебе это надо?

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

Нажмите, чтобы раскрыть...

Зачем ты выпендрился?) еще и на этом академическом говнишкеjustsmile.png?1553740538

Plus

Пользователь

Регистрация: 22.05.2013

Сообщения: 2823

Рейтинг: 1469

Plus

Регистрация: 22.05.2013

Сообщения: 2823

Рейтинг: 1469

white_dog сказал(а):

Зачем тебе это надо?

 

Нажмите, чтобы раскрыть...

Что именно?

white_dog

Пользователь

Регистрация: 29.08.2019

Сообщения: 1697

Рейтинг: 38

Нарушения: 110

white_dog

Регистрация: 29.08.2019

Сообщения: 1697

Рейтинг: 38

Нарушения: 110

Plus сказал(а):

Что именно?

Нажмите, чтобы раскрыть...

код