Am nevoie de problema #2363 de pe pbinfo. Corecta va rog! Dau si coronita!!
Răspunsuri la întrebare
Răspuns de
2
#include<iostream.h>
#include<fstream.h>
using namespace std;
int main () { int n,v[100],i,copie,nr_cif,ok,j,x[9];
ifstream f ("joc8.in");
ofstream g ("joc8.out");
cout<<"Cate numere se extrag " ;
f>>n;
for(i=1;i<=n;i++) //Citim numerele extrase
f>>v[i];
for(i=1;i<=n;i++) { ok=1;
copie =v[i];
nr_cif=0;
while (copie) {nr_cif++;
copie=copie/10;}
if(nr_cif%2==0) ok=0; /*Daca numarul are numar par de cifre ok-ul se face 0 */
else {copie=v[i];
poz=0; //Vectorul este suprascris pt fiecare numar
while(copie){
x[++poz]=copie%10; //bagam fiecare cifra in vectorul v
copie=copie/10;}
for(j=nr_cif-1;j>=2;j--) //Parcurgem cifrele de la a 2-a la penultima
if((x[j-1]<x[j]&&x[j]<x[j+1] )||(x[j-1]>x[j]&&x[j]>x[j+1]))
ok=0;} //Verificam conditia cu cifrele alternante
if(ok==1) nr_cifre_alt++;
g<<nr_cifre_alt;
f.close();
g.close();}
#include<fstream.h>
using namespace std;
int main () { int n,v[100],i,copie,nr_cif,ok,j,x[9];
ifstream f ("joc8.in");
ofstream g ("joc8.out");
cout<<"Cate numere se extrag " ;
f>>n;
for(i=1;i<=n;i++) //Citim numerele extrase
f>>v[i];
for(i=1;i<=n;i++) { ok=1;
copie =v[i];
nr_cif=0;
while (copie) {nr_cif++;
copie=copie/10;}
if(nr_cif%2==0) ok=0; /*Daca numarul are numar par de cifre ok-ul se face 0 */
else {copie=v[i];
poz=0; //Vectorul este suprascris pt fiecare numar
while(copie){
x[++poz]=copie%10; //bagam fiecare cifra in vectorul v
copie=copie/10;}
for(j=nr_cif-1;j>=2;j--) //Parcurgem cifrele de la a 2-a la penultima
if((x[j-1]<x[j]&&x[j]<x[j+1] )||(x[j-1]>x[j]&&x[j]>x[j+1]))
ok=0;} //Verificam conditia cu cifrele alternante
if(ok==1) nr_cifre_alt++;
g<<nr_cifre_alt;
f.close();
g.close();}
Utilizator anonim:
Probabil sunt metode mult mai simple dar asta mi-a venit pe moment
Alte întrebări interesante
Matematică,
8 ani în urmă
Istorie,
8 ani în urmă
Matematică,
9 ani în urmă
Matematică,
9 ani în urmă
Matematică,
9 ani în urmă
Engleza,
9 ani în urmă
Matematică,
9 ani în urmă