Zahlenreihe

Damit die C++ Version nicht fehlt:

Code:
#include <cstdlib>
#include <iostream>


using namespace std;


int schreibeZahl(int n){

     cout << n <<endl;      
     
     if (n > 0)
      schreibeZahl(n-1);
    
     return n;
     }


int main(int argc, char *argv[])
{
    
    int obergrenze = 100;
    
    
  
    schreibeZahl( obergrenze );
    
    
    system("PAUSE");
    return EXIT_SUCCESS;
}
Editiert von CDW:wir haben auch CODE - Tags http://hackerboard.de/misc.php?action=bbcode#5 ;)
 
Dann will ich auch noch mal... achja, die Ausgabe ist etwas sauberer :)
Code:
#include <iostream>
#include <iomanip>

using namespace std;

void zr(int i)
{
	cout << setw(3) << i << " ";
	if (i % 10 == 0)
		cout << endl;
	if (i < 100)
		zr(i + 1);
}

int main()
{
	zr(1);
	return 0;
}
 
ich auch, ich auch :)
Code:
#include <iostream>
using namespace std;

void abc(int i) {
    if(i<=100) {
        cout<<i++<<endl;
        abc(i);
    }
}

int main() {
    abc(1);
}
 
Auch wenn's schon länger her ist, C++ in anders:
Code:
#include <iostream>
using namespace std;

int count(int i=100) {
   if(i)
      cout << count(i-1) << endl;
   return i+1;
}

int main() {
   count();
}
 
fällt die if bedienung nicht auch unter schleifen will ja hier nich kleinlich sein aber wenn die aufgaben stllung schon so is MfG MoE
 
C++:
Code:
#include <iostream>
using namespace std;
int a = 1;

int main () {
if (a==101) { return 0; }
cout << a << " ";
a++;
main ();

return 0;
}
 
So, mal just for fun während ich eine geraucht habe.

Code:
-module(habo).
-export([main/1]).
main(0) -> [];
main(N) -> main(N-1),io:fwrite("~w ",[N]).
 
meine Lösung in C:
Code:
#include <stdlib.h>
#include <stdio.h>
int p(int n)
{
    printf("%d\n",n);
    return n<100?p(n+1):0;
}
int main()
{
    p(1);
    exit(0);
}
 
hier ist meine Lösung über exeptionhandler:
Code:
.386
.model flat, stdcall
option casemap :none

include \masm32\include\windows.inc
include \masm32\include\user32.inc
include \masm32\include\kernel32.inc
include \masm32\include\msvcrt.inc

includelib \masm32\lib\user32.lib
includelib \masm32\lib\kernel32.lib
includelib \masm32\lib\msvcrt.lib

.data
counter	db 0
format	db "%d",0Ah,0

.code 
assume	fs:nothing

_seh: 
pop	fs:[0] 
mov	ebx,[esp+4] 
mov	esp,ebx 

start:

push	_seh 
push	fs:[0] 
mov	fs:[0],esp 

inc	byte ptr[counter]

mov	al,byte ptr[counter]
movzx	eax,al
push	eax

invoke	crt_printf,offset format,eax

pop	eax
mov	ecx,100
xor	edx,edx
div	ecx
div	eax

call	crt__getch
invoke	ExitProcess,0

end start
 
Code:
#include <stdio.h>

void printNumber();

static int count = 1;

int main(int argc, char *argv[])
{
	printNumber();
	
	return 0;
}

void printNumber()
{
	printf("%i\n", count++);
	if (count <= 100) {
		printNumber();
	}
}
 
So ich moechte auch nochmal meinen Senf dazugeben
Code:
#include <iostream>
using namespace std;
int main()
  {
    int i=0;
    cout<<"while\n";
    while(i++<100)
    {
      cout<<i<<"\n";
    }
  }
 
Der Aufgabensteller gibt aber selbst eine Schleifenlösung an.
Er vertritt zwar die Meinung, daß eine Rekursion keine Schleife wäre, steht damit aber recht allein da.
 
streng genommen ist rekursion tatsächlich etwas "schleifenartig"

egal, hier meine rekursionslösung in java:

EDIT: jetzt ohne whileschleife

Code:
public class Zahlenreihe {
	static 	int i = 0;
	static String ausgabe = "";
	public static void main (String args[]) {
		if(i != 100) {
			i++;
			ausgabe += " " + i;
			if (i == 100) {
				System.out.println(ausgabe);
			}
			main(args);
		}

	}
}
 
Zurück
Oben