1

Тема: Завдання на С++

У мене стояло завдання з 3 массивами. Массив B заповнити за правилом, що й у мене вийшло, массив А заповнити довільно в коді програми, а от массив С за таким правилом (Якщо 0 елемент массива B >  елемент массива A), то массив C отримає значення нульового елемента, з нульового елемента массива А, якщо інакше (Якщо 0 елемент массива B <  елемент массива A), то С отримає значення нульового елемента массива, з нульового елемента массива B.

#include<iostream>
#include<cstdlib>
using namespace std;

int main() {
    const int k = 10;
    float b[k];
    int a[k]={3,5,6,4,3,5,7,8,1,9};
    int Pa[k] = a[k] * 3;
    float c[k];
    for (int i = 0; i < 9; i++) {
        b[i] = 15 * cos(i) - 12 * sin(10 - i);
    }
    cout << "B[" << k << "]={";
    for (int i = 0; i < 9; i++) {
        printf("%.2f ", b[i]);
    }
    cout << "}"<<endl;
    for (int j = 0; j < 9; j++) {
        if (Pa[j] < b[j]) {
            c[j] = Pa[j];
        }
        if (Pa[j] > b[j]) {
            c[j] = b[j];
        }
    }
    cout << "C[" << k << "]={";
    for (int j = 0; j < 9; j++) {
        printf("%.2f ", c[j]);
    }
    cout << "}";
    return 0;
}

2

Re: Завдання на С++

vzaluskiy23 написав:

У мене стояло завдання з 3 массивами. Массив B заповнити за правилом, що й у мене вийшло, массив А заповнити довільно в коді програми, а от массив С за таким правилом (Якщо 0 елемент массива B >  елемент массива A), то массив C отримає значення нульового елемента, з нульового елемента массива А, якщо інакше (Якщо 0 елемент массива B <  елемент массива A), то С отримає значення нульового елемента массива, з нульового елемента массива B.

#include<iostream>
#include<cstdlib>
using namespace std;

int main() {
    const int k = 10;
    float b[k];
    int a[k]={3,5,6,4,3,5,7,8,1,9};
    int Pa[k] = a[k] * 3;
    float c[k];
    for (int i = 0; i < 9; i++) {
        b[i] = 15 * cos(i) - 12 * sin(10 - i);
    }
    cout << "B[" << k << "]={";
    for (int i = 0; i < 9; i++) {
        printf("%.2f ", b[i]);
    }
    cout << "}"<<endl;
    for (int j = 0; j < 9; j++) {
        if (Pa[j] < b[j]) {
            c[j] = Pa[j];
        }
        if (Pa[j] > b[j]) {
            c[j] = b[j];
        }
    }
    cout << "C[" << k << "]={";
    for (int j = 0; j < 9; j++) {
        printf("%.2f ", c[j]);
    }
    cout << "}";
    return 0;
}

не розумію, навіщо вам int Pa[k], перебір та зрівняння тривають нормально, якщо масив а float

#include <iostream>
#include <cstdlib>
using namespace std;

int main()
{
    const int k = 10;
    float b[k], c[k];
    int i, j;
    float a[k]{ 3, 5, 6, 4, 3, 5, 7, 8, 1, 9 };
    for ( i = 0;  i < 9;  i++)
    {
        b[i] = (15 * cos(i)) - (12 * sin(10 - i));
    }
    std::cout << "A[" << k << "] = { ";
    for (i = 0; i < 9; i++)
    {
        printf("%.0f ",a[i]);
    }
    std::cout << " }" << endl;
    std::cout << "B[" << k << "] = { ";
    for ( i = 0; i < 9; i++)
    {
        printf("%.2f ", b[i]);
    }
    std::cout << " }" << endl;
    for (i = 0; i < 9; i++)
    {
        if ( a[i] < b[i] )
        {
            c[i] = a[i];
        }
        else 
        {
            c[i] = b[i];
        }
    }
    std::cout << "C[" << k << "] = { ";
    for (i = 0; i < 9; i++)
    {
        printf("%.2f ", c[i]);
    }
    std::cout << " }";
    return 0;
}