2014-02-11, 11:28
  #1
Bannlyst
Vi säger denna kod:

Kod:
print "Enter a phrase: ";
my $string = readline STDIN, "\n";
print "Enter a number: ";
my $number = readline STDIN, "\n";

Hur ska jag använda metoden substr() för att byta plats på bokstäverna i $phrase? Jag menar såhär.

1. Användaren startar programmet, skriver "Flashback" och sätter därmed $string värde till "Flashback".
2. Användaren skriver in siffran 3 och sätter värdet $number till "3".

Detta innebär att var 3e bokstav i $phrase ska byta plats med varandra.

$phrase före = Flashback
$phrase efter = alFbshkac

Hur skulle koden se ut? Tack så mycket.
Citera
2014-02-16, 14:10
  #2
Medlem
Citat:
Ursprungligen postat av wp
Vi säger denna kod:
$phrase före = Flashback
$phrase efter = alFbshkac
Jag vet inte om det är en typo men det verkar inte stämma. Jag är osäker så här kommer två olika sätt. Lägg till något av följande i ditt skript:

Kod:
chop ($number);
for ($count=0; $count<$number; $count++)
{
  substr ($string, $count*$number, 0) = substr ($string, $count*$number+2, 1);
  substr ($string, $count*$number+3, 1) = "";
}
print $string;
(ger aFlbshkac)

Kod:
chop ($number);
for ($count=0; $count<$number; $count++)
{
  my $one = substr ($string, $count*$number, 1);
  my $two = substr ($string, $count*$number+2, 1);
  substr ($string, $count*$number+2, 1) = $one;
  substr ($string, $count*$number, 1) = $two;
}
print $string;
(ger alFbhskca)
Citera

Skapa ett konto eller logga in för att kommentera

Du måste vara medlem för att kunna kommentera

Skapa ett konto

Det är enkelt att registrera ett nytt konto

Bli medlem

Logga in

Har du redan ett konto? Logga in här

Logga in