Left Turn ... ?
-
Hallo liebe Mitglieder !
Ich bin seit kurzem in den USA und studiere dort fuer ein Semester. Ich habe vor kurzem einen meiner Kurse gewechselt und komme leider gar nicht hinterher
Ich habe vorher nur Java programmiert und habe die ersten 2 Wochen verpasst, da ich erst spaeter gewechselt bin.
Koennt ihr mir bei den 2 folgendenden Problemen Hilfestellung geben ? Ich habe leider gar keine Idee wie ich da rangehen soll und mit welchen Funktionen und der Professor hilft mir leider auch nicht
Problem 4: Go Left Young Folk, Go Left
You are to write a C program that will prompt the user to enter 5 points. Each point has an integer x value and an integer y value. The points are ordered and they form a convex quadrilateral. Your program should determine and output whether or not the 5th point is located inside the quadrilateral or not.Problem 5: Iterative Persistence
Multiplying the digits of an integer and continuing the process gives the surprising result that the sequence of products always arrives at a single digit number. For example,
715 ---- 35 ---- 15 ---- 527 ---- 14 ---- 4
4000 ---- 0
9
The number of times products need to be calculated to reach a single digit is called the persistence number of that integer. Thus, the persistence number of 715 is 3, the persistence number of 27 is 2, the persistence number of 4000
is 1, and the persistence number of 9 is 0.You are to write an iterative program that will continually prompt the user to enter a positive integer until EOF has been entered via the keyboard. For each number entered your program should output the persistence of the number.
Please note that the correct spelling of persistence is p-e-r-s-i-s-t-e-n-c-e. The word does not contain the letter “a
-
Was hast du denn bisher schon erreicht?
(fertige Hausaufgaben liefern wir nicht für dich ab, also solltest du schon mit etwas mehr kommen alsint main(){ }
)Zum ersten: Punkte einlesen, danach mit elementarer Geometrie ermitteln, wie sie zueinander liegen.
Zum zweiten: Mit Modulo-Operator und Division kannst du eine Zahl in ihre Stellen zerlegen, die mußt du dann nur noch miteinander multiplizieren (in einer Schleife über die Ziffern). Außen herum brauchst du noch eine zweite Schleife, die zählt wie oft das Verfahren ausgeführt werden kann, bevor das Produkt kleiner als 10 wird.
-
Ausnahmsweise mal für Nr.4:
Ohne Fehlerbehandlung bei Nutzereingaben und mit ganz einfachem Algorithmus sowie restrikter Reihenfolge und Zuordnung der Eckpunkte wie kommentiert.
-
Wutz schrieb:
und mit ganz einfachem Algorithmus
Mir schient, Du hast achsenparallele Vierecke und beliebige konvexe Vierecke da vermengt.
Ich habe das da gefunden.
http://erich.realtimerendering.com/ptinpoly/
-
int main( int argc, char *argv[] ) { int x[4]; int y[4]; printf("\nPoint 1 x y > "); scanf("%d%d",&x[0],&y[0]); printf("\nPoint 2 x y > "); scanf("%d%d",&x[1],&y[1]); printf("\nPoint 3 x y > "); scanf("%d%d",&x[2],&y[2]); printf("\nPoint 4 x y > "); scanf("%d%d",&x[3],&y[3]); printf("\nPoint 5 x y > "); scanf("%d%d",&x[4],&y[4]); return 0 ; }
Die 5 Werte wollte ich schonmal einlesen, aber selbst da gab es Probleme. Worauf hab ich mich da nur eingelassen. Wir muessen im uebrigen auch einen Editor verwenden der mir komisch vorkommt " EMacs " ...
Ja was soll ich noch schreiben, ich werde jetzt mal weiter rumprobieren und versuchen wenigestens das einlesen hinzubekommen. Den Code von oben habe ich mal kopiert und ausgetestet scheint zu funktionieren, weiss allerdings nicht was mit dem Kommentar von volkard gemeint ist...
-
Meine Loesung zu Aufgabe 5 ...
#include <stdio.h> int persistencefunction(int z); int main(int argc, char *argv[]){ int z; printf("Insert an integer: "); scanf("%d", &z); printf("\nThe persistence of the integer %d is %d.\n", z, persistencefunction (z)); return(0); } int persistencefunction(int z){ int digit,y=1, persistence = 0; while( z > 9 ){ do{ digit = z % 10; y = y * digit; z = z / 10; } while( z > 0 ); persistence++; z = y; } return( persistence ); }
-
Isengo schrieb:
Die 5 Werte wollte ich schonmal einlesen, aber selbst da gab es Probleme.
Wenn man nicht richtig abschreiben kann und glaubt, eigene Änderungen anbringen zu müssen, sollte man anschließend nicht über Fehler jammern.
Häuft sich in letzter Zeit, dass Anfänger funktionierenden Beispielcode verunstalten und dann hier wieder aufschlagen.
-
C Grundlagen
int x[4];
erzeugt ein Array vonint
mit 4 (vier) Elementen.
Der Index beginnt bei 0 und endet bei 3.Ein Element
x[4]
existiert da nicht