Pereiti prie turinio

Masyvo skaičių apkeitimas


Rekomenduojami pranešimai

Žodžiu reikia apkeisti masyvo duomenis, pvz jeigu yra 6 duomenys masyve, tai 1-6, 2-5 ir t.t.

 

Parašiau kodą:

#include <iostream>
const int CIlgis = 100;
using namespace std;
void Ivedimas(int &n, int A[]);
void Apkeitimas(int n, int A[]);

int main(){
   int mas[CIlgis], n;
   Ivedimas(n, mas);
   Apkeitimas(n, mas);
   return 0;
}
void Ivedimas(int &n, int A[]){
   cout << "Iveskite kiek skaiciu bus: "; cin >> n;
   for(int i = 0; i < n; i++){
       cout << "Iveskite skaiciu, nr " << i << " "; cin >> A[i];
   }
}
void Apkeitimas(int n, int A[]){
   int temp;
   for(int i = 0; i < n; i++){
       swap(A[i], A[n-(i+1)]);
       cout << A[i] << endl;
   }
}

 

Bet apkeičia tik pusę narių(http://prntscr.com/5l373v), nors turėtų visus apkeist.. Nesuprantu kas blogai, gal galit paaiškinti, ką blogai padariau?

Nuoroda į pranešimą
Dalintis kituose puslapiuose

Žodžiu reikia apkeisti masyvo duomenis, pvz jeigu yra 6 duomenys masyve, tai 1-6, 2-5 ir t.t.

 

Parašiau kodą:

#include <iostream>
const int CIlgis = 100;
using namespace std;
void Ivedimas(int &n, int A[]);
void Apkeitimas(int n, int A[]);

int main(){
   int mas[CIlgis], n;
   Ivedimas(n, mas);
   Apkeitimas(n, mas);
   return 0;
}
void Ivedimas(int &n, int A[]){
   cout << "Iveskite kiek skaiciu bus: "; cin >> n;
   for(int i = 0; i < n; i++){
       cout << "Iveskite skaiciu, nr " << i << " "; cin >> A[i];
   }
}
void Apkeitimas(int n, int A[]){
   int temp;
   for(int i = 0; i < n; i++){
       swap(A[i], A[n-(i+1)]);
       cout << A[i] << endl;
   }
}

 

Bet apkeičia tik pusę narių(http://prntscr.com/5l373v), nors turėtų visus apkeist.. Nesuprantu kas blogai, gal galit paaiškinti, ką blogai padariau?

 

Apkeitimas turėtų vykti tik iki n/2, o pas tave vyksta iki n.

Todėl tavo programa swapina masyvo narius šitaip:

0-4

1-3

2-2

3-1

4-0

Tu kuriuos paboldinau neturėtų swapint, nes taip sugrąžina seną tvarką, o 2-2 neatlieka naudingo darbo :)

Redagavo vsbenas
Nuoroda į pranešimą
Dalintis kituose puslapiuose

Apkeitimas turėtų vykti tik iki n/2, o pas tave vyksta iki n.

Todėl tavo programa swapina masyvo narius šitaip:

0-4

1-3

2-2

3-1

4-0

Tu kuriuos paboldinau neturėtų swapint, nes taip sugrąžina seną tvarką, o 2-2 neatlieka naudingo darbo :)

Aišku, dėkui. :)

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ą...