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

In pseudocod C++ M-am blocat la aceasta problema...
Multumesc anticipat!

Fiind dat un șir de N numere întregi pozitive, să se afișeze pe ecran numerele șirului inițial, cu următoarele modificări:

Numerele pare se vor afla pe primele poziții din șir, în ordine crescătoare a pozițiilor în șirul inițial.
Numerele impare se vor afla după numerele pare, în ordine descrescătoare a pozițiilor în șirul inițial.
Date de intrare
Se vor citi:

Un număr întreg N
Un șir de N numere întregi pozitive
Date de ieșire
Pe ecran se va afișa șirul modificat.

Restricții
N < 1000
Numerele din șir vor fi mai mici sau egale decât 1000

Exemplu
Date de intrare Date de ieșire
5
1 8 7 4 5 8 4 5 7 1

Răspunsuri la întrebare

Răspuns de MichaelKing
1

#include <iostream>

using namespace std;

int main()

{

int i,v[1000], N;

cin>>N;

for(i=1;i<=N;i++)

cin>>v[i];

for(i=1;i<=N;i++)

if(v[i]%2==0)

cout<<v[i]<<" ";

for(i=N;i>=1;i--)

if(v[i]%2==1)

cout<<v[i]<<" ";

return 0;

}




andriesboss92: Pseudocod !
Răspuns de andriesboss92
0

VARIANTA PSEUDOCOD

citeste N ( numar natural nenul )

╔ pentru ( i=1; N; i<-i+1)

║ citeste a[ i ]

║ ╔ daca a[ i ] % 2 =0

║ ║ k<-k+1

║ ║ v[k]<-a[ i ]

║ ╚◘

╚◘


╔ pentru ( i=N;i>=1; i<-i-1)

║ ╔ daca a[i]%2 !=0

║ ║ k<-k+1

║ ║ v[k]<-a[i]

║ ╚◘

╚◘

╔ pentru ( i=1; N; i<-i+1)

║ scrie v[i],' '

╚◘


VARIANTA C++


Anexe:

MichaelKing: pentru i<=1,n executa scrie v[i]
andriesboss92: pai si unde pui tu altfel? Nu ai nici o conditie de "daca "
MichaelKing: la randul 3, in loc de kp<=kp+1 trebuie scris: kp<-kp+1
andriesboss92: sa nu-mi spui ca tu pui "altfel" in primul "pentru".. Pai daca faci problema cum ai spus tu... vectorul v va fi identic cu a
andriesboss92: Ce-i drept.. am gresit structura "pentru". Trebuia ..... pentru i<=1, N executa .
MichaelKing: dupa {v[kp]=x;kp<=kp+1} mai trebia o aacolada, adica: {v[kp]=x;kp<=kp+1}}
MichaelKing: mai exact, dupa {v[ki]=x;ki<-ki-1} mai trebia o acolada, adica: {v[ki]=x;ki<-ki-1}}. Lipsa unui editor de texte corespunzator nu ne ajuta deloc....
andriesboss92: eu am inteles ce vrei sa spui.. insa problema mea este alta.. daca faci problema cum ai spus tu... pentru .. {citeste x daca x%2 executa{... }altfel executa{...} } sfarsit pentru .... daca tu faci asa... in vectorul v vei avea exact cifrele lui x in ordinea citita... trebuie 2 structuri repetitive "pentru", pentru a rezolva corect problema...
MichaelKing: Verifica in C++
MichaelKing: Si pt. constructia lui v este suficienta o str. repetitiva.
Alte întrebări interesante