Se citeste un nr n.Inserati dupa fiecare clipa para o cifra egala cu jumatate din ea.
in c++ Va rog este urgent
Răspunsuri la întrebare
Răspuns de
4
#include <iostream>
using namespace std;
//Avem de exemplu numarul 78946.
int main()
{
int n,V[50],k=1;
cin>>n;
for(int i=1;i<=k;i++)
{
V[i] = n%10;
n = n/10; //vectorul va fi: 64987
if(n!=0) {k++;} //cu pozitiile: 12345
}
for(int j=k;j>=1;j--) //extragem vectorul de la cap la coada, k este nr, termenilor.
{ //din vectorul 64987 vom extrage: 78946
//cu pozitiile: 54321
if(k%2!=0) //daca, k, impar
{
if(j%2 == 0) // vom alege pozitiile pare.
{
cout<<" "<<(V[j])/2;
}
}
else //daca k este par, de exemplu, am avea 7896
//cu pozitiile 4321
{
if(j%2!=0) // vom alege pozitiile impare.
{
cout<<" "<<(V[j])/2;
}
}
}
}
Alta varianta, prin care "intoarcem" vectorul, ca sa nu ne mai chinuim cu pozitiile pare si impare:
#include <iostream>using namespace std;
//Avem de exemplu vectorul 78946.
int main(){int n,V[50],A[50],k=1;
cin>>n;
for(int i=1;i<=k;i++)
{
V[i] = n%10;
n = n/10; //Vom avea vectorul V = {6,4,9,8,7}
if(n!=0) {k++;}
}
int j=0;
for(int i = k;i>=1;i--)
{ //k reprezinta numarul elementelor din V, aici k = 5.
j++; //Extragem din vectorul V = {6,4,9,8,7}
//cu pozitiile: 1 2 3 4 5
A[j] = V[i]; //A[1] = V[5};,, A[2] = V[4],,,A[3] = V[3], .... ,A[5] = V[1} cout<<A[j]; //Vom avea vectoril A = {7,8,9,4,6}
//cu pozitiile: 1 2 3 4 5
}
cout<<endl;
for(int i = 1;i<=j;i++) //j reprezinta numarul termenilor lui A, in cazul nostru 5
{
if(i%2 == 0)
{
cout<<" "<<(A[i])/2;
}
}
}
using namespace std;
//Avem de exemplu numarul 78946.
int main()
{
int n,V[50],k=1;
cin>>n;
for(int i=1;i<=k;i++)
{
V[i] = n%10;
n = n/10; //vectorul va fi: 64987
if(n!=0) {k++;} //cu pozitiile: 12345
}
for(int j=k;j>=1;j--) //extragem vectorul de la cap la coada, k este nr, termenilor.
{ //din vectorul 64987 vom extrage: 78946
//cu pozitiile: 54321
if(k%2!=0) //daca, k, impar
{
if(j%2 == 0) // vom alege pozitiile pare.
{
cout<<" "<<(V[j])/2;
}
}
else //daca k este par, de exemplu, am avea 7896
//cu pozitiile 4321
{
if(j%2!=0) // vom alege pozitiile impare.
{
cout<<" "<<(V[j])/2;
}
}
}
}
Alta varianta, prin care "intoarcem" vectorul, ca sa nu ne mai chinuim cu pozitiile pare si impare:
#include <iostream>using namespace std;
//Avem de exemplu vectorul 78946.
int main(){int n,V[50],A[50],k=1;
cin>>n;
for(int i=1;i<=k;i++)
{
V[i] = n%10;
n = n/10; //Vom avea vectorul V = {6,4,9,8,7}
if(n!=0) {k++;}
}
int j=0;
for(int i = k;i>=1;i--)
{ //k reprezinta numarul elementelor din V, aici k = 5.
j++; //Extragem din vectorul V = {6,4,9,8,7}
//cu pozitiile: 1 2 3 4 5
A[j] = V[i]; //A[1] = V[5};,, A[2] = V[4],,,A[3] = V[3], .... ,A[5] = V[1} cout<<A[j]; //Vom avea vectoril A = {7,8,9,4,6}
//cu pozitiile: 1 2 3 4 5
}
cout<<endl;
for(int i = 1;i<=j;i++) //j reprezinta numarul termenilor lui A, in cazul nostru 5
{
if(i%2 == 0)
{
cout<<" "<<(A[i])/2;
}
}
}
Alte întrebări interesante
Chimie,
8 ani în urmă
Limba română,
8 ani în urmă
Matematică,
9 ani în urmă
Matematică,
9 ani în urmă
Limba română,
9 ani în urmă
Limba română,
9 ani în urmă