• 23.08.2025, 20:38
  • Registrieren
  • Anmelden
  • Du bist nicht angemeldet.

 

Draco

God

C Programmieraufgabe

Mittwoch, 3. November 2004, 18:50



Mein vorläufiger Code kann aber nicht stimmen, weil am ende genau wieder 10 hoch 6 rauskommt. Der Sinn der Aufgabe ist es imho Rundungsfehler deutlich zu machen.
Imho liegt es daran, dass ich kein Exponentenformat verwendet habe. Wieso nicht ? Na ganz einfach, weil ich nicht weiß, was damit gemeint ist. "10^6" kann ich glaub ich nicht schreiben. Plz help.
Achso: Das ist ne Anfängeraufgabe, darüber machen sich einige sicher lustig ;-) Aber jeder fängt mal an und wenn man vorher noch nie wirklich mit sowas zu tun hatte ist der Einstieg nicht grade einfach, also bitte etwas Nachsicht

Quellcode

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
#include <stdio.h>
#define k 0.1693; 
int main (){                    

    int m;                        /*Variablendeklarationen*/
    float x, y, z;

y=0;
    x=1000000;
    for(m=0; m<10; m++)          /*1. Schleife multipliziert 10x*/
        {
        y=y+x*k;
        }
    z=y;                       /*z als Kopie für spätere Ergebnissausgabe*/
        
    do                        /*2. Schleife dividiert 10x*/
        {
        y=y/k;
        m=m-1;
        }       
    while(m<0);
    
    printf("Ausgangswert: %.8f\n", z);    
    printf("Endwert: %.8f\n\n", y);   
    
    getchar();                   

return 0;                               
}


Ausgabe sieht danach so aus:

hurra

God

Re: C Programmieraufgabe

Mittwoch, 3. November 2004, 18:53

Quellcode

1
float expf(float x);


Zitat

NAME
exp, expf, expl - base-e exponential function

SYNOPSIS
#include <math.h>

double exp(double x);

float expf(float x);

long double expl(long double x);

DESCRIPTION
The exp() function returns the value of e (the base of natural loga-
rithms) raised to the power of x.


Cu Hurra

Draco

God

Re: C Programmieraufgabe

Mittwoch, 3. November 2004, 19:01

*grübel*

MadMan

Senior Member

Re: C Programmieraufgabe

Mittwoch, 3. November 2004, 19:05

moin!

[ot]
draco brauchst du das für dein studium?
mir schwebt immo ebenfalls vor mechatronik zu studieren
(jaja erstmal abi machen und zivi ::) )
aber danach...
nunja und diese aufgabe macht mich da grade etwas stutzig...wird das "noch" schwerer? ::)

[ot]

cya

Draco

God

Re: C Programmieraufgabe

Mittwoch, 3. November 2004, 19:07

natürlich wird das noch schwerer und ja das ist fürs studium.
Ich hab grad mal 4 Wochen C programmieren hinter mir (3 Vorlesungen, 3 praktika stunden)

MadMan

Senior Member

Re: C Programmieraufgabe

Mittwoch, 3. November 2004, 19:14

moin!

Zitat von »Draco«

natürlich wird das noch schwerer und ja das ist fürs studium.
Ich hab grad mal 4 Wochen C programmieren hinter mir (3 Vorlesungen, 3 praktika stunden)


dankö ::)
naja ich hab ja noch zeit mir das durch den kopf gehn zu lassen ;)

cya

xx_ElBarto

God

Re: C Programmieraufgabe

Mittwoch, 3. November 2004, 19:36

Zitat


#include <iostream>
#include <stdlib.h>

using namespace std;

int main(int argc, char *argv[])
{
int n; /*Variablendeklarationen*/
float x=1000000, k = 0.1693;

for(n=0; n<10; n++) // 10 mal teilen
x=x*k;

for(n=0; n<10; n++) // 10 mal multiplizieren
x=x/k;

printf("%.8f\n", x);

system("PAUSE");
return 0;
}


sowas haben wir am anfang der 12 gemacht ;)

Draco

God

Re: C Programmieraufgabe

Mittwoch, 3. November 2004, 20:07

scho gut, ich habs gerafft ;)

Dafür ist mir der letzte Aufgabenteil völlig suspekt. Hat da jemand ne Idee ?

Zur Aufgabenstellung (Bild)

r1ppch3n

Moderator

Re: C Programmieraufgabe

Mittwoch, 3. November 2004, 20:10

ich würds ja einfach so mache...

Quellcode

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
#include <stdio.h>
#define k 0.1693; 
int main (){                    

    int m;                        /*Variablendeklarationen*/
    float x, y, z;

    x=1000000;
    y=x;
    for(m=0; m<10; m++)          /*1. Schleife multipliziert 10x*/
        {
        y*=k;
        }

    for(m=0; m<10; m++)           /*2. Schleife dividiert 10x*/
        {
        y/=k;
        }
    
    printf("Ausgangswert: %.8f\n", x);    
    printf("Endwert: %.8f\n\n", y);   
    
    getchar();                   

return 0;                               
}


edit
hat sich wohl scho wieder erledigt...

Draco

God

Re: C Programmieraufgabe

Mittwoch, 3. November 2004, 20:17

bei der Neuen AUfgabe könnt ich allerdings Hilfe / Beispiele gebrauchen ;)

xx_ElBarto

God

Re: C Programmieraufgabe

Mittwoch, 3. November 2004, 20:17

Zitat von »Draco«

scho gut, ich habs gerafft  ;)

Dafür ist mir der letzte Aufgabenteil völlig suspekt. Hat da jemand ne Idee ?

Zur Aufgabenstellung (Bild)


was verstehst du da net?

so wie ich das verstehe solltes einfach so ne for schleife machen:
for (i=1; i<252; i++) // da steht was von 251 abschnitten, evtl muss das auch von 0 bis 250 laufen, bin mir da net so sicher
{
}

und dann da die verschiedenen formeln einsetzen, z.b. x=i*deltaX
und das letzte x ausgeben

das sähe dann z.b. so aus:

for (i=1; i<252; i++)
{
       x=i*0,12
}
printf("%.15f", x);



r1ppch3n

Moderator

Re: C Programmieraufgabe

Mittwoch, 3. November 2004, 20:20

ok, dann ma wat dazu

Quellcode

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
#define iv 30/250;

for(i=0;i<=250;i++){
   x=iv*i;
   y=x*x;
}

x=0;
for(i=0;i<=250;i++){
   x+=iv;
   y=x*x;
}

for(i=0;i<=30;i+=iv){
   y=i*i;
}

so ists doch gedacht, oder?

Draco

God

Re: C Programmieraufgabe

Mittwoch, 3. November 2004, 20:23

Dann hab ich den geforderten x-Wert. Aber wie bekomm ich den entsprechenden Funktionswert f(x), ohne weitere Schleifen zu basteln ? ::)

r1ppch3n

Moderator

Re: C Programmieraufgabe

Mittwoch, 3. November 2004, 20:26

Zitat

f(x)=x2
und jez gugg ma wie i y berechnet hab ::)
nenene...
;)

Draco

God

Re: C Programmieraufgabe

Mittwoch, 3. November 2004, 20:28

ok die antwort war auf elbartos entwurf bezogen, sorry.

Hmm das leuchtet irgendwie ein, joa.

Verständnissfrage, was bedeutet x+=iv;

r1ppch3n

Moderator

Re: C Programmieraufgabe

Mittwoch, 3. November 2004, 20:29

für leute die sich mit c ned auskennen schreib i das nächste mal auch gern x = x+iv... ;)

Draco

God

Re: C Programmieraufgabe

Mittwoch, 3. November 2004, 20:34

das wär nett thx ;)

Draco

God

Re: C Programmieraufgabe

Mittwoch, 3. November 2004, 20:48

kommt dan bei der ersten Methode also bei

Quellcode

1
2
3
4
5
6
#define iv 30/250; 
 
for(i=0;i<=250;i++){ 
   x=iv*i; 
   y=x*x; 
}


für x und y jeweils Null raus ?


edit: kann net sein, bei Methode 2 hab ich auch jeweils Null raus ::)

xx_ElBarto

God

Re: C Programmieraufgabe

Mittwoch, 3. November 2004, 21:03

das iv macht probs, weiß aber net was der grund dafür ist

Draco

God

Re: C Programmieraufgabe

Mittwoch, 3. November 2004, 21:09

hmm ich hab mal statt iv (30/250) direkt in die Formeln gesetzt... klappt trotzdem nicht, immer nur null :(