Program obliczajacy iloczyn dwoch liczb z tablicy

0
#include <iostream>

using namespace std;

int main()
{
    int x[6];
    int w[6];
    double mnozenie;


    x[0] = 5; // pierwszy element tabeli
    x[1] = 4; // drugi element tabeli
    x[2] = 3; // trzeci element tabeli
    x[3] = 2; // czwarty element tabeli
    x[4] = 5;

    w[0] = 3; // pierwszy element tabeli
    w[1] = 6; // drugi element tabeli
    w[2] = 7; // trzeci element tabeli
    w[3] = 1; // czwarty element tabeli
    w[4] = 5;

    cout << "Elementy tablicy x:" << x[0] << " " << x[1] << " " << x[2] << " " << x[3] << " "
         << x[4] << " " << endl;
    cout << endl;
    cout << "Elementy tablicy w:" << w[0] << " " << w[1] << " " << w[2] << " " << w[3] << " "
         << w[4] << " " << endl;

    for (int x = 0; x < 5; x++)
        for (int w = 0; w < 5; w++)
        {
            cout << "mnozenie: " << mnozenie << endl;

            mnozenie = x[i] * w[i];
        }


    return 0;
}

co jest nie tak?

2

najpierw wypisujesz zmienna pozniej dopiero ja ustawiasz

cout << "mnozenie: " << mnozenie << endl;
 
            mnozenie = x[i] * w[i]; 

Twoja petla nie ma sensu wystarczy cos takiego (i popatrz na zmienne jakie masz bo masz tam bzdury teraz)

for (int index = 0 ; index < 5 ; i++)
{
  mnozenie = x[index] * w[index];
  cout << "mnozenie: " << mnozenie << endl;
} 

no i masz magiczne liczby

endl nie sluzy do nowej lini. Od tego sluzy

 "\n"

uzywasz tablic zamiast std::vector

2
int x[6] = { 5, 4, 3, 2, 5 };

poza tym masz konflikt symboli!
redefiniujesz x! Najpierw jest to tablica, a potem liczba reprezentująca indeks tablicy!
przy for pewnie miało być i j a nie x w

1
for (int x = 0; x < 5; x++)
    for (int w = 0; w < 5; w++)
    {
        cout << "mnozenie: " << mnozenie << endl;
        mnozenie = x[i] * w[i];
    }

Nie wiadomo co to jest i, nadpisujesz tablice w i x nowymi zmiennymi, najpierw wypisujesz mnozenie, potem dopiero liczysz wartość.

for (int i = 0; i < 5; ++i)
{
    mnozenie = x[i] * w[i];
    cout << "mnozenie: " << mnozenie << endl;
}
0
#include <iostream>

using namespace std;

int main()
{
    int x[6];
    int w[6];
    double mnozenie;


    x[0] = 5; // pierwszy element tabeli
    x[1] = 4; // drugi element tabeli
    x[2] = 3; // trzeci element tabeli
    x[3] = 2; // czwarty element tabeli
    x[4] = 5;

    w[0] = 3; // pierwszy element tabeli
    w[1] = 6; // drugi element tabeli
    w[2] = 7; // trzeci element tabeli
    w[3] = 1; // czwarty element tabeli
    w[4] = 5;

    cout << "Elementy tablicy x:" << x[0] << " " << x[1] << " " << x[2] << " " << x[3] << " "
         << x[4] << " " << endl;
    cout << endl;
    cout << "Elementy tablicy w:" << w[0] << " " << w[1] << " " << w[2] << " " << w[3] << " "
         << w[4] << " " << endl;

    for (int i = 0; i < 5; i++)
        for (int j = 0; j < 5; j++)
        {
            cout << "mnozenie: " << mnozenie << endl;

            mnozenie = x[i] * w[j];
        }


    return 0;
}

teraz okej?
wymnaza juz tylko na poczatku jest jedna dziwna liczba..

0

juz zmienilem kolejnosc cout<< mnozenie i dziala, dziekuje :)

0

Mam jeszcze jedno pytanie: jak napisać po kolei wzor który wyglada jak na zalaczniku i liczy mi srednie wazone z tablicy x i tablicy w?

0

Przecież masz prawie że gotowy kod: taka suma En-1i=0 to nic innego jak pętla

int suma = 0;
for (int i = 0; i < n; ++i)
    suma += <to_co_jest_w_nawiasach>
0

suma += (x[i]*w[i])/w[i]

tak ma te fragment wygladac?

0

Masz tam 2 sumy. Jedna to
En-1i=0(x[i] * w[i])
a druga to
En-1i=0w[i]

Jak każdą z nich przetłumaczyć na kod masz wyżej, a wynik końcowy to iloraz tych 2 sum.

1 użytkowników online, w tym zalogowanych: 0, gości: 1