Nowe posty

xx Problem ze sterownikami. (5)
2024-04-13, 21:25:16
xx Instalacja xfce4 (2)
2024-04-13, 16:20:17
xx Serie kompilacji bez instalacji dla “emerge” w Gentoo (2)
2024-04-08, 18:40:04
xx Plasma 6 w Neonie ssie trochę mniej ... (17)
2024-04-05, 10:03:46
xx Problem z Linux Lite po instalacji (3)
2024-04-03, 14:23:40
xx Jak właczyć num locka przy starcie systemu debian 12? (12)
2024-04-02, 17:43:54
xx Brak dźwieku w systemie. (5)
2024-04-02, 16:13:41
xx Dystrybucja pod HP Omen (7)
2024-03-29, 11:33:05
xx [Poradnik] Wyszukiwanie Sterowników (2)
2024-03-27, 21:08:23
xx Ile pingwinów? (1)
2024-03-27, 08:59:24

Autor Wątek: [c++] Mnozenie  (Przeczytany 1903 razy)

kordi

  • Gość
[c++] Mnozenie
« dnia: 2013-02-19, 01:36:43 »
Mam w programie zadeklarowane nastepujace tablice
double a[2][2], b[2][2], c[2][2];
i chcialabym pomnozyc je wg nastepujacego schematu

void mult(const double *a, const double *b, double *c, const int im, const int m)
 {
   int  ip;
    for(int i=0;i     for(int j=0;j      ip = i * im + j;
      c[ip]=0.0;
       for(int k=0;k         c[ip] += a[i * im + k] * b[k * im + j];
      }
    }
 }
co mam zrobic z tablicami a,b oraz c, by uniknac bledu:
cannot convert ‘double (*)[2]’ to ‘const double*’ for argument ‘1’ to ‘void mult(const double*, const double*, double*)’ ?

Offline Paweł Kraszewski

  • Administrator
  • Guru
  • *****
  • Wiadomości: 3056
  • Lenistwo jest matką potrzeby = babcią wynalazku
    • Zobacz profil
[c++] Mnozenie
« Odpowiedź #1 dnia: 2013-02-19, 07:39:48 »
Zdecyduj się, w jakiej formie chcesz trzymać tablice dwuwymiarowe.

Deklarujesz jako wektor wektorów (double [][] czyli double**) a potem chcesz używać jako wektor (double [] czyli double*).
Paweł Kraszewski
~Arch/Void/Gentoo/FreeBSD/OpenBSD/Specjalizowane customy