ADIM Aufgaben 2.4

Vorheriges Thema anzeigen Nächstes Thema anzeigen Nach unten

ADIM Aufgaben 2.4

Beitrag  rALF am Do Okt 30, 2008 4:18 pm

Hier ist die Vierecksaufgabe vom ADIM 2_4.
Die anderen mach ich auch noch, die werden nach und nach folgen.

Code:

#include <iostream>

using namespace std;

void main()
{
   int i, x, y, a, b, c, d;
   
   //Mehrdimensionales Arry wird mittels Pointer erstellt
   int* punkte = (int*)new int[2][4];
   /*
   Erklärung:
   die Variable Punkte sieht intern wie folgt aus:
   Punkte[2][4] = {x, x, x, x},
                  {x, x, x, x};
   Sprich 2 Zeilen und 4 Spalten. Es gibt keine 0te Spalte oder Zeile!
   ACHTUNG: Das '*' nicht mit dem Mal verwechseln, hier steht es für einen Zeiger!
   */

   bool quit = false;
   char q;

   while (!quit)
   {
      for (i=1;i<=4;i++)
      {
         cout<<"Bitte X von Punkt"<<i<<" eingeben: ";
         cin >> x;
         if (!cin)
            quit = true;
         cout<<"Bitte Y von Punkt"<<i<<" eingeben: ";
         cin >> y;
         if (!cin)
            quit = true;
         //Zugriff auf das Mehrdimensionale Array, auf die Stelle [1][i] *4 ist ein Zeiger, der auf die Apalten verweist.
         punkte[1*4+i] = x;
         punkte[2*4+i] = y;
      }
      
      if (punkte[1*4+1] > 0)
      {
         a = punkte[1*4+2] - punkte[1*4+1];
         b = punkte[2*4+3] - punkte[2*4+2];
         
      }
      else
      {
         a = punkte[1*4+2] + punkte[1*4+1];
         b = punkte[2*4+3] + punkte[2*4+2];
      }
      if (punkte[2*4+1] > 0)
      {
         c = punkte[1*4+3] - punkte[1*4+4];
         d = punkte[2*4+4] - punkte[2*4+1];
      }
      else
      {
         c = punkte[1*4+3] + punkte[1*4+4];
         d = punkte[2*4+4] + punkte[2*4+1];
      }
      
      if (a!=0 && b!=0 && c!=0 && d!=0)
      {
         if (a==b && b==c)
         {
            if (punkte[1*4+1] == punkte[1*4+4] && punkte[2*4+1] == punkte[2*4+2])
               cout<<"Quadrat\n";
            else
               cout<<"Raute";
         }
         else if (a == c && b == d && a!=b)
         {
            if (punkte[1*4+1] == punkte[1*4+4] && punkte[2*4+1] == punkte[2*4+2])
               cout<<"Rechteck\n";
            else
               cout<<"Parallelogramm\n";
         }
         else if (a==d && b==c)
            cout<<"Deltoid\n";
      }
      else
         cout<<"Kein Viereck, oder kein Viereck, nach dem gefragt wurde!\n";

      int i=0;
      do
      {
         cout<<"Wollen Sie weitermachen?(j/n) ";
         cin>> q;
      
      
         if (q=='n' || !cin)
         {
            quit = true;
            i=1;
         }
         else if (q=='j')
         {
            quit = false;
            i=1;
         }
         else
            cout<<"Falsche Eingabe!";
      }while (i<1);
   }
}

_________________
Quote from "Three Kingdoms", by Luo Guanzhong:
"The empire, long divided, must unite; long united, must divide. Thus it has ever been."

rALF
Noob
Noob

Anzahl der Beiträge: 5
Anmeldedatum: 12.09.08
Alter: 25
Ort: Vienna

Nutzerprofil anzeigen

Nach oben Nach unten

Vorheriges Thema anzeigen Nächstes Thema anzeigen Nach oben


Forenbefugnisse:
Sie können in diesem Forum nicht antworten