Nowe posty

xx Touchpad po pewnym losowym czasie przestaje reagować (7)
Wczoraj o 13:28:28
xx badblocks nie sprawdza dalej. (3)
2019-04-23, 20:44:36
xx Automat/scrypt do uruchamiania bootowalnego USB (0)
2019-04-22, 22:15:41
xx Zdalne polaczenie z posrednikiem pod Ubuntu bez GUI (2)
2019-04-22, 20:59:31
xx Uprawnienia (1)
2019-04-22, 14:10:38
xx bład krytyczny na dysku, dysk jest w LVM (2)
2019-04-19, 06:38:20
xx Przekierowanie na bezpieczną stronę z SSL (1)
2019-04-16, 19:52:43
xx bootloader (4)
2019-04-13, 18:31:03
xx Ubuntu i Bluetooth (1)
2019-04-12, 10:12:18
clip Opera - odtwarzanie niektórych filmów nie działa (1)
2019-04-12, 00:41:50

Autor Wątek: (C++) Konstrukcja dwuwymiarowej tablicy obiektów  (Przeczytany 8110 razy)

Offline

  • Users
  • Prawie jak Guru
  • ****
  • Wiadomości: 431
    • Zobacz profil
(C++) Konstrukcja dwuwymiarowej tablicy obiektów
« dnia: 2006-01-11, 13:16:06 »
Szanowni koledzy, dużo razem przeszliśmy, wiele razy mi pomogliście, raz ja niektórym pomogłem, więc zastanawiam się jakie jest wasze zdanie:
Mam Mandriva Linux 2005 LE i po tym, co tutaj czytam, mam wątpliwości, czy zrobić upgrade +1 level Experience   (a raczej -1 level :) do Mandriva Linux 2006. Jakie jest wasze zdanie? Ufam wam, więc nie róbcie sobie za dużych jaj. :) Szczególnie liczyłbym na \\"znajomych\\" z Krakowa, gdyż sam z niego jestem, ale wszelkie inne głosy też mile widziane. A BTW nie wie ktoś, gdzie można znaleźć paczki regionalizacyjne do gwary krakowskiej??? :D

Offline Piotr Chmura

  • Administrator
  • Guru
  • *****
  • Wiadomości: 5060
    • Zobacz profil
(C++) Konstrukcja dwuwymiarowej tablicy obiektów
« Odpowiedź #1 dnia: 2006-01-11, 15:02:17 »
a nie pomyslales, ze moze dobrze by bylo poznac rowniez jakies inne dystrybucje ?

Offline Remigiusz Witkowski

  • Users
  • Guru
  • *****
  • Wiadomości: 594
    • Zobacz profil
(C++) Konstrukcja dwuwymiarowej tablicy obiektów
« Odpowiedź #2 dnia: 2006-01-11, 22:25:12 »
2006-01-11 13:16:06 scool napisał:

> Szanowni koledzy, dużo razem przeszliśmy, wiele razy mi pomogliście, raz ja niektórym pomogłem,
 > więc zastanawiam się jakie jest wasze zdanie:
 > Mam Mandriva Linux 2005 LE i po tym, co tutaj czytam, mam wątpliwości, czy zrobić upgrade +1
 > level Experience   (a raczej -1 level :) do Mandriva Linux 2006. Jakie jest wasze zdanie? Ufam
 > wam, więc nie róbcie sobie za dużych jaj. :) Szczególnie liczyłbym na \\"znajomych\\" z
 > Krakowa, gdyż sam z niego jestem, ale wszelkie inne głosy też mile widziane. A BTW nie wie
 > ktoś, gdzie można znaleźć paczki regionalizacyjne do gwary krakowskiej??? :D

 
 He! mnie wkurzyła 2006 5 min. po instalacji ale jakoś \\"ugłaskałem\\" i smiga , czy warto robic upgrade ? pewnie zawsze warto wiec nie rozumiem tego pytania  :)
Jeżeli się boisz to znaczy , że słabo znasz Mandrake ( coś nie mogę się przyzwyczaić do nowej nazwy ) , coś tam przeczytałeś i obawiasz się problemów więc może chmooreck ma racje :)
 \\"gwary krakowskiej\\" teraz to Ty robisz sobie jaja  hihi ;)
 Pozdrawiam.

Offline Bogdan

  • Users
  • Prawie jak Guru
  • ****
  • Wiadomości: 364
    • Zobacz profil
(C++) Konstrukcja dwuwymiarowej tablicy obiektów
« Odpowiedź #3 dnia: 2006-01-11, 22:28:28 »
2006-01-11 13:16:06 scool napisał:

> Szanowni koledzy, dużo razem przeszliśmy, wiele razy mi pomogliście, raz ja niektórym pomogłem,
 > więc zastanawiam się jakie jest wasze zdanie:
 > Mam Mandriva Linux 2005 LE i po tym, co tutaj czytam, mam wątpliwości, czy zrobić upgrade +1
 > level Experience   (a raczej -1 level :) do Mandriva Linux 2006. Jakie jest wasze zdanie?

Nie jestem expertem ale polecam aktualizacje do M2006, wiele sie poprawilo  , mnie sie podoba kierunek rozwoju... W przeciwienstwie do ortodoksow  wole graficzne rozwiazania i estetyke . Po aktalizacji powstaje kilka niedogodnosci, ktore daje sie szybko zwalczyc.
Dziwi mnie rowniez narzekanie na stabilnosc  ja nie zauwazylem braku i odradzanie aktualizacji (to forum) mam przeciwne doswiadczenia.
Pojawiaja sie glosy o wyzszosci jednej dyst. nad druga ale przeciez wszyscy jada na tym samym silniku z mniejszym lub wiekszym tuningiem ;-)
Pozdrawiam, Bees!

Offline

  • Users
  • Prawie jak Guru
  • ****
  • Wiadomości: 431
    • Zobacz profil
(C++) Konstrukcja dwuwymiarowej tablicy obiektów
« Odpowiedź #4 dnia: 2006-01-12, 13:14:54 »
Tak się tylko zastanawiam. Z Linuksem na TY jestem od wersji Mdk 8.0 a z systemami Uniksowymi od małego, kiedy to znałem DOS\\'a, a Tato przyniósł do domu książkę A. Dyrka \\'Od PC do WORKSTATION czyli jak zostać użytkownikiem systemu UNIX\\' po której to przeczytaniu patrząc na funkcjonalność mojego DOS\\'a i porównując ją z Uniksem omal się nie popłakałem. Mam teraz wątpliwości co do upgrade\\'u, ponieważ trochę złego się naczytałem, a same screenshoty nie wyglądają zbyt zachęcająco (zupełnie jak zupy mojej mamy ;). Na dysku 80 GB z czego 60 GB mam na Winzgroze 98 (VIS MEDIUM) a tylko 20 GB na Linuksa (VIS MAIOR) z czego tylko 5,5 GB na system, 12 z hakiem na usera, a reszta to swap (VIS AUTOMATICUS INSTALATOR ;). Myślałem czy by tego trochę nie zmienić, ale potrzebuje tych kilkunastu dla usera, ze względu na crackowanie, ripowanie, (ripostowanie ;) dvd, i inne takie z Divx\\'ami. Myślę też o zmienieniu z Mandrivy na inny, ale dopiero jak będę miał większy dysk, gdyż komputer share\\'uję z rodzinką. Nie ma to jak rodzinka Lamerów. Matce się uruchomił w trybie tekstowym (init 3 czy coś) ten Linux, a ona zaczyna krzyczeć że się popsuł. To ja jej tłumacze co to jest, a ona że nieprawda, że to nie jest  Linux, a przy tym używała tak soczystego języka, że przy próbie zapisania go tutaj klawiatura się topi ;). Jak ktoś słusznie zauważył, kobiety i Linux nie idą w parze. Żałuję tylko że do kobiet nie załączają pakietów devel i Changelogu ;), bo Howto to już nie jeden napisał ;). A przy okazji, nie wie ktoś może ile w tym distro jest pakietów DEVEL?

Offline Piotr Chmura

  • Administrator
  • Guru
  • *****
  • Wiadomości: 5060
    • Zobacz profil
(C++) Konstrukcja dwuwymiarowej tablicy obiektów
« Odpowiedź #5 dnia: 2006-01-12, 14:24:32 »
2006-01-12 13:14:54 scool napisał:

> Jak ktoś słusznie zauważył, kobiety i Linux nie idą w parze.

Nieprawda. Moja zona z pewna taka doza odrazy patrzy na windowsa ;-)

Offline Remigiusz Witkowski

  • Users
  • Guru
  • *****
  • Wiadomości: 594
    • Zobacz profil
(C++) Konstrukcja dwuwymiarowej tablicy obiektów
« Odpowiedź #6 dnia: 2006-01-12, 22:48:57 »
2006-01-12 14:24:32 chmooreck napisał:

> 2006-01-12 13:14:54 scool napisał:
 >
 > > Jak ktoś słusznie zauważył, kobiety i Linux nie idą w parze.
 >
 > Nieprawda. Moja zona z pewna taka doza odrazy patrzy na windowsa ;-)
 >
 
 .....i grają w :  kulki ..... :D
 Pozdrawiam.

Offline

  • Users
  • Prawie jak Guru
  • ****
  • Wiadomości: 431
    • Zobacz profil
(C++) Konstrukcja dwuwymiarowej tablicy obiektów
« Odpowiedź #7 dnia: 2006-01-13, 12:00:00 »
Chmooreck, jestem zaintrygowany... Można prosić o więcej? A tak właściwie to czy zaglądałeś w source code swojej dziewczyny? Czy aby na pewno nie ma tam nigdzie napisane \\'Stallman\\' albo coś w tym stylu? :D

Offline Piotr Chmura

  • Administrator
  • Guru
  • *****
  • Wiadomości: 5060
    • Zobacz profil
(C++) Konstrukcja dwuwymiarowej tablicy obiektów
« Odpowiedź #8 dnia: 2006-01-13, 15:06:37 »
moją dziewczyną byla pare ladnych latek temu... ;-)

a co do zrodelek - jak wiesz mozg czlowieka jest siecia neuronowa -> sieci neuronowe sie ucza -> sila przyzwyczajen ;-)

takze nie potrzeba zadnych pach\\'y... tylko troche treningu

po kilku latach w linuksie na prawde windows staje sie bardzo dziwnym systemem :D

Offline

  • Users
  • Prawie jak Guru
  • ****
  • Wiadomości: 431
    • Zobacz profil
(C++) Konstrukcja dwuwymiarowej tablicy obiektów
« Odpowiedź #9 dnia: 2006-01-17, 13:04:30 »
Znaczy wiesz, sieci neuronowe można też zasymulować na zwykłym PC-cie, o czym w jednym z nowszych \\"SOFTWARE...\\" (nie dokończę nazwy żeby nie było że kryptoreklama) przekonują nas autorzy kilku artykułów, m. in. autorzy chatbota \\"Robomatics\\". Ja np. na prawdę mam moim \\'sourcecode\\' wpis \\"Linus\\" (tak konkretnie to chodzi o to, że sobie Linus wziąłem na bierzmowaniu :). A wracając do tematu... prosiłbym teraz tylko o krótkie, rzeczowe odpowiedzi \\"TAK/NIE\\" żebym mógł to sobie podsumować...

Offline Sebastian Chyba zartujecie

  • Users
  • Stały bywalec
  • ***
  • Wiadomości: 191
    • Zobacz profil
(C++) Konstrukcja dwuwymiarowej tablicy obiektów
« Odpowiedź #10 dnia: 2006-01-11, 12:04:21 »
Witam!

Mam problem - w czasie kompilacji programu wszystko przebiega ok, natomiast przy uruchomieniu dostaję informację o naruszeniu pamięci!
/* Plik main.cpp */
#include "point.h"

int main(int argc, char *argv[])
{
        Point punkt;      //ok
        Point punkciki[800]; //ok
        Point punkty[800] [600]; //powoduje naruszenie ochrony pamieci!
}
/************ end of main.cpp ***************/

/************** point.h *************************/
/* File point.h */

/* This prevent error of adding header multiple times */
#ifndef __CPP_POINT_H
#define __CPP_POINT_H
class Point
{
        public:
                int R, G, B;            // Red, Green, Blue values
                int A, I;               // Alpha and Intensity values
                Point();                // Class default constructor
                Point(int r, int g, int b, int i = 0);  // Class constructor
                Point operator+(Point &rhs);    // Adding operator for Point's
};
#endif
/***************** end of point.h ***********************/

/***************** point.cpp ****************************/
#include "point.h"


Point::Point()
{
        R = 0;
        G = 0;
        B = 0;
        A = 0;
        I = 0;
}

Point::Point(int r, int g, int b, int i)
{
        R = r;
        G = g;
        B = b;
        I = i;
        A = 0;
}

Point Point::operator+(Point &rhs)
{
        return (Point(rhs.R + R, rhs.G + G, rhs.B + B, rhs.I + I));
}

/************************ end of point.cpp ********************/


Konstrtuktory i ogólnei zakładanie działa dobrze dla pojedynczego punktu jak i wektora punktów, ale dla macierzy powoduje wywieszenie się na etapie konstrukcji obiektu...
Czy ktos ma jakieś pomysły jak to poprawić?

Offline Piotr Chmura

  • Administrator
  • Guru
  • *****
  • Wiadomości: 5060
    • Zobacz profil
(C++) Konstrukcja dwuwymiarowej tablicy obiektów
« Odpowiedź #11 dnia: 2006-01-11, 13:13:24 »
nie pomyslales o tym, ze probujesz na stosie odlozyc 9.5 MB danych ?

jak zrobisz tablice [1][1] tez wylatuje ?

Offline Sebastian Chyba zartujecie

  • Users
  • Stały bywalec
  • ***
  • Wiadomości: 191
    • Zobacz profil
(C++) Konstrukcja dwuwymiarowej tablicy obiektów
« Odpowiedź #12 dnia: 2006-01-11, 13:22:42 »
2006-01-11 13:13:24 chmooreck napisał:

> nie pomyslales o tym, ze probujesz na stosie odlozyc 9.5 MB danych ?
 >
 > jak zrobisz tablice [1][1] tez wylatuje ?

Nie - nie pomyslalem... nie - nie wylatuje... ni mniej jednak musze napisac program do generacji chmur metoda szumu perlina.
Stad tez kazdy punkt musi posiadac RGB skladowa natezenia I oraz pozniej przeliczana skladowa kanalu Alpha...

W algorytmie generuje sie kilka warstw i dodaje je do siebie, jesli nie moge stworzyc tablicy 800 x 600 punktow, to w takim razie jak mam przechowac obraz o takiej rozdzielczosci w pamieci??

Masz moze jakies propozycje jak to obejsc?

Pozdrawiam
DevilaN

Offline Piotr Chmura

  • Administrator
  • Guru
  • *****
  • Wiadomości: 5060
    • Zobacz profil
(C++) Konstrukcja dwuwymiarowej tablicy obiektów
« Odpowiedź #13 dnia: 2006-01-11, 15:00:15 »
po pierwsze.. czy na kazda skladowa potrzebujesz 4 bajtow ? nie wystarczy ci 1 bajt ? - czyli zamiast int'a uzyj np char'a...

poszukaj jeszcze dyrektywy kompilatora, zeby na pewno pola te umiescil obok siebie w pamieci, tzn zalacz wyrownanie do 1 bajta (byc moze #pragma pack(push,1) i #pragma pack (pop) - ale to jest dla gcc pod win - nie wiem jak jest na likusie... na OS/390 tez moge ci powiedziec ;-) )

po drugie takie ilosci danych lepiej jest utworzyc dynamicznie - nie zapomnij o zwolnieniu ;-)

Offline Sebastian Chyba zartujecie

  • Users
  • Stały bywalec
  • ***
  • Wiadomości: 191
    • Zobacz profil
(C++) Konstrukcja dwuwymiarowej tablicy obiektów
« Odpowiedź #14 dnia: 2006-01-11, 15:07:05 »
2006-01-11 15:00:15 chmooreck napisał:

> po pierwsze.. czy na kazda skladowa potrzebujesz 4 bajtow ? nie wystarczy ci 1 bajt ? - czyli
 > zamiast int'a uzyj np char'a...
 >
 > poszukaj jeszcze dyrektywy kompilatora, zeby na pewno pola te umiescil obok siebie w pamieci,
 > tzn zalacz wyrownanie do 1 bajta (byc moze #pragma pack(push,1) i #pragma pack (pop) - ale to
 > jest dla gcc pod win - nie wiem jak jest na likusie... na OS/390 tez moge ci powiedziec ;-) )
 >
 > po drugie takie ilosci danych lepiej jest utworzyc dynamicznie - nie zapomnij o zwolnieniu ;-)

O! Dzieki :)

Właśnie o to mi chodziło :) W C++ programuje dosyć długo, ale de facto nigdy nie zagłębiałem się w mechanizmy działania tego od strony allokacji pamięci czy operacji na stosie.

Jeszcze raz dziekuje i pozdrawiam
DevilaN