Se citește de la tastatură un tablou unidimensional a cu n(n <50) elemente numere naturale de
cel mult 9 cifre. Să se realizeze un program care determină:
a) Cifra maximă a fiecărui element.
b) Cel mai mare divizor comun al elementelor tabloului.
În cadrul programului, se vor defini două subprograme:
-funcția cifra, care returnează cifra maximă a valorii transmise prin intermediul unui
parametru valoare.
-funcția cmmdc, care returnează cel mai mare divizor comun a două valori transmise prin
intermediul unor parametri valoare.
Exemplu: pentru n=7 și a = (37,40,13,60,31,11,140) se va afișa
7 4 3 6 3 1 4
1
Răspunsuri la întrebare
Răspuns de
1
#include <iostream>
using namespace std;
int cifra(int x) {
int max=-1;
do {
if (x%10>max) max=x%10;
x/10;
} while (x==0);
return max;
}
int cmmdc(int m, int n) {
if (m==0) return n;
if (n==0) return m;
while(m!=0) {
int r=n%m;
n=m;
m=r;
}
return n;
}
int main() {
int n, v[51], x;
cin>>n;
cin>>v[1]:
for (int i=2; i<=n; i++) {
cin>>v[i]; x=cmmdc(v[1], v[i]); v[1]=v[i];
}
for (int i=1; i<=n; i++) cout<<cifra(v[i])<<' ';
cout<<endl<<x;
return 0;
}
yyyyyy12:
Multumeesc
Alte întrebări interesante
Limba română,
8 ani în urmă
Matematică,
8 ani în urmă
Geografie,
8 ani în urmă
Limba română,
8 ani în urmă
Matematică,
9 ani în urmă
Matematică,
9 ani în urmă