Elektroda.pl
Elektroda.pl
X
Elektroda.pl
Proszę, dodaj wyjątek dla www.elektroda.pl do Adblock.
Dzięki temu, że oglądasz reklamy, wspierasz portal i użytkowników.

Visual Studio C++ - Tablica dwuwymiarowa z funkcji.

26 Cze 2013 19:02 2157 6
  • Poziom 9  
    Witam. Piszę program mnożący dwie macierze w visual studio c++ pod okienka. Macierze to tablice dwuwymiarowe, mnożę je w funkcji i nie wiem jak z niej zwrócić obliczoną macierz wyjściową. I jeszcze chciałbym ją przekształcić te tablice na string. Z góry dzięki za pomoc.
  • Poziom 16  
    fajny pomysł jak na pierwszy program. ale i tak warto było przejść przez jakiś kurs C++.

    funkcje mogą zwracać wartość.
    Kod: cpp
    Zaloguj się, aby zobaczyć kod

    uzycie takiej funkcji wygladalo by tak
    Kod: cpp
    Zaloguj się, aby zobaczyć kod


    przeksztalcic liczbe na stringa mozesz tak

    Kod: cpp
    Zaloguj się, aby zobaczyć kod
  • Poziom 9  
    No wiem mniej więcej o wskaźnikach. A moja funkcja wygląda tak:


    Kod: cpp
    Zaloguj się, aby zobaczyć kod

    Nie wiem czy działa bo pod okienka to muszę to na stringa zamienić żeby wyświetlić w MessabeBox::Show.
  • Poziom 16  
    trochę się jeszcze gubisz we wskaźnikach.
    są 2 operatory
    * oznacza zejście wyżej(czyli mamy wskaźnik chcemy liczbę z tego wskaźnika)
    & oznacza zejście niżej(mamy liczbę, chcemy wskaźnik z tej liczby)

    my tutaj nie będziemy korzystać z
    double*
    tylko
    double**

    Visual Studio C++ - Tablica dwuwymiarowa z funkcji.widzisz ? różnica jest taka że ten pierwszy wskazuje na blok zmiennych typu double
    a ten drugi wskazuje na blok zmiennych typu double*, a z kolei ten wskazuje na blok typu double i tak własnie wyglądają tablice dwuwymiarowe.
    Visual Studio C++ - Tablica dwuwymiarowa z funkcji.
    tak więc Twój typ zwracany musi wyglądać inaczej.
    to co ty zrobiłeś to jest użycie operatora *, czyli mamy wskaźnik idziemy z nim wyżej
    Visual Studio C++ - Tablica dwuwymiarowa z funkcji.
    jeśli byś napisał *(mac_wynik + 1) to byś zwrócił tą większą cześć, ale ty chcesz zwrócić nie tablice jednowymiarową a dwuwymiarową.
    czyli
    double**

    jeśli zrobiłbyś **mac_wynik to byś trafił to pierwszej komórki z typem double

    Dodano po 1 [minuty]:

    pokombinuj z tym
    ostringstream
    bo da się
  • Poziom 9  
    Ok. Będę o tym myślałe jeszcze a mam pytanie co to kodu pobierającego liczbe z textboxa bo mi coś źle działa.
    Kod: cpp
    Zaloguj się, aby zobaczyć kod
  • Poziom 2  
    Tablic nie są przesyłane do funkcji poprzez kopiowanie jak zmienne typów fundamentalnych, tablica to typ złożony z typów fundamentalnych. Tablice mogą być duże i dlatego nie są kopiowane a do funkcji wysyłany jest adres owej tablicy. Także jako taka funkcja pracuje na oryginalnym egzemplarzu tablicy wysłanej do funkcji. Funkcja może zwracać wskaźnik la tablicy 2 wymiarowej będzie to deklaracja np int ** p();
  • Poziom 16  
    wygląda dobrze
    ale błędny może być zapis w textboxie
    albo liczba z kropką
    albo z przecinkiem
    a jeśli nie to to spróbuj
    Kod: cpp
    Zaloguj się, aby zobaczyć kod