Răspuns :
#include <fstream>
using namespace std;
ifstream cin("date.in");
ofstream cout("date.out");
int n,m,vec[1001],c=0,maxim=-2147483648;
int main(){
cin>>n;
for(int i=1;i<=n;i++)cin>>vec[i];
for(int i=1;i<=n;i++){
m=vec[i];
while(m){
c=m%10;
if(c>maxim)maxim=c;
m=m/10;
}
if(maxim%2!=0)cout<<vec[i]<<" ";
c=0;
}
}
Răspuns:
#include <iostream>
#include <fstream>
using namespace std;
ifstream f("date.in");
ofstream g("date.out");
int v[1000],ci[1000];
int main()
{
int num,n=0,i,cmax,c;
while (f >> num) {
v[n]=num; cmax=0;
while (num) {
c=num%10;
if (c%2==1 && c>cmax) cmax=c;
num=num/10;
}
ci[n]=cmax;
++n;
}
cmax=ci[0];
for (i=1; i<n; i++) {
if (ci[i]>cmax) cmax=ci[i];
}
int s=0;
for (i=0; i<n; i++) {
if (ci[i]==cmax) {
s=s+v[i];
}
}
g << s;
return 0;
}
Explicație:
- Se citesc numerele din date.in in vectorul v.
- Se completează și vectorul ci cu cifra impară maximă a numărului citit.
- Se găsește cifra maximă impară din vectorul ci
- Se calculează suma numerelor din vectorul v, ce au cifra impară maximă;
- Se scrie suma calculată în date.out.
Succese!