kostenloser Webspace werbefrei: lima-city


PHP übungen - komme da nicht weiter

lima-cityForumProgrammiersprachenPHP, MySQL & .htaccess

  1. Autor dieses Themas

    s******7

    Hallo!

    Auch ich lerne PHP. Aus diesem Grund hab ich mir verschiedene übungen rausgesucht, über deren sinn sich zwar streiten lässt, aber es geht ja nur um die Übung.

    Soo.. ich werd euch die aufgabe schreiben:
    Ich handhabe das ganze mit variablen, damit es abänderbar ist.

    Ausgabe soll so ausschaun:
    11111
    10001
    10001
    10001
    11111
    Ich krieg es einfach nicht hin. Vielleicht ist es für manch einen total lächerlich, ich verzweilfe gereade, dass ich an einer scheinbar einfachen Aufgabe scheitere. Ich hab noch mehr knifflige Beispiele, die alle aufeinander aufbauen.

    Vielleicht würde mir der substr_replace() helfen.

    Mein erster Lösungsansatz war:
    einer variable den wert 1 zuweisen
    einer variable den wert 0 zuweisen

    und dann so mit echos ausgeben lassen. Und den string wiederholen lol, Was komforableres muss her. Nur WIE...

    Beitrag zuletzt geändert: 15.1.2009 10:33:48 von sunny017
  2. Diskutiere mit und stelle Fragen: Jetzt kostenlos anmelden!

    lima-city: Gratis werbefreier Webspace für deine eigene Homepage

  3. wie währe es wie folgt:
    <?php
    a = "11111<br />";
    b = "10001<br />";
    
    print $a.$b.$b.$b.$a;
    
    ?>


    Beitrag zuletzt geändert: 15.1.2009 12:32:24 von mergener
  4. t*****b

    Wenn schon mit Variablen, dann auch variabel ;)

    <?php
    
    $a = "1";
    $b = "0";
    
    $s1 = $a.$a.$a.$a.$a;
    $s2 = $a.$b.$b.$b.$a;
    
    echo $s1.$s2.$s2.$s2.$s1;
    ?>



  5. Wenn schon mit Variablen, dann sollte die ausgabe auch stimmen! Du hast die BR's vergessen!
    &lt;?php
    
    $a = "1";
    $b = "0";
    $c = "<br />";
    
    $s1 = $a.$a.$a.$a.$a.$c;
    $s2 = $a.$b.$b.$b.$a.$c;
    
    echo $s1.$s2.$s2.$s2.$s1;
    ?&gt;

  6. Autor dieses Themas

    s******7

    mergener Ergebnis:
    52225
    nicht ganz was ich wollte...

    trueweb: du bist super ich danke dir

    und noch mergener, das hätt ich bestimmt noch hinbekommen, die Ausgabe stimmt ja theoretisch ;)

    Ach wenns noch andere Lösungsvorschläge gibt, nur zu ;)

    Beitrag zuletzt geändert: 15.1.2009 11:34:07 von sunny017
  7. sunny017 schrieb:
    mergener Ergebnis:
    52225
    nicht ganz was ich wollte...

    Kommt davon wenn man viel mit Programmiersprachen schreibt wo man per "+" und nicht per "." Strings zusammen führt. :D

    Ich hab den Beitrag mal verbessert.

    Anderer Lösungsweg, der einfachste:

    print = "
    11111<br />
    10001<br />
    10001<br />
    10001<br />
    11111";


    Es gibt millionen Wege sowas auszugeben :D


    Beitrag zuletzt geändert: 15.1.2009 12:32:09 von mergener
  8. Autor dieses Themas

    s******7

    alles klar ;) .. eigentlich hätt ich auf den . von alleine kommen können *am kopf kratz* lol ..

    Naja.. das es bestimmt seeehr viele wege gibt um ans ziel zu kommen, ist mir klar, der für mich ersichtlichste war eben das mit dem echo.

    Erst bin ich nicht mal auf die idee gekommen die variablen zu verknüpfen und hatte dann was weiss ich wie viele echos..

    Naja.. ich tüftel grade an einer lösung mit einer schleife, for würde sich meiner meinung nach anbieten *denk*
  9. t*****b

    Da der Umgang mit Variablen gelernt werden soll, habe ich in meinem Beispiel möglichst alles Variabel. Das Muster ist ja vorgegeben.

    <?php
    
    $a = "1";
    $b = "0";
    $anzahl = 10;
    
    $s1 = $a.$a.$a.$a.$a;
    $s2 = $a.$b.$b.$b.$a;
    
    echo $s1."<br />";
    for($i = 1; $i <= $anzahl; $i++) {
     echo $s2."<br />";
    }
    echo $s1;
    
    ?>


    Ich wüsste jedenfalls nicht, wo man da noch Variablen integrieren könnte. So gesehen machen Variablen eh in dem Beispiel eh keinen Sinn, aber es handelt sich schließlich nur um eine Übung.
  10. Mal so eine Frage:
    woher hast du diese "Übung"?
    Was soll man aus dieser "Übung" lernen?
  11. Wahrscheinlich solltest du aber sowas machen:
    <?
        $a = "1";   // Ausgabestring für den Rand
        $b = "0";   // Ausgabestring für den Innenteil
        $x = 10;    // variable Spalten bzw. Zeilenanzahl (bitte selbst variieren)
        
        for ($zeile = 1; $zeile <= $x; $zeile++) {
            for ($spalte = 1; $spalte <= $x; $spalte++) {
                if ($zeile == 1 or $zeile == $x or $spalte == 1 or $spalte == $x) {
                    echo $a;
                } else {
                    echo $b;
                }
            }
            echo '<br />';
        }
    ?>


    @effektdesign: Lernen soll man aus dieser Übung: Verschachtelte for-Schleifen, um später mal eine HtML-Tabelle mit Daten aus der Datenbank aufzubauen ;-)

    Grüßle

    Beitrag zuletzt geändert: 15.1.2009 15:29:55 von scout
  12. Ok da hast du Recht dein Lösungsansatz ist sinnvoll. Also daraus lernt man auch was.
    Aber aus der Aufgabenstellung war nicht erkennbar das man mit Schleifen arbeiten soll.
    Außerdem sollte $x= 5 sein ;)

    aber das sieht natürlich auch nicht schlecht aus :D

    1111111111
    1000000001
    1000000001
    1000000001
    1000000001
    1000000001
    1000000001
    1000000001
    1000000001
    1111111111
  13. Autor dieses Themas

    s******7

    Danke scout ;)

    Das is auch toll, werd ich mir morgen genau anschaun, mal sehn ob ich das nachstellen kann. Mit for schleifen komm ich noch nicht so gut klar.

    Aus den Aufgaben geht nicht klar hervor wie man es lösen soll/muss, aber ich finds gut, wenn man sich das selber erarbeiten kann, so kann man verschiedene wege tüfteln. Bin ja noch nicht weit mit PHP. Ich hab sie irgendwo in den tiefen des internets gefunden, weiss nicht mehr wo.

    bin grad an dieser, Ausgabe soll so aussehen.
    MXXXX
    XAXXX
    XXRXX
    XXXIXX
    XXXXO

    DAS
    MXXXX
    AXXXX
    RXXXX
    IXXXXX
    OXXXX
    hab ich hinbekommen.. Es funktioniert über ein Formular, wo der user seinen namen eingeben kann, dieser wird in ner variable gespeichert. So ist es möglich das auch eine Susanne und ein Fritz usw die richtige ausgabe bekommen. Ich habs mit ner for schleife, variablen, mit der Funktion die ausgibt wie lang ein string ist und mit ner andern die mir grad nicht einfallen will, geschafft. also denk ich mal das obiges recht ähnlich zu lösen sein wird. Bis jetzt hatte ich noch keinen geistesblitz.

    Beitrag zuletzt geändert: 15.1.2009 21:56:02 von sunny017
  14. geht auch ohne for ;)

    <?php
    
    $times = 5;
    $one = 1;
    $zero = 0;
    
    echo str_repeat ($one,$times).'<br>';
    echo str_repeat($one.str_repeat($zero,$times-2).$one.'<br>',$times-2);
    echo str_repeat ($one,$times);
    
    ?>
  15. @sunny017

    <?
    $input = "MARIO";
    $fill = 'X';
    $len = strlen($input);
    
    for ($a=0; $a<$len; $a++)
    {
       for ($b=0; $b<$len; $b++)
       {
          if($a == $b) echo $input{$a};
          else echo $fill;
       }
       echo '<br />';
    }
    ?>


    Beitrag zuletzt geändert: 16.1.2009 0:40:27 von c0d3c
  16. Autor dieses Themas

    s******7

    Ohh super ich danke euch. Nun komm ich alleine klar, kann von mir aus geclosed werden:thumb:

    --> closed by tct
    Bei Fragen z.B. Wiedereröffnung einfach an mich wenden.

    Beitrag zuletzt geändert: 16.1.2009 10:58:57 von tct
  17. Diskutiere mit und stelle Fragen: Jetzt kostenlos anmelden!

    lima-city: Gratis werbefreier Webspace für deine eigene Homepage

Dir gefällt dieses Thema?

Über lima-city

Login zum Webhosting ohne Werbung!