Pereiti prie turinio

C++ dvimatis masyvas; šalutinė istrižainė


Rekomenduojami pranešimai

Sveiki, susiduriau su problema jau negaliu nieko padaryt daugiau.

 

Viską kaip ir suprantu, tik ant vieno dalyko užstrigau.

 

Reikia nuskaityt dvimatčio masyvo visus skaičius kurie yra po šalutine istrižainę.

 

Pvz.

 

5 4 6 4

8 8 4 2

3 4 2 3

7 9 5 1

 

ir turėtu nuskaityt šitus paryškintus skaičius.

 

Visaip bandžiau bet neina parašyt ciklo kad tai padarytu.

 

Gal galėtumėt padėti?

Redagavo LucasPetka
Nuoroda į pranešimą
Dalintis kituose puslapiuose

Sveiki, susiduriau su problema jau negaliu nieko padaryt daugiau.

 

Viską kaip ir suprantu, tik ant vieno dalyko užstrigau.

 

Reikia nuskaityt dvimatčio masyvo visus skaičius kurie yra po šalutine istrižainę.

 

Pvz.

 

5 4 6 4

8 8 4 2

3 4 2 3

7 9 5 1

 

ir turėtu nuskaityt šitus paryškintus skaičius.

 

Visaip bandžiau bet neina parašyt ciklo kad tai padarytu.

 

Gal galėtumėt padėti?

yra kokie masyvo dydžio kintamieji?

Nuoroda į pranešimą
Dalintis kituose puslapiuose

Tai tiek suprantu, bet nelabai numanau kaip padaryt, gal galėtum trumpai, praktiškai parodyt?

gal yra geresnis / trumpesnis būdas bet galvoje sukasi toks.

Pereini per masyvą visą, ieškai kada eilutė = stulpeliui, tada naujame masyve išsisaugai to skaičiaus eilutę ir stulpelį,

 

Suki dar vieną ciklą tada eilutėje išsaugai tuos skaičius kurie tam tikroje eilutėje yra toliau uz tavo pirmame masyve išsaugota stulpelio numerį ir pasiėmi tuos skaičius.

Sukdamas antrą ciklą gali neitruakti pirmos ir paskutinės eilutės.

Nuoroda į pranešimą
Dalintis kituose puslapiuose

gal yra geresnis / trumpesnis būdas bet galvoje sukasi toks.

Pereini per masyvą visą, ieškai kada eilutė = stulpeliui, tada naujame masyve išsisaugai to skaičiaus eilutę ir stulpelį,

 

Suki dar vieną ciklą tada eilutėje išsaugai tuos skaičius kurie tam tikroje eilutėje yra toliau uz tavo pirmame masyve išsaugota stulpelio numerį ir pasiėmi tuos skaičius.

Sukdamas antrą ciklą gali neitruakti pirmos ir paskutinės eilutės.

 

O jeigu masyvas pvz yra 4 eil. ir 5 stulp. tai blogai skaiciuos

Nuoroda į pranešimą
Dalintis kituose puslapiuose

Turim dvi matricas, vienoje iš jų kiekvieno langelio vertė atitinka x koordinatei, kitoje – y.

0 1 2 3 4       0 0 0 0 0
0 1 2 3 4       1 1 1 1 1
0 1 2 3 4       2 2 2 2 2
0 1 2 3 4       3 3 3 3 3
0 1 2 3 4       4 4 4 4 4

 

Jeigu jas sudedam, gaunam:

0 1 2 3 4
1 2 3 4 5
2 3 4 5 6
3 4 5 6 7
4 5 6 7 0

 

Matom, kad langeliai, esantys toje pačioje įstrižainėje, turi tokią pačią sumą. Iš čia:

for (int i = 0; i < n; i++) {
 for (int j = 0; j < n; j++) {
   if (i + j > ?) {
     cout << m[i][j] << ' ';
   }
 }
}

 

Palieku pačiam pagalvoti, ką užrašyti klaustuko vietoj.

Nuoroda į pranešimą
Dalintis kituose puslapiuose

Na aišku galima ir taip, bet geriau tiesiog iteruoti per reikiamus masyvo elementus, o ne kiekvienoje iteracijoje tikrinti ir dabar esi tinkamame langelyje.

for(int i = 0; i < n; i++){
 for(int j = n-i; j < n; j++){
   //stuff
 }
}

Disclaimer: kodo neleidau, gali pasitaikyti kokių off-by-one klaidų.

Nuoroda į pranešimą
Dalintis kituose puslapiuose

Prisijunkite prie diskusijos

Jūs galite rašyti dabar, o registruotis vėliau. Jeigu turite paskyrą, prisijunkite dabar, kad rašytumėte iš savo paskyros.

Svečias
Parašykite atsakymą...

×   Įdėta kaip raiškusis tekstas.   Atkurti formatavimą

  Only 75 emoji are allowed.

×   Nuorodos turinys įdėtas automatiškai.   Rodyti kaip įprastą nuorodą

×   Jūsų anksčiau įrašytas turinys buvo atkurtas.   Išvalyti redaktorių

×   You cannot paste images directly. Upload or insert images from URL.

Įkraunama...
  • Dabar naršo   0 narių

    Nei vienas registruotas narys šiuo metu nežiūri šio puslapio.

  • Prisijunk prie bendruomenės dabar!

    Uždarbis.lt nariai domisi verslo, IT ir asmeninio tobulėjimo temomis, kartu sprendžia problemas, dalinasi žiniomis ir idėjomis, sutinka būsimus verslo partnerius ir dalyvauja gyvuose susitikimuose.

    Užsiregistruok dabar ir galėsi:

    ✔️ Dalyvauti diskusijose;

    ✔️ Kurti naujas temas;

    ✔️ Rašyti atsakymus;

    ✔️ Vertinti kitų žmonių pranešimus;

    ✔️ Susisiekti su bet kuriuo nariu asmeniškai;

    ✔️ Naudotis tamsia dizaino versija;

    ir dar daugiau.

    Registracija trunka ~30 sek. ir yra visiškai nemokama.

  • Naujausios temos

  • Karštos temos

×
×
  • Pasirinkite naujai kuriamo turinio tipą...