Informatică, întrebare adresată de alexlolshockp1aywd, 9 ani în urmă

Cerinţa
Scrieți definiția completă a subprogramului numar, care primește prin intermediul parametrului n un număr natural nenul (1≤n≤100), iar prin intermediul parametrului a, un tablou unidimensional care conţine n valori naturale.

Subprogramul furnizează prin parametrul k o valoare naturală egală cu numărul obţinut prin concatenarea valorii maxime cu valoarea minimă din tablou.

Restricţii şi precizări
1 ≤ n ≤ 100
numele subprogramului cerut este numar
parametrii sunt, în această ordine: n, a, k
elementele vectorului a sunt indexate de la zero

Exemplu
Dacă n=6 și a= (120, 34, 51, 26, 403, 71), după apel k=40326.

Solutia mea:
void numar(int n,int a[], int k)
{
int minim=1000, maxim=0, copie, nrcf=0;
for(int i=0;i {
if(minim>a[i])
minim=a[i];
if(maxim maxim=a[i];
}
copie=minim;
while(copie)
{
nrcf++;
copie/=10;
}
for(int i=1;i<=nrcf;i++)
maxim=maxim*10;
k=maxim+minim;
cout< }
imi da eroarore? ajutor va rog?

Răspunsuri la întrebare

Răspuns de S0unds
0
//Solutia ta era partial ok,
//Ai avut mici erori precum
//"ampersant"-ul trebuia
//pus inaintea lui k.
//Solutia mea:
#include <iostream>
using namespace std;
void numar(unsigned int n, int a[], int &k)
{
int max,min,i2=1,x;
max=a[0];
min=a[0];
for(int i=0;i<n;i++)
{
if(max<a[i])
max=a[i];
}
for(int i=0;i<n;i++)
{
if(min>a[i])
min=a[i];
}
x=min;
while(x!=0)
{
i2*=10;
x/=10;
}
k=max*i2+min;
}
int main()
{
unsigned int n;
int a[100],k;
cin>>n;
for(int i=0;i<n;i++)
cin>>a[i];
numar(n,a,k);
cout<<k;
}

alexlolshockp1aywd: Mutlumesc!
S0unds: npc
Alte întrebări interesante