Răspuns :
Răspuns:
#include <iostream>
#include <fstream>
#include <string.h>
using namespace std;
ifstream f("aur.in");
ofstream g("aur.out");
long long P, mx;
int main() {
char s[2776];
string j = "";
long long n, sol, poz, test;
long long k = 0;
f >> sol;
if (sol == 1)
f >> n;
if (sol == 2) {
f >> n >> poz;
}
if (sol == 3) {
f >> n >> P;
}
for (int i = 1; i <= n; i++) {
f >> s;
k += strlen(s);
j += s;
}
if (sol == 1)
g << k;
else if (sol == 2)
g << j[poz - 1];
if (sol == 3) {
for (int i = 0; i < j.length(); i++) {
test = 0;
for (int f = i; f < i + P && f < j.length(); f++) {
test = test * 10 + j[f] - '0';
}
// cout << test <<" ";
if (test > mx)
mx = test;
}
g << mx;
}
return 0;
}
Explicație:
Răspuns:
#include <fstream>
using namespace std;
ifstream f("aur.in");
ofstream g("aur.out");
long long nr_max,p=1,nou,nr;
int main()
{
char c,cifraK;
int nr_cif=0,cerinta,K,N,i,P;
f>>cerinta>>N;
if (cerinta==2) f>>K;
else if (cerinta==3) f>>P;
///numarul de cifre scrise pe tablita lui Tândală
if (cerinta==1)
{
while(f>>c)
nr_cif++;
g<<nr_cif<<'\n';
}
else
///afisarea celei de-a K cifre din fisier
if (cerinta==2)
while(f>>c)
{
nr_cif++;
if (nr_cif==K)
{
g<<c<<'\n';
break;
}
}
else
///luam secventele de p cifre consecutive si construim un numar cu ele
{
for(i=1; i<P; i++)
{
f>>c;
nr=nr*10+(c-'0');
p=p*10; //puterea lui p imi indica nr de cifre pe care le are numarul
///p=pow(10,P);
}
nr_max=nr; //presupunem ca acesta este cel mai mare numar de p cifre
while(f>>c)
{
nou=(nr%p)*10+(c-'0'); //rasturnatul numarului nr
if(nou>nr_max) nr_max=nou;
nr=nou;
}
g<<nr_max<<'\n';
}
return 0;
}
Explicație:
Vă mulțumim că ați vizitat site-ul nostru dedicat Informatică. Sperăm că informațiile oferite v-au fost de ajutor. Dacă aveți întrebări sau nevoie de asistență suplimentară, nu ezitați să ne contactați. Vă așteptăm cu drag data viitoare și nu uitați să ne adăugați la favorite!