C Tutorial verwirrung

Schnelle objektorientierte, kompilierende Programmiersprache.
Antworten
Fm0
Beiträge: 10
Registriert: Mo Jul 14, 2014 6:07 pm

C Tutorial verwirrung

Beitrag von Fm0 » Do Jul 31, 2014 3:33 pm

Hey ho ich bin es nocheinmal ^_____^(")
Mittlerweile bin ich doch schon ein Stück vorran gekommen doch nun verstehe ich die Übungsaufgabe nicht so ganz.
Kann mir das einer von euch noch mal für nicht mathematiker/programmierer erklären? :P

Definiere zwei Variablen a und b und weise ihnen Werte zu und berechne die Summe vom a zum Quadrat und b zum Quadrat und lass Dir das Ergebnis auf dem Bildschirm ausgeben
Meiner Meinung nach habe ich diesen ersten Teil erfolgreich abgeschlossen.
Da ich in meinem Code so weit bin:

Code: Alles auswählen

#include <stdio.h>
int main (void)
{
int a,b;
a= 10;
b= 15;
printf(" %d\n", a*a);
printf(" %d\n", b*b);
return 0;
}
Beginne damit, das Ergebnis erst in einer Variablen c zwischen zu speichern
und optimiere dann die Variable c aus dem Programm hinaus, in dem du die den Ausdruck, um c zu bestimmen, direkt in die printf-Anweisung überträgst.
(<-- doch hier haperts ein wenig) ^^

Jetz dachte ich mir das ich es in etwa so umschreibe, aber ich habe ein ungutes gefühl was die Richtigkeit der Übung angeht.

Code: Alles auswählen

#include <stdio.h>
int main (void)
{
int a,b,c;
a= 10;
b= 15;
c= a*a;
printf(" %d\n",c);
c=b*b;
printf(" %d\n", c);
return 0;
}
Danke schonmal im Vorraus für die antworten.
Lg ^^

nufan
Wiki-Moderator
Beiträge: 2558
Registriert: Sa Jul 05, 2008 3:21 pm

Re: C Tutorial verwirrung

Beitrag von nufan » Do Jul 31, 2014 3:39 pm

Tag :)
Fm0 hat geschrieben:Jetz dachte ich mir das ich es in etwa so umschreibe, aber ich habe ein ungutes gefühl was die Richtigkeit der Übung angeht.

Code: Alles auswählen

#include <stdio.h>
int main (void)
{
int a,b,c;
a= 10;
b= 15;
c= a*a;
printf(" %d\n",c);
c=b*b;
printf(" %d\n", c);
return 0;
}
Ich würde das schon auch so interpretieren. DIe optimierte Variante ist dann dein ursprünglicher Code ohne das c.

Fm0
Beiträge: 10
Registriert: Mo Jul 14, 2014 6:07 pm

Re: C Tutorial verwirrung

Beitrag von Fm0 » Do Jul 31, 2014 3:47 pm

Ok, danke erstmal an dich @dani93 für die schnelle Antwort. :)

Also ist es nicht Sinn und Zweck der Übung das ich die Defintion von C in den printf() befehl schreibe, bzw Herrausfinde das sowas auch möglich ist?
DIe optimierte Variante ist dann dein ursprünglicher Code ohne das c
Den Satz verstehe ich auch nicht so ganz. ^^'
Möchtest du mir damit sagen das mein alter Code optimiert wurde, weil ich das C am anfang nicht mit eingebunden habe jetz dann aber schon? :?

nufan
Wiki-Moderator
Beiträge: 2558
Registriert: Sa Jul 05, 2008 3:21 pm

Re: C Tutorial verwirrung

Beitrag von nufan » Do Jul 31, 2014 4:00 pm

Fm0 hat geschrieben:Also ist es nicht Sinn und Zweck der Übung das ich die Defintion von C in den printf() befehl schreibe, bzw Herrausfinde das sowas auch möglich ist?
Nein, das ist wenn ich das richtig verstanden hab auch nicht möglich.
Fm0 hat geschrieben:Den Satz verstehe ich auch nicht so ganz. ^^'
Ok dann langsam ^^
Angabe hat geschrieben:Definiere zwei Variablen a und b und weise ihnen Werte zu und berechne die Summe vom a zum Quadrat und b zum Quadrat und lass Dir das Ergebnis auf dem Bildschirm ausgeben
Beginne damit, das Ergebnis erst in einer Variablen c zwischen zu speichern [...]
Die Lösung dafür wäre dieser Code von dir:

Code: Alles auswählen

#include <stdio.h>
int main (void)
{
int a,b,c;
a= 10;
b= 15;
c= a*a;
printf(" %d\n",c);
c=b*b;
printf(" %d\n", c);
return 0;
}
Angabe hat geschrieben:[...] und optimiere dann die Variable c aus dem Programm hinaus, in dem du die den Ausdruck, um c zu bestimmen, direkt in die printf-Anweisung überträgst.
Die Lösung dafür ist dieser Code von dir (den ich vorher als deinen "ursprünglicher Code" bezeichnet habe):

Code: Alles auswählen

#include <stdio.h>
int main (void)
{
int a,b;
a= 10;
b= 15;
printf(" %d\n", a*a);
printf(" %d\n", b*b);
return 0;
}

Fm0
Beiträge: 10
Registriert: Mo Jul 14, 2014 6:07 pm

Re: C Tutorial verwirrung

Beitrag von Fm0 » Do Jul 31, 2014 4:04 pm

Oh man, alles klar! xD
Danke für die ausführliche Erklärung. ^_____^(V)

Benutzeravatar
oenone
Beiträge: 223
Registriert: Do Sep 01, 2011 2:42 pm
Wohnort: Bremen
Kontaktdaten:

Re: C Tutorial verwirrung

Beitrag von oenone » Do Jul 31, 2014 7:38 pm

Fm0 hat geschrieben:Definiere zwei Variablen a und b und weise ihnen Werte zu und berechne die Summe vom a zum Quadrat und b zum Quadrat und lass Dir das Ergebnis auf dem Bildschirm ausgeben
Na na na, eine Summe besteht immer aus mehreren Teilen. Hier sind a² und b² jeweils einer der Summanden. Also solltest du a²+b² berechnen :-P

Fm0
Beiträge: 10
Registriert: Mo Jul 14, 2014 6:07 pm

Re: C Tutorial verwirrung

Beitrag von Fm0 » Do Jul 31, 2014 8:04 pm

Uh uh, noch so ein Flüchtigkeitsfehler der sich eingeschlichen hat ^^
danke für den hinweiß @oenone ;)

Benutzeravatar
Xin
nur zu Besuch hier
Beiträge: 8862
Registriert: Fr Jul 04, 2008 11:10 pm
Wohnort: /home/xin
Kontaktdaten:

Re: C Tutorial verwirrung

Beitrag von Xin » Fr Aug 01, 2014 7:05 am

So ist das dacht: "Beginnend" wies ich darauf hin, dass Du c=a*a+b*b schreiben kannst.
berechne die Summe vom a zum Quadrat und b zum Quadrat
c kannst Du dann mit printf ausgeben.

Anschließend kannst Du c rausoptimieren:

Code: Alles auswählen

printf("Ergebnis: %d\n", a*a+b*b );
Das Ziel ist, dass Du siehst, dass Ausdrücke wirklich überall da stehen dürfen, wo Ausdrücke erwartet werden - bei printf muss also nicht nur eine einzelne Variable stehen. Und es soll Dich darauf hinweisen, dass Du nicht mehr tun musst, als notwendig. Eine Variable c ist für diese Aufgabe eigentlich nicht nötig.

Abgesehen von "Summe von" und der Tatsache, dass Du gleich die optimierte Variante geschrieben hast, sieht das doch gut aus. Was die C-Programmierung angeht, hast Du jedenfalls gezeigt, dass Du verstanden hast, was Du in dieser Lektion mitnehmen sollst. Passt also :-)
Merke: Wer Ordnung hellt ist nicht zwangsläufig eine Leuchte.

Ich beantworte keine generellen Programmierfragen per PN oder Mail. Dafür ist das Forum da.

Antworten