Informatică, întrebare adresată de anastasia2244, 8 ani în urmă

Va roggg
Se citeste un sir de numere pana la intalnirea valorii 0.
a) Sa se numere cate dintre ele au suma divizorilor un numar par
b) Sa se afiseze toate numerele care au exact 3 cifre de “1”
c) Sa se verifice daca numerele sunt scrise in ordine crescatoare
d) Se citeste o cifra k. Sa se afiseze numerele care au prima cifra divizibila cu k
exemplu: k=3
357, 631, 243, 91, 8, 6, 5, 0

se va afisa 357, 631, 91, 6

e) Sa se determine numarul maxim din sir si de cate ori apare
exemplu: 35, 7, 35, 1, 18, 27, 31, 35, 0
se va afisa 35, 3


lucaciucandrei: pascal sau c++?
anastasia2244: c++
lucaciucandrei: ok, sa dai coroana
anastasia2244: sigur
lucaciucandrei: trebuie sa fie program diferit pentru fiecare subpunct sau sunt toate intr-un singur program?
anastasia2244: asta nu stiu nici eu sigur dar poti sa le faci separat ca banuiesc ca e mai usor
lucaciucandrei: ok

Răspunsuri la întrebare

Răspuns de lucaciucandrei
2

a)

#include<iostream>

using namespace std;

int main(){

   int x, sdp=0;

   cin>>x;

   while(x!=0){

       int s=0;

       for(int i=1;i<=x;i++) if(x%i==0) s+=i;

       if(s%2==0) sdp++;

       cin>>x;

   }

   cout<<sdp;

   return 0;

}

b)

#include<iostream>

using namespace std;

int main(){

   int x, nr1=0, v[101], i=1;

   cin>>x;

   while(x!=0){

       int k=0, cx=x;

       while(cx!=0) if(cx%10==1) k++;

       if(k==3) v[i++]=x;

       cin>>x;

   }

   for(int j=1;j<=i-1;j++) cout<<v[j]<<' ';

   return 0;

}

c)

#include<iostream>

using namespace std;

int main(){

   int x, y;

   cin>>x;

   if(x==0) {cout<<"nu avem nr"; return 0;}

   while(x!=0){

       cin>>y;

       if(x>y&&y!=0) {cout<<"nu"; return 0;}

       x=y;

   }

   cout<<"da";

   return 0;

}

d)

#include<iostream>

using namespace std;

int main(){

   int x, k, nr=0, v[1001], i=1;

   cin>>k>>x;

   while(x!=0) {

       if(((x%10)%k)==0) v[i++]=x;

       cin>>x;

   }

   for(int j=1;j<=i-1;j++) cout<<v[j]<<' ';

   return 0;

}

e)

#include<iostream>

using namespace std;

int main(){

   int x, y, max, v[1001], i=1, k=0;

   cin>>x;

   if(x==0) {cout<<"nu avem nr"; return 0;}

   max=x;

   v[i++]=x;

   while(x!=0){

       cin>>y;

       if(max>y&&y!=0) max=y;

       v[i++]=y;

       x=y;

   }

   for(int j=1;j<=i-1;j++) if(max==v[j]) k++;

   cout<<max<<", "<<k;

   return 0;

}


anastasia2244: ah dar n am facut inca vectorii
lucaciucandrei: pai fara vectori anumite puncte din problema nu se pot face!
lucaciucandrei: spre exemplu cel cu afisarea numerelor divizibile cu k, nu poti sa si citesti sa si afisezi in acelasi timp, ar iesi un haos
lucaciucandrei: doar daca citeste datele pe aceeasi linie
anastasia2244: ia stai
anastasia2244: aici nu pot sa dau msj privat inca
anastasia2244: ai instza?
Alte întrebări interesante