Професионална програма
Loading...
Yordan.Vachev avatar Yordan.Vachev 2 Точки

Cartesian product

Нчкои мове ли да ми помогне с тази задача?

Write a program which reads an array from the console and prints the product of each of its elements with all
elements. E.g. for the array {1, 7, 3}, the result would be {1 * 1, 1 * 7, 1 * 3, 7 * 1, 7 * 7, 7 * 3, 3 * 1, 3 * 7, 3 * 3},
which gives us the array {1, 7, 3, 7, 49, 21, 3, 21, 9}, so for the input
1 7 3
the program should print
1 7 3 7 49 21 3 21 9

Тагове:
0
C++ Fundamentals
p.petrova19 avatar p.petrova19 2 Точки

ето ти моето решение:

#include<iostream>
using namespace std;

void cartesianProduct(int arr[], int arraySize) {
    for(int i = 0; i < arraySize; i++) {
        for(int j = 0; j < arraySize; j++) {
            cout << arr[i] * arr[j] << ' ';
        }
    }
}

int main() {

    int arraySize;
    cin >> arraySize;

    int arr[arraySize] = {0};

    for(int i = 0; i < arraySize; i++) {
        cin >> arr[i];
    }

    cartesianProduct(arr, arraySize);

    return 0;
}

 

0
alexandar_zhelev avatar alexandar_zhelev 1 Точки

Привет,

пробвах се да дебъгна този код, ред по ред, за да видя кое как се случва поетапно, обаче на мен ми дава грешка в main функцията int arr [arraySize] = {0}; - подчертава ми arraySize и ми изписва следната грешка: "expression must have a constant value, the value of variable "arraySize" cannot be used as a constant.". Пробвах да копи-пейстна кода в Джъдж и там няма никакъв проблем. Идеята ми не е да го копирам и да съм готов със задачата, а исках да видя нагледно нещата. Въпроса ми е, защо ми дава грешка при положение, че не съм бутал абсолютно нищо по кода? Това ми е втората или третата задача която ми гърми по същия начин и не мога да си обясня защо. Използвам Visual Studio 2017.

0