Advantage9111
?>

Приведен список степеней вершин графа.Выбери на каком из рисунков изображен граф. y(A)=2, y(B)=4, y(C)=3, y(D)=3, y(E)=4, y(F)=3, y(G)=2, y(H)=3

Информатика

Ответы

lionmost6979
Одно из решений, возможно, не самое эффективное
#include <iostream>
#include <iomanip>
int main()
{
    using namespace std;

    //исходная последовательность
    const int N = 8;
    double Arr[N] = { 14.2, -3.4, 7.8, -3.1, 8.2, 98.22, -7, 12 };

    //вывод на экран исходной последовательности
    for (int i = 0; i < N; ++i)
        cout << Arr[i] << "  ";
    cout << endl;

    //подсчитаем количества отрицательных и неотрицательных элементов
    int kpos = 0;
    int kneg = 0;
    for (int i = 0; i < N; ++i)
        if (Arr[i] < 0)
            ++kneg;
        else
            ++kpos;

    //создадим массивы отрицательных и неотрицательных элементов
    double * ArrNeg = new double[kneg];
    double * ArrPos = new double[kpos];

    int kn = 0, kp = 0;
    for (int i = 0; i < N; i++)
        if (Arr[i] < 0)
            ArrNeg[kn++] = Arr[i];
        else
            ArrPos[kp++] = Arr[i];

    cout << "Enter a, b, c or d: ";
    char ch;
    cin >> ch;

    if (ch == 'a' || ch == 'b' || ch == 'c' || ch == 'd')
    {
        switch (ch)
        {
            //пункт а)
            case 'a':
                for (int i = 0; i < kneg; ++i)
                    Arr[i] = ArrNeg[i];
                for (int i = 0; i < kpos; ++i)
                    Arr[i + kneg] = ArrPos[i];
                break;

                //пункт б)
            case 'b':
                for (int i = 0; i < kneg; ++i)
                    Arr[i] = ArrNeg[--kn];
                for (int i = 0; i < kpos; ++i)
                    Arr[i + kneg] = ArrPos[i];
                break;

                //пункт в)
            case 'c':
                for (int i = 0; i < kneg; ++i)
                    Arr[i] = ArrNeg[i];
                for (int i = 0; i < kpos; ++i)
                    Arr[i + kneg] = ArrPos[--kp];
                break;

                //пункт г)
            case 'd':
                for (int i = 0; i < kneg; ++i)
                    Arr[i] = ArrNeg[--kn];
                for (int i = 0; i < kpos; ++i)
                    Arr[i + kneg] = ArrPos[--kp];
                break;
        }
    }
    else
        cout << "You entered wrong symbol\n";

    for (int i = 0; i < N; ++i)
        cout << Arr[i] << "  ";
    cout << endl;
    delete[] ArrNeg;
    delete[] ArrPos;
    return 0;
}
barinovmisha2013
// PascalABC.NET 3.1, сборка 1219 от 16.04.2016
begin
  Range(-50,50,5).Tabulate(x->(x+4)*sqr(x+4)-sin(x)).Print(NewLine)
end.

Результат:
(-50,-97336.2623748537)
(-45,-68920.1490964755)
(-40,-46655.2548868395)
(-35,-29791.4281826695)
(-30,-17576.9880316241)
(-25,-9261.1323517501)
(-20,-4095.08705474927)
(-15,-1330.34971215984)
(-10,-216.544021110889)
(-5,-1.95892427466314)
(0,64)
(5,729.958924274663)
(10,2744.54402111089)
(15,6858.34971215984)
(20,13823.0870547493)
(25,24389.1323517501)
(30,39304.9880316241)
(35,59319.4281826695)
(40,85183.2548868395)
(45,117648.149096475)
(50,157464.262374854)

Ответить на вопрос

Поделитесь своими знаниями, ответьте на вопрос:

Приведен список степеней вершин графа.Выбери на каком из рисунков изображен граф. y(A)=2, y(B)=4, y(C)=3, y(D)=3, y(E)=4, y(F)=3, y(G)=2, y(H)=3
Ваше имя (никнейм)*
Email*
Комментарий*