Zum Inhalt springen
View in the app

A better way to browse. Learn more.

Fachinformatiker.de

A full-screen app on your home screen with push notifications, badges and more.

To install this app on iOS and iPadOS
  1. Tap the Share icon in Safari
  2. Scroll the menu and tap Add to Home Screen.
  3. Tap Add in the top-right corner.
To install this app on Android
  1. Tap the 3-dot menu (⋮) in the top-right corner of the browser.
  2. Tap Add to Home screen or Install app.
  3. Confirm by tapping Install.

Empfohlene Antworten

Veröffentlicht

Hallo,

ich habe da ein Problem mit einer Aufgabe, die ich nicht so ganz verstehe.

Hoffe es nimmt sich einer die zeit und mühe mir dabei zu helfen.

Die aufgabenstellung lautet

Schreiben Sie ein C Programm, dass zunächst eine Zeichenkette (Schloss), bestehend ausschließlich aus '1' und '0' einliest. Anschließend soll der Inhalt eines zweiten Array (Schluessel) erstellt werden. Dabei soll es immer den umgekehrten Wert des ersten Arrays annehmen.

Die Ausgabe soll wie folgt aussehen: 

Schloss: 1001101011

Schluessel: 0110010100

 

Mit freundlichen Grüßen :D

vor 4 Minuten schrieb amoo203:

Hoffe es nimmt sich einer die zeit und mühe mir dabei zu helfen.

Das wird sicher einfacher gehen, wenn du mal genau sagst, wo dein Problem liegt und welche Lösungsideen du selber hast.

  • Autor
vor 2 Minuten schrieb Chief Wiggum:

Das wird sicher einfacher gehen, wenn du mal genau sagst, wo dein Problem liegt und welche Lösungsideen du selber hast.

Um ehrlich zu sein, verstehe ich die komplette aufgabe nicht so ganz. 

 

  • Autor
vor 33 Minuten schrieb morphing:

easy:

def invert("0"), do: "1"
def invert("1"), do: "0"

def invert_key(key), do: key |> String.graphemes() |> Enum.map(&(invert(&1)))

 

und danach einfach 

return 0; ? 

was kommt vor dem befehl ? 

#include <stdio.h>

int main(){
     oder ?

  • Autor
vor 35 Minuten schrieb morphing:

easy:

def invert("0"), do: "1"
def invert("1"), do: "0"

def invert_key(key), do: key |> String.graphemes() |> Enum.map(&(invert(&1)))

 

Weil das taucht bei mir auf 

__tester__.c:2:1: error: unknown type name ‘def’

2 | def invert("0"), do: "1"

| ^~~

__tester__.c:2:12: error: expected declaration specifiers or ‘...’ before string constant

2 | def invert("0"), do: "1"

| ^~~

__tester__.c:8:1: error: expected identifier or ‘(’ before ‘}’ token

8 | }

| ^

vor 7 Stunden schrieb amoo203:

Weil das taucht bei mir auf 

__tester__.c:2:1: error: unknown type name ‘def’

2 | def invert("0"), do: "1"

| ^~~

__tester__.c:2:12: error: expected declaration specifiers or ‘...’ before string constant

2 | def invert("0"), do: "1"

| ^~~

__tester__.c:8:1: error: expected identifier or ‘(’ before ‘}’ token

8 | }

| ^

transferleistung

vor 15 Minuten schrieb morphing:

transferleistung

wenn du fertig bist dir zu deiner eigenen Genialität zu gratulieren, kannst du dem Fragesteller mitteilen das deine "Lösung" nicht mal das selbe Paradigma nutzt wie das von der Aufgabe erwartete C-Programm. Anschließend kannst du dich selbst fragen, was bei dir nicht stimmt, wenn du andere so vorführen musst. Und nein du kannst nicht davon ausgehen das der Fragesteller Elixir in C umschreiben kann, aus ganz offensichtlichen Gründen.

vor 24 Minuten schrieb _n4p_:

wenn du fertig bist dir zu deiner eigenen Genialität zu gratulieren, kannst du dem Fragesteller mitteilen das deine "Lösung" nicht mal das selbe Paradigma nutzt wie das von der Aufgabe erwartete C-Programm. Anschließend kannst du dich selbst fragen, was bei dir nicht stimmt, wenn du andere so vorführen musst. Und nein du kannst nicht davon ausgehen das der Fragesteller Elixir in C umschreiben kann, aus ganz offensichtlichen Gründen.

 

welche frage wurde denn gestellt? oder meinst du den arbeitsauftrag im op? Und anstatt zu nöhlen hättest du ja auch was produktives machen können und dem op helfen. Bist jetzt fertig mit deinem tantrum?

vor 10 Stunden schrieb amoo203:

Weil das taucht bei mir auf 

__tester__.c:2:1: error: unknown type name ‘def’

2 | def invert("0"), do: "1"

| ^~~

__tester__.c:2:12: error: expected declaration specifiers or ‘...’ before string constant

2 | def invert("0"), do: "1"

| ^~~

__tester__.c:8:1: error: expected identifier or ‘(’ before ‘}’ token

8 | }

| ^

der Vorschlag des Posters ist KEIN C Code ... sonder als konzeptioneller Ansatz zu verstehen ;)

an die anderen Poster: ich rufe höflichst zur Ordnung. Ich finde weder einen Ansatz in einer vermutlich völlig unbenutzen Sprache noch den Sprachstil sonderlich hilfreich ;)

Ich begegne Tantren gern mit Contenance ... und nun lassen wir bitte diesen Mist und sprechen einfache Sprache. Das geht auch mit Abitur

https://de.wikipedia.org/wiki/Einfache_Sprache

 

 

 

Um mal etwas konkreter zu helfen: Ist die Länge des Arrays fest oder dynamisch?

Fest: Scanner um die Werte einzulesen, in festes Array kopieren, neues Copy-Array anlegen, über die Werte des festen Arrays iterieren und umbiegen (also 1 nach 0 bzw. 0 nach 1), die umgebogenen Werte in Copy-Array eintragen, Ausgabe tätigen

Dynamisch: Scanner um Länge abzufragen, mit malloc jeweils Speicher reservieren, prinzipiell dann wie oben vorgehen, free nicht vergessen :)

Disclaimer: bin kein C-Profi

Bearbeitet von Tiwil

vor 19 Stunden schrieb amoo203:

Um ehrlich zu sein, verstehe ich die komplette aufgabe nicht so ganz. 

Ich finde die Aufgabenstellung auch nicht optimal wegen dem Begriff "umgekehrten Wert" (umkehren ist für mich z.B. 110 nach 011 umzuwandeln). Was hier aber gefordert ist, ist 1 -> 0 und 0 -> 1 umzuwandeln bzw. zu ersetzen (110 -> 001). Also die "Bits umkehren" statt den String umkehren. 

Mein Tip: gehe doch erst mal sprachlich an die Lösung ran. Welche Schritte muss man machen, um das gewünschet Ergebnis zu erreichen? Und dann kann man im nächsten Schritt schauen, wie das in Code aussehen könnte.

Erstelle ein Konto oder melde dich an, um einen Kommentar zu schreiben.

Configure browser push notifications

Chrome (Android)
  1. Tap the lock icon next to the address bar.
  2. Tap Permissions → Notifications.
  3. Adjust your preference.
Chrome (Desktop)
  1. Click the padlock icon in the address bar.
  2. Select Site settings.
  3. Find Notifications and adjust your preference.