Se dă un text format din litere ale alfabetului englez și steluțe ('*'), care se poate întinde pe mai multe linii. Aliniază textul la dreapta, astfel încât:
numărul de steluțe dintre 2 cuvinte consecutive de pe aceeași linie să fie păstrate
fiecare linie să se termine cu o literă
la începutul fiecărei linii să fie adăugat un număr suplimentar de steluțe (poate fi 0) astfel încât toate liniile să aibă aceeași dimensiune (același număr de caractere)
numărul de caractere de pe fiecare linie să fie egal cu numărul maxim de caractere de pe o linie din textul inițial
Date de intrare
Se va da un text format din caractere ale alfabetului englez și caractere '*', distribuite pe una sau mai multe linii.
Date de ieșire
Programul va afișa pe ecran textul formatat după criterile prezentate mai sus.
Restricții și precizări
Fiecare linie va conține cel puțin un cuvânt (un grup de litere)
Fiecare linie va conține cel mult 1 000 caractere
1 ≤ numarul de linii din text ≤ 20
Date de intrare:
Acesta*este
********un****text
***impartit*pe*mai
*multe*linii
Date de iesire:
*******Acesta*este
********un****text
***impartit*pe*mai
*******multe*linii
Am incercat si eu ceva doar ca nu am stiut cum sa fac sa aflu cate linii vor fi citite
Anexe:
Răspunsuri la întrebare
Răspuns de
3
#define _CRT_SECURE_NO_WARNINGS
#include <iostream>
#include <cstring>
using namespace std;
int main() {
char txt[20][1000];
char line[1000];
//Citire text
int nr_linii = 0;
while (cin.getline(line, 1000)) {
strcpy(txt[nr_linii++], line);
}
//Determinare lungime maxima
int l_max = 0;
for (int i = 0; i < nr_linii; i++) {
if (strlen(txt[i]) > l_max) l_max = strlen(txt[i]);
}
//Facem toate liniile de aceasi lungime adaugand stelute
for (int i = 0; i < nr_linii; i++) {
strcpy(line, "");
for (int j = 0; j < l_max; j++) {
strcat(line, "*");
}
strcpy(line + l_max - strlen(txt[i]), txt[i]);
strcpy(txt[i], line);
}
//Afisare rezultat
for (int i = 0; i < nr_linii; i++) {
cout << txt[i] << endl;
}
}
Anexe:
teodortoderitap37w4j:
De ce e nevoie de ctrl z pt a afisa output ul ? Nu poti face sa functioneze pe ideone.com. Pe principiul ala trb sa functioneze codul. Acolo e ca la fisiere text doar ca se rezolva cu cin pentru ca are deja input ul.
In citirea de la tastatura este echivalentul End-Of-File pentru fisiere,
Alte întrebări interesante
Matematică,
8 ani în urmă
Matematică,
8 ani în urmă
Limba română,
8 ani în urmă
Matematică,
9 ani în urmă
Matematică,
9 ani în urmă