Buch Cover Buch Cover Buch Cover Buch Cover

Web-Code: - Webcode Help

Arrays Werte befüllen (Felder)

Ihr Programm soll zwei (20-stellige) int-Arrays mit Werten befüllen.

Das erste Array soll mit Werten ab 5 in 5er-Schritten befüllt werden (5,10,15,...).

Das 2.Array soll die Werte des 1.Arrays * 2 enthalten (10,20,30,...).

Die Befüllung ist mit einer for-Schleife auszuführen! Das Programm soll die Summen und Mittelwerte (Summe/Anzahl der Elemnte) ausgeben.

 

Mögliche Ausgabe:

array1: Summe:........... Mittelwert:...........

array2: Summe:........... Mittelwert:...........

2 Kommentare

Bitte melde dich an um einen Kommentar abzugeben

Kommentare (2)

chriz63 22. August 2021 07:15   reply report
HowDenKing
Man könnte natürlich nun um Kleinigkeiten streiten,
wie etwa, ob Lösungen, die mehr als eine, oder gar keine for-Schleife verwenden, die Aufgabenstellung verfehlen.

Da kann ich @HowDenKing nur zustimmen.
HowDenKing 13. August 2020 10:38   reply report
Man könnte natürlich nun um Kleinigkeiten streiten,
wie etwa, ob Lösungen, die mehr als eine, oder gar keine for-Schleife verwenden, die Aufgabenstellung verfehlen.

15 Lösung(en)

a = []  # array1
b = []  # array2

for i in range(1, 21):
    a.append(i*5)   
print('array1: Summe:', sum(a), 'Mittelwert:', sum(a)/len(a))

for i in a:
    b.append(i*2)    
print('array2: Summe:', sum(b), 'Mittelwert:', sum(b)/len(b))
                

Lösung von: Alex Groeg (Freies Lernen)


public class ArraysMitWertenFuellen {

	public static void main(String[] args) {
		int schrittweite = 5;
		int anzahlWerte= 20;
		int[] array1 = new int[anzahlWerte];
		int sumar1 = 0;
		int[] array2 = new int[anzahlWerte];
		int sumar2 = 0;
		for(int i = 0; i<anzahlWerte;i++) {
			array1[i]=(i+1)*schrittweite;
			sumar1 += array1[i];
			array2[i]=array1[i]*2;
			sumar2 += array2[i];
		}
		System.out.printf("Array1: Summe: %4d \t Mittelwert:  %4f%n", sumar1, sumar1*1.0/array1.length);
		System.out.printf("Array1: Summe: %4d \t Mittelwert:  %4f%n", sumar2, sumar2*1.0/array2.length);
	}

}
                

Lösung von: Name nicht veröffentlicht

// Kotlin
fun main() {
    val array1 = IntArray(20).also {
        for(i in it.indices)
            it[i] = 5 * (i + 1)
    }

    val array2 = IntArray(array1.size).also {
        for(i in it.indices)
            it[i] = 2 * array1[i]
    }

    println("Array 1 - Summe: ${array1.sum()} - Mittelwert: ${array1.sum().toDouble() / array1.size}")
    println("Array 1 - Summe: ${array2.sum()} - Mittelwert: ${array2.sum().toDouble() / array1.size}")
}
                

Lösung von: Name nicht veröffentlicht

public class fillArrays {
    public static void main(String[] args) {
        System.out.println("1st Summe: " + getSum(createFirstArr()) + " Mittelwert: " + getMiddle(createFirstArr()));
        System.out.println("1st Summe: " + getSum(createSecondArr()) + " Mittelwert: " + getMiddle(createSecondArr()));
    }

    public static int[] createFirstArr() {
        int[] arr = new int[20];
        int count = 0;
        for (int i = 0;i<arr.length;i++) {
            count = count + 5;
            arr[i] = count;
        }
        return arr;
    }

    public static int[] createSecondArr() {
        int[] arr = new int[20];
        int count = 0;
        for (int i = 0;i<arr.length;i++) {
            count = count + 10;
            arr[i] = count;
        }
        return arr;
    }

    public static int getSum(int[] arr) {
        int sum = 0;
        for (int i = 0;i<arr.length;i++) {
            sum = sum + arr[i];
        }
        return sum;
    }

    public static int getMiddle(int[] arr) {
        return getSum(arr) / arr.length-1;
    }
}
                

Lösung von: Name nicht veröffentlicht

var a1 = new Array(20);
var a2 = new Array(20);
const reducer = (accumulator, currentValue) => accumulator + currentValue;

for(var i = 0;i < 20;i++){
    a1[i].push(5*i);
    a2[i].push(a1[i]*2);
}
console.log("Sum a1: "+a1.reduce(reducer)+" | Avg a1: "+a1.reduce(reducer)/a1.length);
console.log("Sum a2: "+a2.reduce(reducer)+" | Avg a2: "+a2.reduce(reducer)/a2.length);
                

Lösung von: Ma Beeber (-)

using System;
using System.Linq;

namespace Aufgabe
{
    class Program
    {
        static void Main(string[] args)
        {
            int[] arr1 = fillArray(20, 5);
            int[] arr2 = fillArray(20, 10);

            Console.WriteLine($"Array 1 (5er Schritte): Summe - {sum(arr1)} | Durchschnitt {avg(arr1)}");
            Console.WriteLine($"Array 2 (10er Schritte): Summe - {sum(arr2)} | Durchschnitt {avg(arr2)}");

            Console.ReadLine();
        }

        private static int[] fillArray(int elements, int step)
        {
            return Enumerable.Range(1, elements).Select(x => x * step).ToArray();
        }

        private static int sum(int[] array)
        {
            //return array.Sum();
            return array.Aggregate((res, item) => res + item);
        }

        private static double avg(int[] array)
        {
            //return array.Average();
            return (double)sum(array) / array.Length;
        }
    }
}

                

Lösung von: Tobias Golz (Wilhelm Büchner Hochschule)

REPORT zseb_fill_array.

DATA: zahl_1 TYPE int4 VALUE 1.
DATA: zahl_2 TYPE int4 VALUE 1.
DATA: summe_1 TYPE int4 VALUE 0.
DATA: summe_2 TYPE int4 VALUE 0.
DATA: mittelwert_1 TYPE int4 VALUE 0.
DATA: mittelwert_2 TYPE int4 VALUE 0.
DATA: array_1  TYPE TABLE OF int4.
DATA: array_2 TYPE TABLE OF int4.

DATA: counter TYPE int4 VALUE 1.

DO 20 TIMES.

  zahl_1 = counter * 5.
  Summe_1 = Summe_1 + zahl_1.
  Mittelwert_1 = summe_1 / counter.
  WRITE: / 'Zahl_1 = ' && zahl_1 && ', Summe_1 = ' && summe_1 && ', Mittelwert_1 = ' && Mittelwert_1.
  APPEND zahl_1  TO array_1.

  zahl_2 = zahl_1 * 2.
  Summe_2 = Summe_2 + zahl_2.
  Mittelwert_2 = summe_2 / counter.
  WRITE: / 'Zahl_2 = ' && zahl_2 && ', Summe_2 = ' && summe_2 && ', Mittelwert_2 = ' && Mittelwert_2.
  APPEND zahl_2 TO array_2.

  counter = counter + 1.

ENDDO.
                

Lösung von: Sebastian S. ()

// NET Core 3.x; C# 8.x

using System;
using System.Linq;

namespace CS_Aufgabe_Arrays_Befuellen
{
    class Program
    {
        static void Main(string[] args)
        {
            var arr1 = Enumerable.Range(1, 20).Select(x => x * 5).ToArray();
            var arr2 = arr1.Select(x => x * 2).ToArray();

            Console.WriteLine($"arr1 ({string.Join(", ", arr1)})\n\t => Summe: {arr1.Sum()} || Durchschnitt: {arr1.Average()}\n");
            Console.WriteLine($"arr2 ({string.Join(", ", arr2)})\n\t => Summe: {arr2.Sum()} || Durchschnitt: {arr2.Average()}");
        }
    }
}

                

Lösung von: Jens Kelm (@JKooP)

using System;

// Programmieraufgaben.ch Aufgaben-Code: mfx7-5h3z

namespace ArrayFull
{
    class Program
    {
        static void Main()
        {
            // config: Schritte, Durchläufe, Multiplikator
            int[] config = new int[3] { 5, 20, 2 };
            int[] arrayOne = new int[config[1]+1];
            int[] arrayTwo = new int[config[1]+1];

            for (int runs = 1; config[1] >= runs; runs++)
            {
                arrayOne[runs] = config[0] * runs;
                arrayTwo[runs] = arrayOne[runs] * config[2];

                arrayOne[0] += arrayOne[runs];
                arrayTwo[0] += arrayTwo[runs];

                // Alternativ: Ausgabe nach jedem durchlauf
                // Console.WriteLine($"{runs}. Durchlauf:");
                // Console.WriteLine($"Erstes Array:\n\tSumme:\t{arrayOne[0]}\n\tDurchschnitt:\t{(double)arrayOne[0] / (double)runs}");
                // Console.WriteLine($"Zweites Array:\n\tSumme:\t{arrayTwo[0]}\n\tDurchschnitt:\t{(double)arrayTwo[0] / (double)runs}\n");

            }

            Console.WriteLine($"Erstes Array:\n\tSumme:\t{arrayOne[0]}\n\tDurchschnitt:\t{(double) arrayOne[0] / (double) config[1]}");
            Console.WriteLine($"Zweites Array:\n\tSumme:\t{arrayTwo[0]}\n\tDurchschnitt:\t{(double) arrayTwo[0] / (double) config[1]}");
            Console.ReadKey();
        }
    }
}

                

Lösung von: Howard Dennis King (IT-Schule Stuttgart)

array_1 = []
array_2 = []

for i in range(0, 101, 5):
    array_1.append(i)
array_1.remove(0)
print(array_1)

array_2 = [2 * e for e in array_1]
print(array_2)

print(sum(array_1))
print(sum(array_2))

print(sum(array_1) / len(array_1))
print(sum(array_2) / len(array_2))
                

Lösung von: Name nicht veröffentlicht

Array.prototype.sum = function() {
  return eval(this.join('+'));
}
Array.prototype.avg = function() {
  return this.sum() / this.length;
}

let array1 = [], array2 = [],
    i;
// befüllung
for (i = 1; i <= 20; i++) {
  array1.push(i * 5);
  array2.push(i * 10); // = i * 5 * 2
}

//ausgabe
console.log(`array1: Summe: ${array1.sum()}; Mittelwert: ${array1.avg()}`);
console.log(`array2: Summe: ${array2.sum()}; Mittelwert: ${array2.avg()}`);
                

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

public class App
{

    static int j = 0;
    static int k = 0;

    static int[] numbers = new int[20];
    static int[] numbersDoubled = new int[20];

    public static void main(String[] args) 
    {
        for (int i = 0; i < 20; i++)
        {
            j += 5;
            numbers[i] = j;
            k += numbers[i];
        }
        
        System.out.println("Summe: " + Integer.toString(k) + " Mittelwert: " + Integer.toString(numbers.length));

        j = 0;
        k = 0;

        for (int i = 0; i < 20; i++)
        {
            j = numbers[i] * 2;
            numbersDoubled[i] = j;
            k += numbersDoubled[i];
        }

        System.out.println("Summe: " + Integer.toString(k) + " Mittelwert: " + Integer.toString(numbers.length));
    }
}
                

Lösung von: Name nicht veröffentlicht

using System;

namespace csharp
{
    class Program
    {

        static int j = 0;
        static int k = 0;

        static int[] numbers = new int[20];
        static int[] numbersDoubled = new int[20];

        static void Main(string[] args)
        {
            for (int i = 0; i < 20; i++)
            {
                j += 5;
                numbers[i] = j;
                k += j;
            }

            Console.WriteLine("Summe: " + k + " Mittelwert: " + numbers.Length);

            j = 0;
            k = 0;

            for (int i = 0; i < 20; i++)
            {
                j = numbers[i] * 2;
                numbersDoubled[i] = j;
                k += numbersDoubled[i];
            }

            Console.WriteLine("Summe: " + k + " Mittelwert: " + numbers.Length);
        }
    }
}

                

Lösung von: Name nicht veröffentlicht

numbers = []
numbersDoubled = []

j = 0
k = 0

for i in range(20):
    j = j + 5
    k = k + j
    numbers.append(j)

print("")
print("Summe: " + str(k) + " Mittelwert: " + str(len(numbers)))

k = 0

for i in range(20):
    j = numbers[i] * 2
    k = k + j
    numbersDoubled.append(j)

print("")
print("Summe: " + str(k) + " Mittelwert: " + str(len(numbers)))


                

Lösung von: Name nicht veröffentlicht

// C++ 17 | VS-2022

#include <iostream>
#include <vector>
#include <numeric>
#include <sstream>

template<typename T>
std::string string_join(std::vector<T> v) {
    if (v.empty()) return "";
    std::ostringstream os;
    std::copy(v.begin(), v.end() - 1, std::ostream_iterator<T>(os, ", "));
    os << v.back();
    return os.str();
}

double sum(std::vector<int> v) {
    return std::accumulate(v.begin(), v.end(), 0);
}

double avg(std::vector<int> v) {
    return sum(v) / v.size();
}

void print(std::vector<int> v) {
    std::cout << string_join(v) << "\nSumme: " << sum(v) << "\nDurchschnitt: " << avg(v) << "\n\n";
}

int main() {
    std::vector<int> arr5{}, arr10{};

    for (auto i{ 1 }; i <= 20; i++) arr5.push_back(i * 5);
    for (const auto& a : arr5) arr10.push_back(a * 2);

    print(arr5);
    print(arr10);
}
                

Lösung von: Jens Kelm (@JKooP)

Aktionen

Bewertung

Durchschnittliche Bewertung:

Eigene Bewertung:
Bitte zuerst anmelden

Meta

Zeit: 1.5
Schwierigkeit: Mittel
Webcode: mfx7-5h3z
Autor: ()

Download PDF

Download ZIP

Zu Aufgabenblatt hinzufügen