Răspuns:
#include <fstream>
#include <iostream>
using namespace std;
int main()
{
int n,i=0, nr,k;
char a[18];
ifstream f("cifrevecine.in");
ofstream g("cifrevecine.out");
while (!f.eof())
{
i++;
f>>a[i];
}
f.close();
k=a[i-1]-'0';
n=i-2;
i=1;
while (a[i]>=a[i+k] && i+k<n) i++;
if(i+k<n)
{for (nr=1;nr<i;nr++) g<<a[nr];
for (nr=i+k;nr<=n;nr++) g<<a[nr];
}
else
if(i+k==n)
for(nr=1;nr<=i;nr++) g<<a[nr];
else
for(nr=1;nr<n;nr++) g<<a[nr];
g.close();
}
Explicație:
Solutie de 95 p. Nu-mi dau seama ce caz exceptional nu este inclus aici...