Informatică, întrebare adresată de andriesboss92, 9 ani în urmă

Scrieţi un program C/C++ care citeşte de la tastatură un număr natural n (0<n≤100)şi cele3*n elemente ale tabloului unidimensional v, fiecare element fiind un număr natural cu celmult patru cifre fiecare. Tabloul este împărţit în trei zone, cu câte n elemente: prima zonăconţine primele n elemente din tablou, a doua zonă conţine următoarele n elemente dintablou, restul elementelor fiind în zona a treia. Programul va interschimba primul elementpar (dacă există) al zonei unu cu ultimul element impar (dacă există) al zonei trei şi apoi vascrie pe prima linie a fişierului text BAC.TXT toate elementele tabloului, separate prin câteun spaţiu. În cazul în care unul dintre aceste două elemente, care urmează a fiinterschimbate, nu există, programul nu va efectua nici o modificare asupra tabloului dat.Exemplu: pentru n=3 şi v=(prima imagine), fişierul BAC.TXT va conţine:1 9 3 4 5 6 7 8 2 ( a doua imagine )

Anexe:

Răspunsuri la întrebare

Răspuns de blindseeker90
3
Singurul caz in care schimbul de elemente nu este posibil este acela in care n=1, pentru ca atunci nu avem nici un element par in prima treime. De la n=2 incolo, intotdeauna primul element par va fi elementul 2 din sir.
Pe de cealalta parte, in ultima treime avem doua cazuri
daca n este par, atunci ultimul element impar este penultimul(pentru ca ultimul este par)
daca n este impar, atunci ultimul element impar este ultimul din sir

Codul este mai jos
#include <iostream>
#include <fstream>
using namespace std;

int main(){
ofstream obac("BAC.TXT");
int n,i,temp,secund;
cin>>n;
int v[3*n];
for(i=0;i<3*n;i++){
cin>>v[i];
}

if(n>1){
if(n%2==0){
secund=3*n-2;
}
else{
secund=3*n-1;
}
temp=v[1];
v[1]=v[secund];
v[secund]=temp;
}
for(i=0;i<3*n;i++){
obac<<v[i]<<" ";
}
return 0;
}

andriesboss92: Imi poti spune te rig rolul acestui if..
andriesboss92: if(n%2==0){
secund=3*n-2;
}
else{
secund=3*n-1;
}
andriesboss92: rog*
blindseeker90: daca n este par, atunci ultimul element impar este penultimul(pentru ca ultimul este par)
daca n este impar, atunci ultimul element impar este ultimul din sir
blindseeker90: secund stabileste care este ultimul element impar din ultima treime in functie de paritatea lui n
andriesboss92: aa.. sper ca nu te deranjeaza ca la fiecare raspuns te intreb ce face aia... sau aia :D
blindseeker90: nu, ca asa se invata
Alte întrebări interesante