![]() |
![]() |
|
|
|||||||
| Registrieren | Hilfe/Forumregeln | Benutzerliste | Kalender | Suchen | Heutige Beiträge | Alle Foren als gelesen markieren |
| Programmierung Rat & Tat für Programmierer |
![]() |
|
|
Themen-Optionen | Ansicht |
|
|
#1 | |
|
Master
![]() |
Hi!
Ich soll ein Programm nach diesen Aufgabenstellungen machen, komme aber nicht weiter: Zitat:
Code:
public class Bsp11
{
public static void main(String[] args)
{
int[] kinder;
int n,s,i,schritte=0; // n = children s = Steps
boolean run = true;
// get inputs
System.out.println("Bitte Anzahl der Kinder eingeben >0: ");
n = SavitchIn.readLineInt();
kinder = new int[n];
System.out.println("Bitte Schritte eingeben >0: ");
s = SavitchIn.readLineInt();
for(i=0;i < n; i++) // kinder[] gets a value from 1..n
{
kinder[i] = i+1;
//System.out.println(kinder[i]);
}
System.out.println(); //blank line
//The real work
}
}
|
|
|
|
|
|
|
#2 |
|
Inventar
![]() Registriert seit: 13.06.2001
Beiträge: 1.830
|
Probier's mal mit
Code:
int j=0; //j ist die Variable mit der das Array durchlaufen wird
for(int i=0;i<n; i++){ //i dient dazu, daß das Array nur einmal durchlaufen wird
j+=s; //Kurz für j=j+s;
if(j>=n){j-=n;} //Damit j nicht über das Array hinausläuft
System.out.println(kinder[j]);
}
Würde trotzdem empfehlen EPROG ordentlich zu machen, du wirst es brauchen... Jak
____________________________________
Join the DNRC | Godwin\'s Law (thx@stona) Documentation is like sex: If it\'s good, it\'s very, very good. If it\'s bad, it\'s better than nothing. \"In theory, theory and practice are the same. In practice, they are not\" (Lawrence Berra) |
|
|
|
|
|
#3 |
|
Inventar
![]() Registriert seit: 08.04.2001
Beiträge: 3.101
|
Sowas ala
Code:
z=n-1
for(i=0;i < n; i++) {
for (j=0; j<s; j++}
{
z=(z+1) Modulo n
While kinder[z]=0
{
z=(z+1) Modulo n
}
}
Ausgabe(kinder[z])
kinder[z]=0
}
k.A. wie die Syntax in Java aussieht. |
|
|
|
|
|
#4 |
|
Quantensingularität
![]() |
so sollte es gehen:
Code:
import java.util.ArrayList;
/**
* @author Tarjan
*
* TODO To change the template for this generated type comment go to
* Window - Preferences - Java - Code Style - Code Templates
*/
public class Kinderreim
{
public static void main(String[] args)
{
int n = Integer.valueOf(args[0]).intValue(); // Anzahl Kinder
int s = Integer.valueOf(args[1]).intValue(); // Schrittgröße
// Array befüllen und Kinder bennen
ArrayList kinder = new ArrayList(n);
for (int i=0, l=kinder.size(); i<n; i++)
{
kinder.add("Kind " + (i+1)); //+1 da Java mit 0 zu zählen beginnt, wir aber mit 1 ;)
}
// Auszählreim
int i=s-1; // Zählindex beginned beim ersten Kind
while (kinder.size() > 0) // solange es noch Kinder gibt
{
while (i >= kinder.size()) {i -= kinder.size();} // sollte Ende erreicht sein -> von vorne
System.out.println(kinder.get(i)); // Kind ausdrucken
kinder.remove(i); // Kind scheidet aus
i+=s-1; // um Schrittgöße weiterzählen (minus eines wegen ausgeschiedenen Kind
}
}
}
Kind 3 Kind 6 Kind 9 Kind 4 Kind 8 Kind 5 Kind 2 Kind 7 Kind 1
____________________________________
Was ist klein, grün und dreieckig? Ein kleines grünes Dreieck! Bahnübergänge sind die härtesten Drogen der Welt! Ein Zug und du bist weg! |
|
|
|
|
|
#5 |
|
Master
![]() |
Ich habs jetzt so gelöst
Code:
public class Bsp11
{
public static void main(String[] args)
{
int[] kinder;
int n=1,s,arraylaenge,hilf,j,k=1; // n = children s = Steps
// get inputs
System.out.println("Bitte Anzahl der Kinder eingeben >0: ");
n += SavitchIn.readLineInt();
kinder = new int[n+1];
arraylaenge = n;
System.out.println("Bitte Schritte eingeben >0: ");
s = SavitchIn.readLineInt();
for (int i=1; i<=n; i++)
{
kinder[i] = i;
}
System.out.println(); //blank line
//The real work
for(int i=1;n > 1;i++) { //when all arrays are moved
//System.out.println(n);
//System.out.println();
System.out.println("next run");
j=1;
do { //till the run var is as large as the var that is the end of the search area
System.out.println("Ausgeschieden ist Kind: " + kinder[j]);
hilf = kinder[j];
kinder[j] = kinder[arraylaenge-k];
kinder[arraylaenge - k] = hilf;
//Checksets
System.out.println("Durchlauf: " + j);
System.out.println("n: " + n);
System.out.println("j: "+ j);
System.out.println();
//var increments
n--;
k++;
j+=s;
} while (j<n);
}
|
|
|
|
![]() |
| Aktive Benutzer in diesem Thema: 1 (Registrierte Benutzer: 0, Gäste: 1) | |
| Themen-Optionen | |
| Ansicht | |
|
|