Einzelnen Beitrag anzeigen
Alt 08.11.09, 19:45   #21 (permalink)
snoggo
 
Registriert seit: 11.06.05
snoggo Leistung: Facit NTK
Likes: 0
Standard

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
snoggo ist offline   Mit Zitat antworten
 

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61