Ergebnis 1 bis 14 von 14

Brauche Hilfe beim Script!

  1. #1 Zitieren
    Ritter
    Registriert seit
    May 2009
    Ort
    C:/
    Beiträge
    1.469
    Sooo, Moin..
    wir haben ein Problem, wir haben bei einer Aufgabe der Mathenacht (Kryptogramm) versucht, sie mit einem kleinen Programm zu lösen...nur leider spuckt der Compiler nen Syntax-Error aus.
    Wir versuchen folgenden script (danke an lehona) mit devc++ in C zum laufen zu bekommen..

    #include <stdio.h>
    #include <stdlib.h>

    int main(int argc, char *argv[])
    {
    for (int a=0; a<10; a++) {
    for (int b=0; b<10; b++) {
    if (a+b==0){
    if ((100000*a+10000*b+1000*a+100*b+10*a+b)/(10*a+b)/(10*a+b)%111==0)
    printf("%i, %i\n", a, b);
    }
    }
    }

    system("PAUSE");
    return 0;
    }
    wahrscheinlich irgendein total idiotischer Fehler, guckt bitte auch mal rauf.
    Zitat Zitat von Hawke Beitrag anzeigen
    ich glaube...dem vorschlag eines users zu urteilen...das ich wirklich der perfekte banger bin...
    Xerotar ist offline

  2. #2 Zitieren
    Ritter Avatar von Delta 38
    Registriert seit
    Nov 2008
    Ort
    Bremen
    Beiträge
    1.251
    Also:

    1. Code bitte im entsprechenden [code][/code] (Code-) Tag posten.
    2. Wenn du Hilfe erwartest solltest du den Fehler dazu schreiben und evtl. sogar die Zeile farbig markieren. Dann wissen alle worum es geht und müssen das nicht selbst kompilieren.

    Code:
    #include <stdio.h>
    #include <stdlib.h>
    
    int main(int argc, char *argv[])
    {
        for (int a=0; a<10; a++) {
           for (int b=0; b<10; b++) {
              if (a+b==0){
                 if ((100000*a+10000*b+1000*a+100*b+10*a+b)/(10*a+b)/(10*a+b)%111==0)
                    printf("%i, %i\n", a, b);
               }
            }
         }
         system("PAUSE");
         return 0;
    }

    Hättest du zudem den Code noch sinnvoll eingerückt, wäre dir schnell aufgefallen, dass es zu der ersten for-Schleife keine schließende und zu der zweiten if-Abfrage keine öffnende geschweifte Klammer gibt (Farbig markiert)

    Gruß Delta

    EDIT: Wird die seltsam kryptische, innere if-Abfrage nicht nur ein einziges mal aufgerufen? a+b ist doch nur ein einziges mal 0 oder irre ich mich da (nämlich beim Einstieg in die for-Schleifen)

    EDIT 2: [Bild: 529.gif] na toll -.- ich hab mal wieder nicht richtig hingeschaut. Der Rest (außer die Antwort auf deine Frage) gilt aber trotzdem.
    Delta 38 ist offline Geändert von Delta 38 (23.11.2012 um 20:09 Uhr)

  3. #3 Zitieren
    Provinzheld Avatar von Cheesecake
    Registriert seit
    Feb 2012
    Beiträge
    266
    Code:
    for (int a=0; a<10; a++)
    Das geht in C so nicht. a muss vor dem Schleifenkopf deklariert werden.
    Außerdem ist C keine Skriptsprache!
    Cheesecake ist offline

  4. #4 Zitieren
    Ritter
    Registriert seit
    May 2009
    Ort
    C:/
    Beiträge
    1.469
    Code:
     int main() {
    for (int a=0; a<10; a++) {
    for (int b=0; b<10; b++) {
    if (a+b==0) continue;
    if ((100000*a+10000*b+1000*a+100*b+10*a+b)/(10*a+b)/(10*a+b)%111==0) printf("%i, %i\n", a, b); 
    }
    }
    }
    der fehler den wir bekommen ist folgender:

    'for loop initial declaration used outside C99 mode


    nebenbei sorry, wir sind nur anfänger was programmieren angeht und sehen darin so langsam die einzige noch offene Möglichkeit die Aufgabe zu lösen, so langsam laufen nämlich selbst bei den Lehrern die Köpfe heiß..
    Zitat Zitat von Hawke Beitrag anzeigen
    ich glaube...dem vorschlag eines users zu urteilen...das ich wirklich der perfekte banger bin...
    Xerotar ist offline

  5. #5 Zitieren
    Ritter
    Registriert seit
    May 2009
    Ort
    C:/
    Beiträge
    1.469
    so.. die Aufgabe wurde jetzt durch einen erneuten fast schon autistischen Anfall einer unserer Mathelehrer gelöst: 22.
    Ihr könnt euch ja noch die Köpfe weiter heißreden, jedenfalls danke an alle die geholfen haben
    Zitat Zitat von Hawke Beitrag anzeigen
    ich glaube...dem vorschlag eines users zu urteilen...das ich wirklich der perfekte banger bin...
    Xerotar ist offline

  6. #6 Zitieren
    Ritter Avatar von Delta 38
    Registriert seit
    Nov 2008
    Ort
    Bremen
    Beiträge
    1.251
    Ich zitier mal Cheesecake:
    Zitat Zitat von Cheesecake
    Das geht in C so nicht. a muss vor dem Schleifenkopf deklariert werden.
    also sowas in der Art:
    Code:
    #include <stdio.h>
    #include <stdlib.h>
    
    int main(int argc, char *argv[])
    {
        int a, b;
    
        for (a=0; a<10; a++) {
           for (b=0; b<10; b++) {
              if (a+b==0){
                 if ((100000*a+10000*b+1000*a+100*b+10*a+b)/(10*a+b)/(10*a+b)%111==0)
                    printf("%i, %i\n", a, b);
               }
            }
         }
         system("PAUSE");
         return 0;
    }
    Delta 38 ist offline

  7. #7 Zitieren
    Retro Micky Avatar von Blue Force
    Registriert seit
    May 2009
    Beiträge
    26.200
    Zitat Zitat von Xerotar Beitrag anzeigen
    so.. die Aufgabe wurde jetzt durch einen erneuten fast schon autistischen Anfall einer unserer Mathelehrer gelöst: 22.
    Ihr könnt euch ja noch die Köpfe weiter heißreden, jedenfalls danke an alle die geholfen haben
    Schreib irgendwann mal wie die Herleitung der Lösung war. Nur das Ergebnis reicht nicht in dem Wttbewerb, oder?
    1 2 3 4 5
    Blue Force ist offline

  8. #8 Zitieren
    Benutzer, die ihr Benutzerkonto per E-Mail bestätigen müssen
    Registriert seit
    May 2009
    Ort
    Hölle
    Beiträge
    1.351
    Zitat Zitat von Cheesecake Beitrag anzeigen
    Code:
    for (int a=0; a<10; a++)
    Das geht in C so nicht. a muss vor dem Schleifenkopf deklariert werden.
    Natürlich geht das in C. Aber nur wenn man so gescheit ist den C99 oder C11-Standard zu benützen, was beim TE anscheinend nicht der Fall war.
    Headcool ist offline

  9. #9 Zitieren
    Ritter
    Registriert seit
    May 2009
    Ort
    C:/
    Beiträge
    1.469
    doch, die 22 haben sie genommen, sind jetzt in der zweiten Runde. Die hatten nen Fehler im Server, deshalb war keine einzige zehnte Klasse in der zweiten Runde. Wir haben da angerufen und die haben es gefixt, jetzt gehts weiter, nur die aufgaben sind echt nur noch bockschwere
    Zitat Zitat von Hawke Beitrag anzeigen
    ich glaube...dem vorschlag eines users zu urteilen...das ich wirklich der perfekte banger bin...
    Xerotar ist offline

  10. #10 Zitieren
    Demigod Avatar von Sumpfkrautjunkie
    Registriert seit
    Nov 2004
    Ort
    München
    Beiträge
    9.091
    Zitat Zitat von Batzenhofer Beitrag anzeigen
    Schreib irgendwann mal wie die Herleitung der Lösung war. Nur das Ergebnis reicht nicht in dem Wttbewerb, oder?
    ist kein bisschen fancy:

    du hast:
    (a*105+b*104+a*103+b*102+a*101+b)/(10a+b)2=c*111

    <=>

    (a*101010+b*10101)/(10a+b)2=c*111

    <=>
    (10a+b)/(10a+b)2=c*1/91

    <=>
    1/(10a+b)=c*1/91

    <=>

    91=c*(10a+b)


    So jetzt einfach mal die Faktoren von 91 bestimmen: 7,13, 1,91
    Sumpfkrautjunkie ist offline

  11. #11 Zitieren
    Provinzheld Avatar von Cheesecake
    Registriert seit
    Feb 2012
    Beiträge
    266
    Zitat Zitat von Headcool Beitrag anzeigen
    Natürlich geht das in C. Aber nur wenn man so gescheit ist den C99 oder C11-Standard zu benützen, was beim TE anscheinend nicht der Fall war.
    Ja stimmt, da hast du natürlich recht. Nur leider scheinen große Teile der C-Welt die neuen Standards in den letzten 20 Jahren verschlafen zu haben und nachdem ich mich jetzt seit Wochen mit verschieden Quelltexten herumärgern durfte, die alle nur C89/90 nutzen, habe ich daran gar nicht mehr gedacht.
    Cheesecake ist offline

  12. #12 Zitieren
    Deus Avatar von Daepilin
    Registriert seit
    Oct 2006
    Ort
    NRW
    Beiträge
    11.619
    Zitat Zitat von Cheesecake Beitrag anzeigen
    Ja stimmt, da hast du natürlich recht. Nur leider scheinen große Teile der C-Welt die neuen Standards in den letzten 20 Jahren verschlafen zu haben und nachdem ich mich jetzt seit Wochen mit verschieden Quelltexten herumärgern durfte, die alle nur C89/90 nutzen, habe ich daran gar nicht mehr gedacht.
    könnte daran liegen, dass auch an universitäten(zumindest hier bei uns) c99 oder neuer nich betrachtet wird, bzw. zumindest nict in der c vorlesung(kam dann in der c++ vorlesung als:"von c zu c++")... wir hatten in der c vorlesung nur c89/90...

    c99 oder neuer war zwar in den abgaben korrekt, sofern der gnu compiller es kompilliert hat, aber gelehrt wurde der alte standard...

    Daepilin ist offline

  13. #13 Zitieren
    Just arrived
    Registriert seit
    Nov 2012
    Beiträge
    1
    Hallo,

    also, an deiner Stelle würde ich mir ein Paar Tutorials oder Videos zu dieser Thematik angucken. Die Leute von sofatutor haben echt sehr coole Videos im Internet dazu. Vielleicht wäre das was für Dich?

    LG
    abiturientin ist offline

  14. #14 Zitieren
    Ritter Avatar von Delta 38
    Registriert seit
    Nov 2008
    Ort
    Bremen
    Beiträge
    1.251
    Unter welcher Rubrik wäre das denn zu finden? Zumindest bei Schüler und Student bin ich nicht fündig geworden.
    Delta 38 ist offline

Berechtigungen

  • Neue Themen erstellen: Nein
  • Themen beantworten: Nein
  • Anhänge hochladen: Nein
  • Beiträge bearbeiten: Nein
  •