|
You last visited: Today at 23:30
Advertisement
Wie würdest ihr es Programmieren ? v2
Discussion on Wie würdest ihr es Programmieren ? v2 within the General Coding forum part of the Coders Den category.
03/04/2010, 16:33
|
#1
|
elite*gold: 144
Join Date: May 2007
Posts: 62,459
Received Thanks: 29,541
|
Wie würdest ihr es Programmieren ? v2
So ich hab mal wieder eine nette Idee bekommen für eine neue kleine Aufgabe für euch.
Und zwar geht es dieses mal um das Sortieren, gegeben ist ein Int-Array. Dieses soll mit negativen und Positiven Zahlen gefüllt sein, die Aufgabe ist aus dem Array die kleinste Zahl auszugeben in einer Methode ( das Array wird an die Methode übergeben ). Doch das wäre ja zu einfach für euch, darum gibt es zwei Beschränkungen:
1. Man darf keine Vorgefertige Methode der Programmiersprache dafür nehmen, weil sonst wäre es ja grad mal nur eine Zeile Code.
2. Die Methode muss eine applikative Lösung sein ! Was heißt applikativ ? Ganz einfach die Methode , darf keine Wert zuweisungen enthalten ( i++, i = c usw. ), keine Schleifen besitzen ( for, do, do while ), keine eigene variablen oder Methoden nutzen ( int i = 0 usw. ). Das geht nicht ? Geht wohl, das Zauberwort lautet rekursion.
Mein Code:
Code:
//Applikative Methode:
static int Sorta(int[] zahlen, int i, int min)
{
if(i<zahlen.length)
if(zahlen[i]<min)
return Sorta(zahlen, i+1, zahlen[i]);
else
return Sorta(zahlen, i+1, min);
else
return min;
}
// Main-Programmteil:
public static void main(String[] args)
{
int[] zahlen = new int[10];
Random gen = new Random();
for(int i = 0; i<zahlen.length;i++)
{
zahlen[i] = gen.nextInt();
}
System.out.print(Sorta(zahlen, 0, zahlen[0]));
}
|
|
|
03/04/2010, 16:36
|
#2
|
elite*gold: 1
Join Date: Feb 2009
Posts: 1,726
Received Thanks: 729
|
Die Zahlen sind gegeben oder werden Zufällig in den Array gefüllt?
|
|
|
03/04/2010, 16:40
|
#3
|
elite*gold: 144
Join Date: May 2007
Posts: 62,459
Received Thanks: 29,541
|
Quote:
Originally Posted by General Desert
Die Zahlen sind gegeben oder werden Zufällig in den Array gefüllt?
|
Das Array wird vorher gefüllt, könnt euch aussuchen ob ihr random zahlen nehmen wollt oder eigene ausgesuchte, wichtig dabei ist halt nur das der array an die methode übergeben wird, wie das array deklariert wird vor der übergabe ist eure sache.
Ich Persönlich habe das Array sogefüllt:
Quote:
int[] zahlen = new int[10];
Random gen = new Random();
for(int i = 0; i<zahlen.length;i++)
{
zahlen[i] = gen.nextInt();
}
|
Danach wird es zur Methode übergeben, das Füllen des Arrays gehört aber jetzt nicht direkt zur Aufgabe dazu.
|
|
|
03/04/2010, 16:56
|
#4
|
elite*gold: 1
Join Date: Feb 2009
Posts: 1,726
Received Thanks: 729
|
Ok, ich mach mich mal ran
|
|
|
03/04/2010, 16:56
|
#5
|
elite*gold: 0
Join Date: May 2009
Posts: 827
Received Thanks: 471
|
Code:
#include <iostream>
#include <vector>
using namespace std;
int Get( vector<int>* vec, unsigned int pos, int* current )
{
if( pos < vec->size()-1 )
{
if( current == NULL )
{
return Get( vec, pos+1, &vec->at( pos ) );
}else
{
if( vec->at( pos ) < *current )
{
return Get( vec, pos+1, &vec->at( pos ) );
}else
{
return Get( vec, pos+1, current );
}
}
}
if( vec->at( pos ) < *current )
return vec->at( pos );
return *current;
}
int main()
{
vector<int> array;
array.push_back( -25 );
array.push_back( 50 );
array.push_back( 0 );
array.push_back( 100 );
int var = Get( &array, 0, NULL );
cout << var << "\n";
cin.get();
return 0;
}
|
|
|
03/04/2010, 17:51
|
#6
|
elite*gold: 0
Join Date: Aug 2009
Posts: 994
Received Thanks: 263
|
da is ne kleiner fehler bei:
Quote:
|
Originally Posted by xNopex
int main()
{
vector<int> array;
array.push_back( -25 );
array.push_back( 50 );
array.push_back( 0 );
array.push_back( 100 );
int var = Get( &array, 0, NULL );
cout << var << "\n";
cin.get();
return 0;
}
|
Er nimmt immer nur die -25 stadt 50 oder 0 ^^
|
|
|
03/04/2010, 17:54
|
#7
|
elite*gold: 144
Join Date: May 2007
Posts: 62,459
Received Thanks: 29,541
|
-25 ist auch die kleinste Zahl oO
Meine Lösung stell ich ein wenig Später rein.
|
|
|
03/04/2010, 18:13
|
#8
|
elite*gold: 0
Join Date: Aug 2009
Posts: 994
Received Thanks: 263
|
ups hast recht hab mich vertan xD
|
|
|
03/04/2010, 18:54
|
#9
|
elite*gold: 144
Join Date: May 2007
Posts: 62,459
Received Thanks: 29,541
|
Mein Code:
Code:
//Applikative Methode:
static int Sorta(int[] zahlen, int i, int min)
{
if(i<zahlen.length)
if(zahlen[i]<min)
return Sorta(zahlen, i+1, zahlen[i]);
else
return Sorta(zahlen, i+1, min);
else
return min;
}
// Main-Programmteil:
public static void main(String[] args)
{
int[] zahlen = new int[10];
Random gen = new Random();
for(int i = 0; i<zahlen.length;i++)
{
zahlen[i] = gen.nextInt();
}
System.out.print(Sorta(zahlen, 0, zahlen[0]));
}
|
|
|
03/04/2010, 19:05
|
#10
|
elite*gold: 0
Join Date: May 2009
Posts: 827
Received Thanks: 471
|
Wenn ich mir jetzt deine Lösung anschaue, fällt mir auf, dass meine etwas zu kompliziert ist  gj
|
|
|
03/04/2010, 19:08
|
#11
|
elite*gold: 144
Join Date: May 2007
Posts: 62,459
Received Thanks: 29,541
|
Quote:
Originally Posted by xNopex
Wenn ich mir jetzt deine Lösung anschaue, fällt mir auf, dass meine etwas zu kompliziert ist  gj
|
HeHe ja, mir ist deine auch ein wenig lang vorgekommen, wollt aber nichts sagen weil ich in c / c++ ( sollte bei dir c++ sein oder ) ewig nichts gemacht habe und nicht sicher war ob ich alles an dem code richtig verstanden hab.
Aber dafür ist ja der Thread da, um die verschiede lösungswege sich anzuschaun =)
|
|
|
03/04/2010, 19:12
|
#12
|
elite*gold: 0
Join Date: May 2009
Posts: 827
Received Thanks: 471
|
Ja, das ist C++. Das Problem war, dass beim ersten Testen (da war mein Code etwa so lang wie deiner) die Konsole abgeschmiert ist -> Buffer Overflow. Nja dann hab ich ohne Nachzudenken umgeschrieben (e.g. pos < vec->size()-1 wtf!?) und dann wurde es so lang. Nja nächstes mal sollte ich mehr nachdenken.
|
|
|
03/04/2010, 22:46
|
#13
|
elite*gold: 0
Join Date: May 2008
Posts: 489
Received Thanks: 210
|
Die Programmiersprache war nicht vorgegeben richtig?
Code:
smallest :: [num] -> num
smallest [x] = x
smallest (x:y:xs) = smallest (x:xs), if x < y
= smallest (y:xs), otherwise
Es handelt sich um Miranda, eine funktionale Interpreter - Sprache, wen's interessiert.
|
|
|
03/06/2010, 14:51
|
#14
|
elite*gold: 144
Join Date: May 2007
Posts: 62,459
Received Thanks: 29,541
|
Na haben es nicht mehr als 2 Geschafft ?
@schlurmann: Jo ist in egal in welcher Sprache, leider kann ich da nicht sehr viel rauslesen da ich mal sowas von 0 plan von miranda habe
|
|
|
03/06/2010, 17:57
|
#15
|
elite*gold: 20
Join Date: Jan 2006
Posts: 539
Received Thanks: 228
|
Code:
function GetMin(Numbers: array of Integer; Minimum: Integer = High(Integer); Depth: Integer = 0): Integer;
begin
if (Depth < Length(Numbers)) then
begin
if (Numbers[Depth] < Minimum) then
Exit(GetMin(Numbers, Numbers[Depth], succ(Depth)))
else
Exit(GetMin(Numbers, Minimum, succ(Depth)))
end
else
Exit(Minimum);
end;
[...]
const
Numbers: array [0..4] of Integer = (1, 2, 3, 4, 1);
[...]
writeln(GetMin(Numbers));
|
|
|
 |
|
Similar Threads
|
Würdest ihr auf 2g4n wieder gehen?
08/29/2010 - Metin2 Private Server - 3 Replies
würdet ihr wieder zu 2good4name gehen ohne eure acc´s?? würde das gern wissen :rolleyes::p
|
Wie würdest ihr es Programmieren ? II
02/19/2010 - General Coding - 11 Replies
Als ich das in dem ersten Thread gesehen habe mit den if abfragen:facepalm:
Ich mache es mal schwieriger mit regex(Regular Expressions):D
Gesucht ist eine inet addresse mit http:// oder ohne
Beispiele: http://www.ebay.de/, de.wikipedia.org oder http://www.elitepvpers.com
wers schafft bekommt ein THX ;)(auch wenn er nicht der erste ist und nicht kopiert hat, gibt ja mehere lösungen)
aber jetzt mal ogog hoffe es gibt in e*pvp auch mal ein paar die über die erste seite eines jeweiligen...
|
Wie würdest ihr es Programmieren ?
02/19/2010 - General Coding - 26 Replies
Moin, der Thread soll als kleines Rätsel dienen, und zwar damit wir mal sehn was für ProgrammierStyles wir hier haben ;)
Aufgabe ganz Einfach: Wir haben ein Operator I mit den Datentyp Int, dieses bekommt immer den Wert 1 oder 2. Falls es 1 ist, soll es auf 2 gesetzt werden, und falls es 2 ist, soll es auf 1 gesetzt werden.
Wer kann dazu den schlausten und kürzesten Code schreiben ?
Meinen Stelle ich später rein, nur zur Info: Meiner ist 1 Zeile lang.
|
Was würdest du tuhen wenn ...
12/29/2009 - Off Topic - 24 Replies
Liebes Epvp,
Ich wollte mal ein neues Fun-Game anfangen.
Das geht so;
z.B. Ich frag "Was würdest du tuhen wenn du eine aufs' Maul bekommen würdest?
Dann muss der untere seine Antwort schreiben und eine neue Frage starten.
|
(so)Gomt2 was würdest ihr besser machen?
04/15/2009 - Metin2 Private Server - 8 Replies
Hier könnt ihr verbesserungs vorschläge aus eurer sicht äussern!
was würdet ihr einfach besse machen?
|
All times are GMT +1. The time now is 23:30.
|
|