Да се напише програма, която позволява да се отпечата ASCII таблицата на символите – ASCII кода (числo от 0 до 255) и символа, който съответства на този код. Таблицата да е подходящо форматирана и прегледна, така че ASCII кодовете да са в една колона, дясно подравнени.
По желание: Да се изведе същата ASCII таблица, но в 5 колони.


#include <cstdlib> #include <iostream> #include <iomanip> using namespace std; int main(int argc, char *argv[]) { for (int i=0;i<=51;i++) { switch(i){ case 7:cout<<setw(2)<<i<<"- "<<char(i);break; //Simwolite izbroeni w case imat case 8:cout<<setw(2)<<i<<"-"<<"BS"<<char(8);break; //specialna funckiq kato tabulaciq case 9:cout<<setw(2)<<i<<"-"<<"TAB"<<char(8)<<char(8);break;//backspace i drugi. Po tozi nachin case 10:cout<<setw(2)<<i<<"-"<<"LF"<<char(8);break; //prechat na izpulnenieto na programata case 12:cout<<setw(2)<<i<<"-"<<"FF"<<char(8);break; //i sum gi zamestil sus suotwetnite sukrashteniq case 13:cout<<setw(2)<<i<<"-"<<"CR"<<char(8);break; default:cout<<setw(2)<<i<<"-"<<char(i); } cout<<setw(10)<<i+51<<"-"<<char(i+51); cout<<setw(10)<<i+102<<"-"<<char(i+102); cout<<setw(10)<<i+153<<"-"<<char(i+153); cout<<setw(10)<<i+204<<"-"<<char(i+204)<<endl; } system("PAUSE"); return EXIT_SUCCESS; }А, направил си ASCII таблицата в пет колони, супер :-) Обаче не разбрах защо си сложил char(8) – при мен ти изтрива последната буква…
Ами char(8) го сложих за да компенсира изместването на целия ред при отпечатване на TAB, BS, LL, LF i CR. Обаче сега видях, че съм качил грешния код на програмата, понеже после преправих начина на подреждане в колони. Ще кача новият код.
#include <cstdlib> #include <iostream> #include <iomanip> using namespace std; int main(int argc, char *argv[]) { for (int i=0;i<=51;i++) { switch(i){ case 7:cout<<setw(2)<<i<<"- "<<char(i);break; //Simwolite izbroeni w case imat case 8:cout<<setw(2)<<i<<"-"<<"BS ";break; //specialna funckiq kato tabulaciq case 9:cout<<setw(2)<<i<<"-"<<"TAB";break;//backspace i drugi. Po tozi nachin case 10:cout<<setw(2)<<i<<"-"<<"LF";break; //prechat na izpulnenieto na programata case 12:cout<<setw(2)<<i<<"-"<<"FF";break; //i sum gi zamestil sus suotwetnite sukrashteniq case 13:cout<<setw(2)<<i<<"-"<<"CR";break; default:cout<<setw(2)<<i<<"-"<<char(i); } cout<<char(9)<<i+51<<"-"<<char(i+51); cout<<char(9)<<i+102<<"-"<<char(i+102); cout<<char(9)<<i+153<<"-"<<char(i+153); cout<<char(9)<<i+204<<"-"<<char(i+204)<<endl; } system("PAUSE"); return EXIT_SUCCESS; }А ето го и него.
Сега вече съм съгласен. При мен под Линукс обаче и VT (символът с ASCII код 11) също прецаква оформлението – сваля с един ред надолу. И също в края на всяка колона и началото на следващата имаш по една повтаряща се стойност :-)