Mam 2 tablice. Jedna 6 elementowa, druga 3 elementowa. Chcialbym je wymnozyc w ten sposob:
int tab1, tab2;
tab1[0]*tab2[0]
tab1[1]*tab2[1];
tab1[2]*tab2[2];
tab1[0]*tab2[3]
tab1[1]*tab2[4];
tab1[2]*tab2[5];
Jak to ładnie zapisać?
Mam 2 tablice. Jedna 6 elementowa, druga 3 elementowa. Chcialbym je wymnozyc w ten sposob:
int tab1, tab2;
tab1[0]*tab2[0]
tab1[1]*tab2[1];
tab1[2]*tab2[2];
tab1[0]*tab2[3]
tab1[1]*tab2[4];
tab1[2]*tab2[5];
Jak to ładnie zapisać?
for(int i=0;i<3;i++)
tab[i]=(tab[i]*tab1[i])+(tab[i]*tab[i+3]);
Znaczy zależy co chcesz zrobić, bo z tego nie wynika czy chcesz to dodawać, czy nadawać nową wartość..
Moze dam cały kod, to bedzie łatwiej
#include <iostream>
using namespace std;
int main(){
int tab1[] = {1,2,3};
int tab2[][6] = {{1,2,3,4,5,6},
{9,8,7,5,4,3},
{1,3,5,7,9,0},
{2,4,6,8,0,1}};
/*
Chce wymnozyc:
tab1 tab2
{1,2,3} * {1,2,3}
{1,2,3} * {4,5,6}
{1,2,3} * {9,8,7}
{1,2,3} * {5,4,3}
{1,2,3} * {1,3,5}
{1,2,3} * {7,9,0}
{1,2,3} * {2,4,6}
{1,2,3} * {8,0,1}
*/
int ileRazy = 2;
int wynik = 0;
int m = 0;
for(int i=0; i<4; i++)
{
int k = 0;
m = 0;
while(k < ileRazy)
{
for(int j=0; j<3; j++)
{
wynik = tab1[j] * tab2[i][m];
m++;
cout << wynik << endl;
}
k++;
}
}
cin.get();
return 0;
}
W komentarzau mam nadzieje dosyc dobrze wytlumaczylem, o co mi chodzi :) Proszę o pomoc, bo program mi się wywala. W Dev-Cpp działa dobrze, ale prezczytalem u Was, że CodeBlocks jest lepszy, zainstalowałem go, i pokazuje błedy, a ja nie wiem, jak to poprawić :(
Konkretnie chodzi o to, że jakby te "j" jadą po całej tab1, a m zwiększa się, czyli najpierw mnoży pierwszą połowę tablicy, potem drugą, itd (tab2). Błędy są takie, że pisze "Program przestał działać" :/
U mnie działa na C::B.
No chcę sobie coś takiego zrobić, potrzebne do trochę większego programu ;)
/*
Chce wymnozyc:
tab1 tab2
{1,2,3} * {1,2,3}
{1,2,3} * {4,5,6}
{1,2,3} * {9,8,7}
{1,2,3} * {5,4,3}
{1,2,3} * {1,3,5}
{1,2,3} * {7,9,0}
{1,2,3} * {2,4,6}
{1,2,3} * {8,0,1}
*/
Czyli dokładnie:
11, 22, 33 - pierwszy wiersz
14, 25, 36 - drugi wiersz
19, 28, 3*7 - trzeci wiersz, i tak dalej ...
A w QtCreatorze też się "wywala" :(
A spróbuj z cout << m << endl; w tej pętli, zobacz, jakie m ma wartości - a przecież powinno przyjmować wartości od 0 do 5, a ja mam od 0 do 6, czyli coś jest źle :(
Sorry, literówka powyżej : u mnie m ma wartości z przedziału [1,6], a nie [0,5]
A powinno być [0,5] właśnie ;/
Ale ogólny pomysł na algorytm jest dobry?
Pisz jak człowiek.. co z tego, że pomnożysz jak nigdzie tego nie zapisujesz! Po prostu chcesz mnożyć dla zabawy, czy gdzieś chcesz mieć wynik.. Jak tak to czego?
jakaś zmienna równa 11+ 22+ 3*3 ???
Pisz precyzyjnie, bo na miłość boską kodem się zajmujesz!