AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Thema durchsuchen
Ansicht
Themen-Optionen

Problem mit simplem C-Quellcode

Ein Thema von Dust Signs · begonnen am 23. Feb 2005 · letzter Beitrag vom 24. Feb 2005
Antwort Antwort
Seite 2 von 2     12   
Benutzerbild von Binärbaum
Binärbaum

Registriert seit: 19. Jan 2005
Ort: Elstra
764 Beiträge
 
Delphi 7 Enterprise
 
#11

Re: Problem mit simplem C-Quellcode

  Alt 23. Feb 2005, 21:18
Naja, wir sind hier aber auch in einem Forum, das sich auf Delphi spezialisiert hat, und da ist sowas ja in Ordnung. Allerdings gehört es nicht zur Lösung des Problems
@Robert Marquardt:
Nimms mir bitte nicht übel, ich würde es auch lieber in Delphi machen, aber scheinbar haben die in der Uni von Dust Signs kein Delphi.

MfG
Binärbaum
There are exactly 10 kinds of people: those who understand binary, and those who don't.
---
"Software reift beim Kunden. Bei Hardware ist es anders: Hardware fault beim Kunden." - Rainer G. Spallek
  Mit Zitat antworten Zitat
Dust Signs

Registriert seit: 28. Dez 2004
Ort: Salzburg
379 Beiträge
 
#12

Re: Problem mit simplem C-Quellcode

  Alt 23. Feb 2005, 21:24
Zitat von Binärbaum:
@Robert Marquardt:
Nimms mir bitte nicht übel, ich würde es auch lieber in Delphi machen, aber scheinbar haben die in der Uni von Dust Signs kein Delphi
Delphi lernen wir an unserer FH nicht, nur C, C++, Java etc. Alles, nur kein Delphi . Da wir uns im ersten und zweiten Semester ausschließlich mit C befassen wird eine Delphilösung wohl kaum genügen (wär mir persönlich auch lieber).

Habs jetzt anders lösen können:

Code:
#include <stdio.h>

int matrosen[30];

int zaehler = 0; //Wenn eine Runde fertig: bei welchem Wert wurde aufgehört zu zählen

int anzahl_matrosen_uebrig = 30;

int MatrosenFuellen() {

  int i; //Schleifendummy

  for (i = 0; i < anzahl_matrosen_uebrig; i++) {

    matrosen[i] = i + 1;

    }

  }

int JederSiebteRaus() {

  int i; //Schleifendummy

  printf("Neue Runde...\n");

  for (i = 0; i < 30; i++) {
 
    if (matrosen[i] != 0) { //Matrose noch da

      zaehler++;

      if (zaehler == 7) {

        zaehler = 0;

        printf("Matrose #%d fliegt...\n", matrosen[i]);

        matrosen[i] = 0; //Matrose "löschen"
      
      anzahl_matrosen_uebrig--; //Ein Matrose weniger

        }
      
   }

    }

  printf("Wir haben bei %d aufgehört zu zählen.\n", zaehler);

  }
 
int LetzterMatrose() {

  int i; //Schleifendummy
 
  for (i = 0; i < 30; i++) {
 
    if (matrosen[i] != 0) {
   
     return matrosen[i];
    
     }
 
    }

  }

int main() {

  MatrosenFuellen(); //Initialisieren

  printf("Lustiges Matrosenfliegen\n");
  printf("========================\n\n");

  while (anzahl_matrosen_uebrig > 1) {

    JederSiebteRaus();

    printf("Noch %d Matrosen übrig\n", anzahl_matrosen_uebrig);

  }

  printf("Ãœbrig ist Matrose #%d\n", LetzterMatrose());

  return 0;

  }
Danke trotzdem für eure Hilfe
Dust Signs
(aka AXMD in der EE)
Die Nummer, die Sie gewählt haben, ist imaginär. Bitte drehen Sie Ihr Telefon um 90° und versuchen Sie es erneut.
  Mit Zitat antworten Zitat
Robert Marquardt
(Gast)

n/a Beiträge
 
#13

Re: Problem mit simplem C-Quellcode

  Alt 24. Feb 2005, 05:58
Das mit dem C hab ich irgendwie verpasst.
Da muss man aber nur ein Array statt der TStringList deklarieren und das Delete mit memmove implementieren.
Der Rest des Algorithmus bleibt bestehen.
  Mit Zitat antworten Zitat
Chewie

Registriert seit: 10. Jun 2002
Ort: Deidesheim
2.886 Beiträge
 
Turbo Delphi für Win32
 
#14

Re: Problem mit simplem C-Quellcode

  Alt 24. Feb 2005, 13:26
Inkrementier deinen Zähler doch einfach jedesmal und fürh eine Modulo-<Größe des Arrays>-Operation durch. Dann kriegst du automatisch dein Umklappen hin.
Ein Ringpuffer ist IMHO genauso leicht mit ARrays zu realisieren wie mit verk. Listen.
Martin Leim
Egal wie dumm man selbst ist, es gibt immer andere, die noch dümmer sind
  Mit Zitat antworten Zitat
Benutzerbild von Luckie
Luckie

Registriert seit: 29. Mai 2002
37.621 Beiträge
 
Delphi 2006 Professional
 
#15

Re: Problem mit simplem C-Quellcode

  Alt 24. Feb 2005, 13:47
Für den Algorithmus ist die Sprache doch vollkommen unerheblich. Und wenn man in einem Delphi-Forum fragt, dann sollte man auch damit rechnen, das ganze in Delphi präsentiert zu bekommen.
Michael
Ein Teil meines Codes würde euch verunsichern.
  Mit Zitat antworten Zitat
Dust Signs

Registriert seit: 28. Dez 2004
Ort: Salzburg
379 Beiträge
 
#16

Re: Problem mit simplem C-Quellcode

  Alt 24. Feb 2005, 13:48
Zitat von Luckie:
Für den Algorithmus ist die Sprache doch vollkommen unerheblich. Und wenn man in einem Delphi-Forum fragt, dann sollte man auch damit rechnen, das ganze in Delphi präsentiert zu bekommen.
Was meinst du warum ich in dieser Sparte gepostet hab

Dust Signs
(aka AXMD in der EE)
Die Nummer, die Sie gewählt haben, ist imaginär. Bitte drehen Sie Ihr Telefon um 90° und versuchen Sie es erneut.
  Mit Zitat antworten Zitat
Benutzerbild von Binärbaum
Binärbaum

Registriert seit: 19. Jan 2005
Ort: Elstra
764 Beiträge
 
Delphi 7 Enterprise
 
#17

Re: Problem mit simplem C-Quellcode

  Alt 24. Feb 2005, 15:20
Zitat von Luckie:
Für den Algorithmus ist die Sprache doch vollkommen unerheblich. Und wenn man in einem Delphi-Forum fragt, dann sollte man auch damit rechnen, das ganze in Delphi präsentiert zu bekommen.
Das mag schon sein und ist ja auch nichts schlechtes. Allerdings gibt es in C keine Komponente TStringList mit den dazugehörigen Methoden/ Prozeduren wie in Delphi. Deshalb war der Code in dem Moment wenig hilfreich.

MfG
Binärbaum
There are exactly 10 kinds of people: those who understand binary, and those who don't.
---
"Software reift beim Kunden. Bei Hardware ist es anders: Hardware fault beim Kunden." - Rainer G. Spallek
  Mit Zitat antworten Zitat
Benutzerbild von Luckie
Luckie

Registriert seit: 29. Mai 2002
37.621 Beiträge
 
Delphi 2006 Professional
 
#18

Re: Problem mit simplem C-Quellcode

  Alt 24. Feb 2005, 15:27
wie schon gesagt, für den reinen Algorithmus sind Sprache und verwendete Komponente vollkommen unerheblich.
Michael
Ein Teil meines Codes würde euch verunsichern.
  Mit Zitat antworten Zitat
Antwort Antwort
Seite 2 von 2     12   


Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 02:51 Uhr.
Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz