Buch Cover Buch Cover Buch Cover Buch Cover

Web-Code: - Webcode Help

Tausche (Anweisungen und Abfolgen)

Schreiben Sie ein Programm, das zwei Speicherstellen (variable) vertauscht.

Gegeben sind am Anfang zwei Variable des selben Datentyps (z. B. integer). Die Werte müssen nach Ihrem Code vertauscht sein.

a := 37
b := 55

... ???

a = 55
b = 37

0 Kommentare

Bitte melde dich an um einen Kommentar abzugeben

24 Lösung(en)

a := 37
b := 55

temp: integer

temp := a
a    := b
b    := temp


                

Lösung von: Philipp G. Freimann (BBW (Berufsbildungsschule Winterthur) https://www.bbw.ch)

a = 37
b = 55

b,a = a,b

puts "a=#{a}"
puts "b=#{b}"
                

Lösung von: Philipp G. Freimann (BBW (Berufsbildungsschule Winterthur) https://www.bbw.ch)

// Autor:				Andy Großhennig
// Solution for task:	Tausche (Anweisungen und Abfolgen)

#include <iostream>

using namespace std;

void changing()
{
	int a = 37, b = 55;

	cout << a << "\t" << b << endl;

	a = a * b;
	b = a / b;
	a = a / b;

	cout << a << "\t" << b;
}

int main()
{
	changing();

	cout << "\n\n";
	system("Pause");
	return 0;
}
                

Lösung von: Andy Großhennig (Bundeswehr)

def tausche(a, b):
    
    print ("a ist zu Beginn ", a)
    print ("b ist zu Beginn ", b)
    c = a
    d = b
    a = d
    b = c
    print("a ist jetzt ", a)
    print ("b ist jetzt", b)
tausche(33,55)
                

Lösung von: Py Thon ()

def tausche(a,b):
    print ("a ist " , a, ", ", "b ist ",  b)
    a,b = b,a
    print ("a ist jetzt ", a, ", ", "b ist jetzt ", b)
tausche(33,44)
                

Lösung von: Py Thon ()

a,b = 33,57
a,b = b,a
                

Lösung von: Py Thon ()

$a=37;
$b=55;
@c=($b, $a);
($a, $b)=@c;
                

Lösung von: Name nicht veröffentlicht

#!/usr/bin/env ruby

def vertausche(a,b)
puts "a=" + a.to_s
puts "b=" + b.to_s

c = a
d = b
b = c
a = d

puts "a=" + a.to_s
puts "b=" + b.to_s
end

puts vertausche(5,6)

gets
                

Lösung von: Name nicht veröffentlicht

program tausche (input, output);
{ tauscht 2 eingegebene Zahlen }

    var
    a,
    b,
    hilf: integer;

begin
    write('Bitte erste Zahl eingeben: ');
    readln(a);
    write('Bitte zweite Zahl eingeben: ');
    readln(b);
    writeln('Vor Tausch: a=', a, '; b=', b);
    hilf := a;
    a := b;
    b := hilf;
    writeln('Nach Tausch: a=', a, '; b=', b);
end. { tausche  }

                

Lösung von: Patrick Reif ()

#include <stdio.h>
#include <stdlib.h>
#define NEWLINE '\n'
int main()
{
    /* Variabeln */
    int a, b;

    a = 20;
    b = 50;

    printf("a ist gleich: %d\n", a);
    printf("b ist gleich: %d\n\n", b);

    /* Jetzt wird Plaetze getauscht */
    a = a ^ b;
    b = a ^ b;
    a = a ^ b;

    printf("a ist jetzt gleich: %d\n", a);
    printf("b ist jetzt gleich: %d\n", b);
    return 0;
}
                

Lösung von: Name nicht veröffentlicht

! FORTRAN 90
PROGRAM main
  IMPLICIT NONE
  INTEGER a, b
  a = 90
  b = 95

  ! Wechsel der Werte
  a = XOR(a, b)
  b = XOR(a, b)
  a = XOR(a, b)

  PRINT *, a
  PRINT *, b
END PROGRAM main
                

Lösung von: Name nicht veröffentlicht

<?php 
#Setzte Variablen
$a = 20;
$b = 50;

#Vorab ergebnis
echo "A war: ".$a."</br>";
echo "B war: ".$b."</br>";

#Tausche
$temp = $b;
$b = $a;
$a = $temp;

#Ergebnis
echo "A ist jetzt: ".$a."</br>";
echo "B ist jetzt: ".$b."</br>";
echo "TEMP ist jetzt: ".$temp;
?>
                

Lösung von: Name nicht veröffentlicht

// Programmiersrpache: Go

package main

import "fmt"

func main() {
    a, b := 37, 55

    fmt.Println("a =", a, "| b =", b)
    
    a, b = b, a

    fmt.Println("a =", a, "| b =", b)
}
                

Lösung von: Matthias Sayler (Bosch)

public class wertwechsel {

    // Variablen
    private int a = 37;
    private int b = 55;

    // Vertauschmethode
    private void vertausche(int a) {
	this.a = this.b;
	this.b = a;
    }

    // Hauptmethode
    public static void main(String[] args) {
	wertwechsel tue = new wertwechsel();
	tue.vertausche(tue.a);
    }
}
                

Lösung von: Sebastian Littel ()

package ch.programmieraufgaben.sequenz;
/**
 * Aufgabe "Tausche". Aus programmieraufgaben.ch Web-Code ecu8-pdg7
 * Philipp Gressly Freimann (phi@gress.ly)
 * Nach einer anonymen Fortran-Lösung.
 * 
 * Tausche die Inhalte von zwei Variablen.
 * 
 * Diese Lösung zeigt schön, dass mit weniger Speicher mehr
 * Rechenleistung erforderlich ist.
 * Hier werden drei Operationen (und drei Zuweisungen) benötigt,
 * um die Plätze zu tauschen.
 * Haben wir mehr Speicher zur Verfügung, so können wir
 * den folgenden klassiker verwenden:
 * temp := a; a := b; b := temp;
 * 
 * Wenn sich die Speicherpreise halbieren, so werden unsere
 * PCs mit den geeigneten Algorithmen auch ohne schnellere
 * Prozessoren doppelt so schnell!
 */
import java.util.Scanner;

public class Tausche {
  public static void main(String[] args) {
    new Tausche();
  }
  
  public Tausche() {
    int a = einlesen("A");
    int b = einlesen("B");
    
    // tausche
    a = a ^ b;
    b = a ^ b;
    a = a ^ b;
    
    System.out.println("A neu (= B alt): " + a);
    System.out.println("B neu (= A alt): " + b);
  }
  
  Scanner sc = new Scanner(System.in);
  int einlesen(String attributName) {
      System.out.println("Bitte " + attributName + " eingeben: ");
      return sc.nextInt();
  }

} // end of class Tausche
                

Lösung von: Philipp G. Freimann (BBW (Berufsbildungsschule Winterthur) https://www.bbw.ch)

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


int main()
{
	// Variablen definieren
	int iZahl1;
	int iZahl2;
	int iTausch;

	// Den Benutzer auffordern Zahlen einzugeben
	printf("Geben sie eine Zahl ein: ");
	scanf("%i", &iZahl1);
	fflush(stdin);
	printf("Geben sie eine zweite Zahl ein: ");
	scanf("%i", &iZahl2);
	fflush(stdin);

	// Tuaschen
	iTausch = iZahl1;
	iZahl1 = iZahl2;
	iZahl2 = iTausch;

	// Ausgabe der getauschten Zahlen
	printf("\n%i, %i", iZahl1, iZahl2);
	getchar();
	return 0;
}
                

Lösung von: Elias Zech (Optics Balzers)

a = 37
b = 55
puts "a: #{a}"
puts "b: #{b}"
a, b = b, a
puts "a: #{a}"
puts "b: #{b}"
                

Lösung von: Name nicht veröffentlicht

/**** REXX ************************************************************/
/*    EXEC zum vertauschen zweier Variabelwerten                      */
/**********************************************************************/

a = 37
b = 55

temp = a
a = b
b = temp
                

Lösung von: Gabriel Daw (Zürcher Kantonalbank)

my $a=37;
my $b=55;
print "a:$a b:$b \n";
($a,$b) = ($b,$a);
print "a:$a b:$b \n";
                

Lösung von: Paul Scheinast (http://scheinast.eu)

   /* klassisch und robust: der ringtausch*/ 
   // funktioniert wunderbar mit allen datentypen
   function switchVars(a, b) {
      var temp = a;
      a = b;
      b = temp;
      return [a, b];
   }

   console.log(switchVars(1111, 2222));
   console.log(switchVars(11.1, 22.2));
   console.log(switchVars("AB", "CD"));
   console.log(switchVars([12], [34]).join(", "));
   console.log(switchVars(true, false));



































































/* ===================================================  FERNER LIEFEN  =========
Nach ein bisschen internet-recherche fand ich dann noch ein paar versuche, 
ohne hilfsvariable auszukommen. Sehr abgefahrene ideen dabei, aber leider 
nicht für alle variablentypen geeignet. Hier die tests:

......................................................  nur integer/bool bedingt
function switchVars(a, b) {
   b = b + a - (a = b);
   return [a, b];
}
                                                returns:
console.log(switchVars(1111, 2222));             // 2222, 1111
console.log(switchVars(11.1, 22.2));             // 22.2, 11.099999999999998
console.log(switchVars("AB", "CD"));             // "CD", NaN 
console.log(switchVars([12], ["AB"]).join(", "));// "34, 3378"
console.log(switchVars(true, false));            // false, 1 


....................................  nur integer/integer-arrays/boolean bedingt
function switchVars(a, b) {
   a += b;
   b = a - b;
   a -= b;
   return [a, b];
}
                                                returns:
console.log(switchVars(1111, 2222));             // 2222, 1111
console.log(switchVars(11.1, 22.2));             // 22.2, 11.099999999999998
console.log(switchVars("AB", "CD"));             // NaN, NaN 
console.log(switchVars([12], ["AB"]).join(", "));  // "34, 1200"
console.log(switchVars(true, false));            // 0, 1 


....................................  nur integer/integer-arrays/boolean bedingt
function switchVars(a, b) {
   a ^= b;
   b ^= a;
   a ^= b;
   return [a, b];
}
                                                returns:
console.log(switchVars(1111, 2222));             // 2222, 1111
console.log(switchVars(11.1, 22.2));             // 22, 11
console.log(switchVars("AB", "CD"));             // 0, 0 
console.log(switchVars([12], ["AB"]).join(", "));  // "34, 12"
console.log(switchVars(true, false));            // 0, 1 


.....................................  nur integer/integer-array/boolean bedingt
function switchVars(a, b) {
   a += b;
   b = substr(a, 0, a.length - b.length);
   a = substr(a, b.lenght);
}
                                                returns:
console.log(switchVars(1111, 2222));             // 2222, 1111
console.log(switchVars(11.1, 22.2));             // 22, 11
console.log(switchVars("AB", "CD"));             // 0, 0 
console.log(switchVars([12], ["AB"]).join(", "));  // "34, 12"
console.log(switchVars(true, false));            // 0, 1


........................................  nur integer/integer-array/bool bedingt
function switchVars(a, b) {
   a ^= b ^= a ^= b;
}
                                                returns:
console.log(switchVars(1111, 2222));             // 2222, 1111
console.log(switchVars(11.1, 22.2));             // 22, 11
console.log(switchVars("AB", "CD"));             // 0, 0 
console.log(switchVars([12], [34]).join(", "));  // "34, 12"
console.log(switchVars(true, false));            // 0, 1

==============================================================================*/   
 
                

Lösung von: Lisa Salander (Heidi-Klum-Gymnasium Bottrop)

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;

namespace tausche
{
    class Program
    {
        static void Main(string[] args)
        {
            int a = 37;
            int b = 10;
            Console.WriteLine("a ist {0} und b ist {1}", a, b);

            int temp = a;
            a = b;
            b = temp;
            Console.WriteLine("Nach dem Tauschen");
            Console.WriteLine("a ist jetzt {0} und b ist jetzt {1}", a, b);

            Console.ReadKey();
        }
    }
}

                

Lösung von: mattia mancina (Berufsfachschule für Informatik Bozen)

//Vor dem Tausch
$a = 37;
$b = 55;

echo "Vor dem Tausch ist a = " . $a . " und b= " . $b;
echo "<br><br>";

//tauschen :D
$temp = $a;
$a = $b;
$b = $temp;

//Nach dem Tausch
echo "Nach dem Tausch ist a = " . $a . " und b= " . $b;

                

Lösung von: Maik Scheiermann (Powercloud GmbH)

#include<stdio.h>
int main(void)
{
    int a = 33,b = 99,leer = 0;
    printf("a= %d b=%d\n", a,b);
    leer = a;
    a = b;
    b = leer;
    printf("a= %d b=%d\n", a,b);
}
                

Lösung von: Carlo con_carne ()

def tausche():
    a = 55
    b = 37
    c = 0

    c = a
    a = b
    b = c
    

    print("a:", a)
    print("b:", b)

tausche()
                

Lösung von: Hermann Lallah (THM)

Aktionen

Bewertung

Durchschnittliche Bewertung:

Eigene Bewertung:
Bitte zuerst anmelden

Meta

Zeit: 0.25
Schwierigkeit: Mittel
Webcode: ecu8-pdg7
Autor: Philipp G. Freimann (BBW (Berufsbildungsschule Winterthur) https://www.bbw.ch)

Download PDF

Download ZIP

Zu Aufgabenblatt hinzufügen