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:...........
1 Kommentare
16 Lösung(en)
- python
- java
- java
- java
- javascript
- csharp
- abap
- csharp
- csharp
- python
- javascript
- java
- csharp
- python
- cpp
- c
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)
#include <stdio.h>
#define NUM_ELEMENTS 20
int sum(int arr[]){
int half = NUM_ELEMENTS / 2;
int s = NUM_ELEMENTS & 1 ? arr[half] : 0;
for(int i = 0; i < half; i++)
s += (arr[i] + arr[NUM_ELEMENTS - i - 1]);
return s;
}
double avg(int arr[]){
return sum(arr) / (double)NUM_ELEMENTS;
}
int main(){
int arr1[NUM_ELEMENTS] = {0};
int arr2[NUM_ELEMENTS] = {0};
for(int i = 0; i < NUM_ELEMENTS; i++){
arr1[i] = (i + 1) * 5;
arr2[i] = arr1[i] * 2;
}
printf("arr1 elements: %d\n", NUM_ELEMENTS);
printf("arr2 elements: %d\n\n", NUM_ELEMENTS);
printf("arr1 sum: %d\n", sum(arr1));
printf("arr2 sum: %d\n", sum(arr2));
printf("arr1 avg: %.1lf\n", avg(arr1));
printf("arr2 avg: %.1lf\n", avg(arr2));
return 0;
}
Lösung von: Jens Kelm (@JKooP)
Aktionen
Neue Lösung hinzufügen
Bewertung
Durchschnittliche Bewertung:
Kommentare (1)
wie etwa, ob Lösungen, die mehr als eine, oder gar keine for-Schleife verwenden, die Aufgabenstellung verfehlen.