Programmieraufgabe die ich lösen soll

hallo an alle! ich bin ncoh neuling im programmieren deshalb wende ich mich an euch. ich muss eine aufgabe lösen in der es darum geht die zahlen von 0-100 in einer schleife durchrattern zu lassen und durch 0,5 teilen zu lassen.
ich weis für euch alle sicher ein klacks nur für mich nicht ich hab hier schonmal was programmiert, nur kreig ich die ganze zeit denn fehler von gvim "command terminated" könnt ihr mir erstmal nur sagen wiso dieser fehler auftaucht?
also noch keine gnaue lösung wenn das komplette programm falsch ist. danke schonmal im vorraus.

Code:
#include <stdio.h>

int
main ( int argc, char *argv[] )

{
int i;
int v=0.5;

for(i=0; i<=100; i=i+1)
	for(i=0; i<=100; i=i/v)

	{
	printf("%i / %i =%i\n", i,  i+1, i/v );
	}


	
	return 0;
 
Ich weiß nicht, ob es nur daran liegt, aber Integer sind Ganzzahlen ohne Komma, ich empfehle float.

mfg $oul
 
fangen wir mal da an, dass int ganzzahlen sind. wenn du 0.5 schreibst musst du float oder double nehmen ;-)

ach und ich kenn eure aufgabenstellung nicht genau, aber durch 0,5 teilen ist das gleiche wie mit 2 multiplizieren ;-)
 
Ich verstehe berhaupt nicht, wozu du die 2. For-schleife hast. nimm doch einfach ie erste, in der du i von 1 bis 100 durchlaufen laesst, und dann i/0.5 printest.
Und noch was: Bist du sicher, dass du i durch 0.5 _teilen_ musst? Das ist nmlich das gleiche wie mit 2 malnehmen.
 
dein "command terminated" ruehrt wahrscheinlich daher, dass du die klammer von deiner main-funktion nicht geschlossen hast. versteh zwar net ganz, wieso du zwei schleifen benutzt, aber da du noch keine lösung haben willst, halte ich mich zurueck ;)

mfg jacky
 
da sind einige sachen. die { wurde erwähnt, die 2. schleife, der falsche typ...

habe hier mal deines umgeschrieben wie du es vermutlich haben wolltest ;-)

Code:
#include <stdio.h>

int main ( int argc, char *argv[] )

{
int i;
float v=0.5;

for(i=0; i<=100; ++i)

{
printf("%i / %f =%f\n", i, v, i/v );
}



return 0;

}
 
ich danke euch für eure hilfe, das mit float und double hab ich ganz vergessn und die klammer ja leider auch :) ich lerne ja noch also danke nochmal.
 
was hattest du eigentlich mit der inneren schleife bezweckt? die ist mir immer noch nicht klar.

und hey, jeder hat mal angefangen, und ich quäle mich auch erst seit 4 tagen durch c/c++ ;-)
 
hi also öhm die zweite schleife war quatsch die hat ich noch von was anderem drinne;) so nun hab ich noch ein kleines problem hab das bissl falsch erklärt also :
eigendlich sollt ich das so mache das es einein bruch gibt von 1/1 - 1/100 und die solltn halt gerechnet und am ende zusammenaddiert(die ergebnisse) werden joa und nu steh ich vorm nächsten problem weil ic garnix mehr weis.
 
Code:
#include <stdio.h>

int main ( int argc, char *argv[] )

{
int i;
float j = 0;


for(i=1; i<=100; ++i)

{
j += 1.0/i;
}

printf("Die Summe von 0/1+..+1/100 ist: %f\n", j);


return 0;

}

das müsste gehen. += ist eine kurzschreibweise. das heißt soviel wie j = j + 1.0f/i

du musst hier i entweder als float machen oder halt 1.0 benutzen. 1 würde auch als int angesehen werden und du bekommst kein ordentliches ergebnis.
 
Zurück
Oben