Lerne gerade C++, da sind solche Aufgaben echt gut.
Code:
#include <iostream>
using namespace std;
int main(int argc, char **argv)
{
// exit if no letter is given
if (argc != 2)
{
cout << "You have to enter a letter!" << endl;
return 1;
}
// get first char and convert it to uppercase
int end = (int)argv[1][0];
if (end > 90)
end -= 32;
// check if it is a valid character
if ((end < 65) || (end > 90))
{
cout << "Character not in range!" << endl;
return 2;
}
// loop it!
for (int i = 65; i <= end; i++)
{
for (int s = i - end; s < 0; s++) cout << " ";
for (int c = 65; c <= i; c++) cout << (char)c;
for (int b = i - 1; b >= 65; b--) cout << (char)b;
cout << "\n";
}
return 0;
}
Code:
<< dh@asuka:~/stuff/habo/buchstabenpyramide >> $ ./a.out x
A
ABA
ABCBA
ABCDCBA
ABCDEDCBA
ABCDEFEDCBA
ABCDEFGFEDCBA
ABCDEFGHGFEDCBA
ABCDEFGHIHGFEDCBA
ABCDEFGHIJIHGFEDCBA
ABCDEFGHIJKJIHGFEDCBA
ABCDEFGHIJKLKJIHGFEDCBA
ABCDEFGHIJKLMLKJIHGFEDCBA
ABCDEFGHIJKLMNMLKJIHGFEDCBA
ABCDEFGHIJKLMNONMLKJIHGFEDCBA
ABCDEFGHIJKLMNOPONMLKJIHGFEDCBA
ABCDEFGHIJKLMNOPQPONMLKJIHGFEDCBA
ABCDEFGHIJKLMNOPQRQPONMLKJIHGFEDCBA
ABCDEFGHIJKLMNOPQRSRQPONMLKJIHGFEDCBA
ABCDEFGHIJKLMNOPQRSTSRQPONMLKJIHGFEDCBA
ABCDEFGHIJKLMNOPQRSTUTSRQPONMLKJIHGFEDCBA
ABCDEFGHIJKLMNOPQRSTUVUTSRQPONMLKJIHGFEDCBA
ABCDEFGHIJKLMNOPQRSTUVWVUTSRQPONMLKJIHGFEDCBA
ABCDEFGHIJKLMNOPQRSTUVWXWVUTSRQPONMLKJIHGFEDCBA