Răspuns :
punctul 1 *****************************
#include <iostream>
using namespace std;
void inserare(long long &n)
{
short v[11], j=-1, i, dif;
long long m=n;
for (i=0; i<11; ++i)
v[i]=0;
while (m)
{
v[++j]=m%10;
++j;
m=m/10;
}
cout << j << "\n";
for (int i=1; i<j-1; i+=2)
{
dif=v[i+1]-v[i-1];
if (dif>=0) v[i]=dif;
else v[i]=-dif;
}
for (i=j-1; i>=0; --i)
m=m*10+v[i];
n=m;
}
int main()
{
long long n;
cout << "n= "; cin >> n;
inserare(n);
cout << n;
}
******************** punctul 2 ***********************
#include <iostream>
#include <cstring>
using namespace std;
char cuv[4][15]={"COLEGIUL","LICEUL","NATIONAL","TEORETIC"},
t[50], s[80], *p, sep[]=" ";
int poz, i, n, k;
int main()
{
cin.getline(t,50);
p=strtok(t,sep);
while (p)
{
n=strlen(p);
if (p[n-1]!='.') strcat(s,p);
else
{
p[n-1]='\0';
for (k=0; k<4; ++k)
{
if (strstr(cuv[k],p))
{
strcat(s,cuv[k]);
break;
}
}
}
p=strtok(NULL, sep);
if (p) strcat(s, " ");
}
cout << s << "\n";
}
****************** punctul 3 ************************
#include <iostream>
#include <fstream>
using namespace std;
ifstream f("bac.txt");
int n, i, num,p1,i1,p2,i2,maxp1,maxi1,minp2,mini2, paritar;
int main()
{
f >> n;
for (i=1; i<=n; ++i)
{
f >> num;
if (num%2)
{
if (i1==0) {maxi1=num; i1=1;}
else if (num>maxi1) maxi1=num;
}
else
{
if (p1==0) {maxp1=num; p1=1;}
else if (num>maxp1) maxp1=num;
}
}
for (i=n+1; i<=2*n; ++i)
{
f >> num;
if (num%2)
{
if (i2==0) {mini2=num; i2=1;}
else if (num<mini2) mini2=num;
}
else
{
if (p2==0) {minp2=num; p2=1;}
else if (num<minp2) minp2=num;
}
}
if (p1*i1)
{
if (p2*i2) paritar=1;
else
{
if (p2)
{
if (maxi1<minp2) paritar=1;
}
else
{
if (maxp1<mini2) paritar=1;
}
}
}
else
{
if (p1)
{
if (p2) paritar=1;
else
{
if (maxp1<mini2) paritar=1;
}
}
else
{
if (i2) paritar=1;
else
{
if (maxi1<minp2) paritar=1;
}
}
}
if (paritar) cout << "DA";
else cout << "NU";
}
***************************** STOP ****************************