Panel użytkownika
Nazwa użytkownika:
Hasło:
Nie masz jeszcze konta?

Podpowiedz w sposobie wypełnienia tablicy dwuwymiarowej.

Ostatnio zmodyfikowano 2014-02-06 00:01
Autor Wiadomość
nie_powiem
Temat założony przez niniejszego użytkownika
Podpowiedz w sposobie wypełnienia tablicy dwuwymiarowej.
» 2014-02-05 22:38:40
Witam, szukam jakiejś podpowiedzi jak wypełnić tablicę dwuwymiarową NxN ale tylko np drugą połowę (np przekątną i to co jest pod nią a reszta aby została pusta), jak by miały wyglądać pętle czy trzeba to po prostu zrobić jakoś inaczej myślę nad tym i nie mam pojęcia:(
P-104071
MrPoxipol
» 2014-02-05 22:55:09
» Kurs C++ » Poziom 3Zagnieżdżanie pętli lekcja
Przykład:
C/C++
#include <iostream>

using namespace std;

int main()
{
    char tab[ 10 ][ 10 ];
   
    // Set tab
    for( size_t i = 0; i < 10; ++i )
    for( size_t j = 0; j < 10; ++j )
    {
        char ch = '-';
        if( i == j )
             ch = '*';
       
        tab[ i ][ j ] = ch;
    }
   
    // Print tab
    for( size_t i = 0; i < 10; ++i )
    {
        for( size_t j = 0; j < 10; ++j )
             cout << tab[ i ][ j ];
       
        cout << endl;
    }
    return 0;
}
wynik:
*---------
-*--------
--*-------
---*------
----*-----
-----*----
------*---
-------*--
--------*-
---------*
Jeśli nie wiesz o co chodzi, to najlepiej rozrysuj sobie plansze (czyli tą tablicę z przekątną) na kartce papieru i zauważ zależność.
P-104072
nie_powiem
Temat założony przez niniejszego użytkownika
dzięki
» 2014-02-05 23:33:39
Dzięki brakowało mi tej podpowiedzi z if, wiedziałem wcześniej jak zrobić po przekątnej ale co dalej;D teraz już wszystko działa jak należy. Jakby ktoś kiedyś tu trafił i miał ten problem to niech po pętli da:
C/C++
char ch = NULL;
if( i == j ) {
    ch = '*'; }

if( i > j ) { ch = '*'; }

tab[ i ][ j ] = ch;
P-104073
MrPoxipol
» 2014-02-06 00:01:47
Warto dodać, że gdy chcesz mieć dostęp do planszy porzez koordynaty x, y musisz odwrócić współrzędne tablicy (zamiast tab[i][j] musisz dać tab[j][i]).
P-104074
« 1 »
  Strona 1 z 1