• Najnowsze pytania
  • Bez odpowiedzi
  • Zadaj pytanie
  • Kategorie
  • Tagi
  • Zdobyte punkty
  • Ekipa ninja
  • IRC
  • FAQ
  • Regulamin
  • Książki warte uwagi

tablica dwuwymiarowa

Object Storage Arubacloud
0 głosów
1,371 wizyt
pytanie zadane 9 maja 2020 w C i C++ przez Atman Użytkownik (810 p.)

Moje zadanie brzmi:

a) Zadeklaruj tablicę wymiarową.

b) Napisz funkcję, która zapełnia ją tabliczką mnożenia 10x10.

c) Napisz funkcję, która wypisuje elementy tej macierzy. Wywołaj obie funkcje.

Wydawało mi się że zadanie zostało zrobione poprawnie i błyskawicznie, gdyż program faktycznie wyświetla całą tabliczkę mnożenia do 100 i nie pokazuje błędów w kodzie, jednak program przestaje działać w momencie uruchomienia i wyświetlenia na konsoli. Nie wiem czy problem jest z częścią a,b,c czy po prostu z zasadami C++,

#include <iostream>

using namespace std;


int mnozenie (int tablica[10][10])
{
    for (int i=1; i<11; i++)
    {
        for (int j=1; j<11; j++)
        {
            tablica[i][j] = i*j;
            cout<<tablica[i][j]<<" ";
        }
        cout<<endl;
    }

}


int main()
{
    int tablica[10][10];

    mnozenie(tablica);
    return 0;
}

 dlatego proszę bardzo o pomoc.

komentarz 9 maja 2020 przez OdsetekGlupoty Pasjonat (15,360 p.)
Chyba nie pauzujesz skryptu na końcu ;)
komentarz 9 maja 2020 przez Atman Użytkownik (810 p.)
Wiem, że w Visualu dopisuje się komendę system("PAUSE") ale w CodeBlocku w któym piszę już się tego nie używa.

1 odpowiedź

0 głosów
odpowiedź 9 maja 2020 przez DragonCoder Nałogowiec (36,500 p.)

Wychodzisz po za zakres tablicy. Odpytujesz 10 element, tzn probujesz przypisac tez do niego jakas liczbe, pomimo tego ze on nie sitnieje. PRzez co kompiltor Ci powie, ze probujesz sie dostac do nie istniejacej pamiecii

#include <iostream>

int mnozenie (int tablica[10][10]) {
    for (int i=0; i<10; i++) {
        for (int j=0; j<10; j++) {
            tablica[i][j] = (i+1)*(j+1);
            std::cout << tablica[i][j] << " ";
        }
        std::cout << std::endl;
    }
}

int main()
{
int tablica[10][10];
    mnozenie(tablica);
    return 0;
}

 

komentarz 9 maja 2020 przez Atman Użytkownik (810 p.)

Faktycznie jak się przemodeluje za coś takiego to działa poprawnie bez pokazanie błędów na koniec. Dziękuję bardzo

#include <iostream>

using namespace std;


int mnozenie (int tablica[10][10])
{
    for (int i=1; i<11; i++)
    {
        for (int j=1; j<11; j++)
        {
            tablica[i-1][j-1] = i*j;
            cout<<tablica[i-1][j-1]<<" ";
        }
        cout<<endl;
    }

}


int main()
{
    int tablica[10][10];

    mnozenie(tablica);
    return 0;
}

 

Podobne pytania

0 głosów
1 odpowiedź 270 wizyt
pytanie zadane 7 grudnia 2022 w C i C++ przez Janchess Początkujący (480 p.)
0 głosów
1 odpowiedź 291 wizyt
+1 głos
1 odpowiedź 268 wizyt
pytanie zadane 24 marca 2021 w C i C++ przez Ciasteczko:) Początkujący (490 p.)

92,576 zapytań

141,426 odpowiedzi

319,652 komentarzy

61,961 pasjonatów

Motyw:

Akcja Pajacyk

Pajacyk od wielu lat dożywia dzieci. Pomóż klikając w zielony brzuszek na stronie. Dziękujemy! ♡

Oto polecana książka warta uwagi.
Pełną listę książek znajdziesz tutaj.

Akademia Sekuraka

Kolejna edycja największej imprezy hakerskiej w Polsce, czyli Mega Sekurak Hacking Party odbędzie się już 20 maja 2024r. Z tej okazji mamy dla Was kod: pasjamshp - jeżeli wpiszecie go w koszyku, to wówczas otrzymacie 40% zniżki na bilet w wersji standard!

Więcej informacji na temat imprezy znajdziecie tutaj. Dziękujemy ekipie Sekuraka za taką fajną zniżkę dla wszystkich Pasjonatów!

Akademia Sekuraka

Niedawno wystartował dodruk tej świetnej, rozchwytywanej książki (około 940 stron). Mamy dla Was kod: pasja (wpiszcie go w koszyku), dzięki któremu otrzymujemy 10% zniżki - dziękujemy zaprzyjaźnionej ekipie Sekuraka za taki bonus dla Pasjonatów! Książka to pierwszy tom z serii o ITsec, który łagodnie wprowadzi w świat bezpieczeństwa IT każdą osobę - warto, polecamy!

...