C++
Să se scrie un program care citește de la tastatură caractere până la întâlnirea caracterului „?”. Să se afișeze caracterele introduse de la tastatură având următoarea condiție:
Dacă au fost introduse două caractere consecutive (din punct de vedere alfabetic, ex. „ab”), caracterul curent (al doilea caracter din cele două valori consecutive, ex. „b” din ”ab”) va fi înlocuit cu media tuturor caracterelor introduse de la tastatură până în punctul respectiv.
Date de intrare: Pe o linie caractere.
Date de ieșire:
Caracterele introduse de la tastatură cu modificările din cerință.
Exemplu:
Date de intrare:
afghtkij?
Date de ieșire:
afdetkii
Răspunsuri la întrebare
Răspuns de
1
Salut!
Ai rezolvarea in C++ mai jos
#include <iostream>
using namespace std;
int main() {
char c[10001];
int s = 0, cnt = 0;
bool sep = false;
cin >> c;
for (int i = 0; c[i] != '?'; ++i) {
s += c[i];
cnt++;
if (!sep) {
cout << c[i];
}
else {
cout << (char)(s/cnt);
sep = false;
}
if (c[i] == c[i + 1] - 1) {
sep = true;
}
}
return 0;
}
Alte întrebări interesante
Matematică,
8 ani în urmă
Istorie,
8 ani în urmă
Matematică,
8 ani în urmă
Limba română,
8 ani în urmă
Matematică,
8 ani în urmă
Matematică,
9 ani în urmă
Limba română,
9 ani în urmă
Matematică,
9 ani în urmă