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

Tablice dwuwymiarowe, wypelnianie tablic

Object Storage Arubacloud
0 głosów
1,716 wizyt
pytanie zadane 22 października 2019 w C i C++ przez disi22 Początkujący (300 p.)

Witam mam do zrobienia zadanie wklejam ponizej:

4. Proszę napisać fragment kodu, który wypełnia dwuwymiarową tablicę o rozmiarach const int W × const int K znanych w czasie kompilacji kolejnymi liczbami „wężykiem” w pierwszej kolumnie od góry w dół, w drugiej od dołu w górę i tak na zmianę. Przykład dla W == 5 i K == 4:

1 10 11 20

2 9 12 19

3 8 13 18

4 7 14 17

5 6 15 16

itd.

Oraz wklejam kod ktory udalo mi sie zrobic do tej pory. Moglby ktos pomoc/podrzucic podpowiedz gdzie jest blad :)?.  Udalo mi sie takze zrobic kod wezykiem poprzez wpisywanie do kazdej tablicy osobno, aby wyszedl wezyk, ale jest to bez sensu i bardzo czasochlonne i na pewno jest jakis szybszy sposob na to.

#include <iostream>
#include <iomanip>



using namespace std;

int main()
{
    int misiak[5][4];

    for(int i=0;i<5;i++)
    {
        if (i==0)
        {
            for (int j=0;j<4;j++)
            cout<<" "<<endl;
        }
        for (int j=0;j<5;j++)
        {

            misiak[i][j]=(j+i);




        }
    }

    for (int i=0;i<5;i++)
    {
        for (int j=0;j<4;j++)
        {
            if (j==0)
            {
                cout<<" "<<setw(4)<<endl;
            }
            cout<<" "<<setw(4)<<misiak[i][j];
        }
        cout<<endl;

    }


    return 0;
}

 

1 odpowiedź

+1 głos
odpowiedź 22 października 2019 przez DawidK Nałogowiec (37,910 p.)

Możliwych rozwiązań jest pewnie trochę więcej.

Dla przykładu, który podałeś (5 wierszy i 4 kolumny) można zapisać:

1   10   11   20

2   9    12   19

3   8    13   18

4   7    14   17

5   6    15   16

można zauważyć, że liczby zmieniają się cyklicznie

1     +9     +1     +9

2     +7     +3     +7

3     +5     +5     +5

4     +3     +7     +3

5     +1     +9     +1

czyli w wierszach parzystych zmienia się +9 +7 +5 +3 +1 w wierszach nieparzystych +1 +3 +5 +7 +9

najwyższa wartość o którą liczby mogą się zmienić to 2 razy kolumna minus 1

#include <iostream>

using namespace std;

int rows;
int columns;
int number = 1;
int mod = 1;

int main()
{
    cout << "Podaj ilosc wierszy" << endl;
    cin >> rows;

    cout << "Podaj ilosc kolumn" << endl;
    cin >> columns;

    cout << "Wierszy: " << rows << endl;
    cout << "Kolumn: " << columns << endl;

    for(int i=0; i<rows ; i++){
        for(int j=0; j<columns ; j++) {
            cout << number << " ";
            if(j%2 == 1){
                number = number + mod;
            } else {
                number = number + rows*2 - mod;
            }
        }
        number = i+2;
        mod = mod + 2;
        cout << endl;
    }

    return 0;
}

pewnie można to jeszcze jakoś uprościć

Podobne pytania

0 głosów
2 odpowiedzi 1,133 wizyt
0 głosów
1 odpowiedź 163 wizyt
pytanie zadane 18 listopada 2015 w C i C++ przez sngl00 Obywatel (1,110 p.)
0 głosów
1 odpowiedź 289 wizyt
pytanie zadane 13 listopada 2022 w C i C++ przez natalia2002. Początkujący (400 p.)

92,579 zapytań

141,429 odpowiedzi

319,657 komentarzy

61,962 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!

...