3. Scrieti functii care sa efectueze urmatoarele:
a) elimina cifrele impare dintr-un numar (numarul initial se transforma in functie)
b) returneaza prima cifra a unui numar
c) elimina dintr-un numar prima si ultima cifra.
a)#include<iostream>
using namespace std;
int elimina(int &n)
{int k,r,p=0;
k=1;
while(n)
{if(n%10%2==0)
{p=n%10*k+p;k=k*10;}
n=n/10;}
n=p;
}
int main()
{int n;
cin>>n;
elimina(n);
cout<<n;
}
b)#include<iostream>
using namespace std;
int prima(int n)
{while(n>=10)
n=n/10;
return n;
}
int main()
{int n;
cin>>n;
cout<<prima(n);
}
c) #include<iostream>4. Se da un tablou de numere intregi.
using namespace std;
void elimina(int &n)
{int k,r,p=0;
k=1;
n=n/10;
while(n>10)
{
{p=n%10*k+p;k=k*10;}
n=n/10;}
n=p;
}
int main()
{int n;
cin>>n;
elimina(n);
cout<<n;
}
a) sa se determine elementul maxim si cel minim(intr-o singura functie)
b) sa se afle numarul de aparitii ale unei valori date, k, in tablou
c) sa se elimine elementul de pe pozitia t
Se vor scrie functii pentru citirea si afisarea unui tablou.
#include<iostream>
using namespace std;
void citire(int n, int a[])
{int i;
for(i=0;i<n;i++)
cin>>a[i];
}
void afisare(int n, int a[])
{int i;
for(i=0;i<n;i++)
cout<<a[i]<<" ";
}
void maxmin(int n, int a[], int &max, int &min)
{int i;
max=a[0];min=a[0];
for(i=0;i<n;i++)
if(a[i]>max)
max=a[i];
if(a[i]<min)
min=a[i];
}
int aparitii(int n, int a[], int k)
{int i,p=0;
for(i=0;i<n;i++)
if(a[i]==k)
p++;
return p;
}
void elimina(int &n, int a[], int t)
{int i;
for(i=t;i<n;i++)
a[i]=a[i+1];
n--;
}
int main()
{int n,a[100],max,min,k,t;
cout<<"k=";cin>>k;
cout<<"t=";cin>>t;
cout<<"n=";cin>>n;
cout<<"Citire vector"<<endl;citire(n,a);
afisare(n,a);
cout<<endl;
maxmin(n,a,max,min);
cout<<"MAX MIN: "<<max<<" "<<min<<endl;
cout<<aparitii(n,a,k)<<" aparitii ale el "<<k<<endl;
elimina(n,a,t);
afisare(n,a);
}