Pe lângă marea lui pasiune pentru informatică, lui Andino îi place să se joace cu fişierele. El deschide la întâmplare fişiere text şi se întreabă dacă poate alinia textul la stânga sau la dreapta. Cu toate că el este la curent cu tot ce se întâmplă în domeniul informaticii, el utilizează un editor de text primitiv care nu are funcţii de aliniere, aşa că vă roagă pe voi să-l ajutaţi.
Cerinţă
Să se alinieze un text dat la stânga sau la dreapta.
Date de intrare
Fişierul de intrare align.in
conţine pe prima linie numărul n
, numărul de linii din fişierul text şi un caracter x
. Dacă x
este 'S'
, atunci textul se va alinia la stânga, iar dacă x
este 'D'
, se va alinia la dreapta. Pe următoarele n
linii se citeşte textul din fişierul lui Andino.
Date de ieşire
Fişierul de ieşire align.out
va conţine pe n
linii textul aliniat.
Restricţii şi precizări
1 ≤ n ≤ 100
- lungimea unei linii nu va depăşi
200
- dacă îl veţi ajuta pe Andino, veţi primi 100 de puncte şi probabil îl veţi convinge pe Andino să folosească un alt editor de texte
Exemplu
align.in
4 D lui Andino ii place mult informatica si doreste sa mearga la olimpiada pentru a-si dovedi calitatile de mare informatician
align.out
lui Andino ii place mult informatica si doreste sa mearga la olimpiada pentru a-si dovedi calitatile de mare informatician
Explicaţie
Textul lui Andino a fost aliniat la dreapta.
Un alt exemplu
align.in
4 S lui Andino ii place mult informatica si doreste sa mearga la olimpiada pentru a-si dovedi calitatile de mare informatician
align.out
lui Andino ii place mult informatica si doreste sa mearga la olimpiada pentru a-si dovedi calitatile de mare informatician
Explicaţie
Textul lui Andino a fost aliniat la stânga.
#include <bits/stdc++.h> using namespace std; ifstream cin("align.in"); ofstream cout("align.out"); int main() { int n; char ch; cin >> n >> ch; if(ch=='D') { char m[101][201]; int vec[101]; int max=0; char c[11]; cin.getline(c , 10); for(int q = 0 ; q <= n ; ++q) { cin.getline(m[q] , 201); int i = 0; while(m[q][i]!='\0') i++; if(i > max) max=i; vec[q]=i; } for(int q = 0 ; q < n ; ++q) { for(int i = 0 ; i < max-vec[q] ; ++i) cout << ' '; int i=0; while(m[q][i]!='\0') { cout << m[q][i]; i++; } cout << endl; } } else { for(int q = 0 ; q <= n ; ++q) { char s[300]; cin.getline(s , 300); int i = 0; bool ok = true; while(s[i]!='\0') { if(s[i]==' ' && ok) { } else { cout << s[i]; ok=false; } i++; } if(q) cout << endl; } } return 0; }