myGully.com Boerse.SH - BOERSE.AM - BOERSE.IO - BOERSE.IM Boerse.BZ .TO Nachfolger
Zurück   myGully.com > Computer & Technik > Programmierung
Seite neu laden

C Programmieren

Willkommen

myGully

Links

Forum

 
Antwort
Themen-Optionen Ansicht
Ungelesen 01.02.15, 01:40   #1
Tornadoboo
Anfänger
 
Registriert seit: Oct 2010
Beiträge: 10
Bedankt: 3
Tornadoboo ist noch neu hier! | 0 Respekt Punkte
Standard C Programmieren

Hallo myGully-Community,

ich hoffe unter euch gibt es paar Leute mit C Kenntnissen.
Ich brauche leider Hilfe und zwar bei Folgender Aufgabe.

Skript:

for(a[1] = 0, i = 2; i <= MAX; i++) a[i] = 1;
for(i = 2; i<=MAX/2; i++)
for(j = 2; j <= MAX/i; j++)
a[i*j] = 0;

Aufgabe:

Geben Sie alle mit dem obigen Codestück berechneten a[k] für 1 <= k <= 30 an.

Meine Frage/n:
Was zur Hölle ist MAX?
Habt Ihr eine Idee zur Lösung oder sogar die Lösung?

Vermutungen:
Das Programm ist zur Berechnung von Primzahlen.


p.s. Mehr Angaben habe ich nicht, keine Deklarationen von i, j, a. Nur mehr Aufgaben, wie z.B. Entwurf eines Flussdiagramms.

Ich würde mich über Ideen, die Lösung MEGA freuen!

MFG
Ich

Edit: Korrektur des Skripts
Tornadoboo ist offline   Mit Zitat antworten
Ungelesen 01.02.15, 12:15   #2
Teconas
You just lost the Game
 
Registriert seit: Dec 2009
Ort: Zum Glück nicht in Bayern
Beiträge: 188
Bedankt: 147
Teconas erschlägt nachts Börsenmakler | 11946 Respekt PunkteTeconas erschlägt nachts Börsenmakler | 11946 Respekt PunkteTeconas erschlägt nachts Börsenmakler | 11946 Respekt PunkteTeconas erschlägt nachts Börsenmakler | 11946 Respekt PunkteTeconas erschlägt nachts Börsenmakler | 11946 Respekt PunkteTeconas erschlägt nachts Börsenmakler | 11946 Respekt PunkteTeconas erschlägt nachts Börsenmakler | 11946 Respekt PunkteTeconas erschlägt nachts Börsenmakler | 11946 Respekt PunkteTeconas erschlägt nachts Börsenmakler | 11946 Respekt PunkteTeconas erschlägt nachts Börsenmakler | 11946 Respekt PunkteTeconas erschlägt nachts Börsenmakler | 11946 Respekt Punkte
Standard

Ich habe keine Ahnung von C, aber an sich ist der Code logisch. Bis auf die erste Zeile, da bin ich mit ziemlich sicher, dass es a[i]=1 heißen müsste, denn es macht keinen Sinn die gleiche Variable a[1] 30 mal auf eins zu setzen. (Und statt i - 2, was keinen sinn macht, müsste da i = 2stehen.

Zitat:
Was zur Hölle ist MAX?
Eine Variable, die angibt bis zu welcher Zahl gesucht wird. In deinem Fall wäre MAX=30, da bis 30 gesucht wird.

Zitat:
Habt Ihr eine Idee zur Lösung oder sogar die Lösung?
Du hast aber verstanden, was der Code tut, oder?
Er beginnt zu Multiplizieren: 2x2, 2x3, 2x4... Und das Ergebnis ist keine Primzahl und wird mit "0" markiert. Dann fährt er mit 3x2, 3x3, 3x4 und so weiter. (Niemals 1xY weil das kein Vielfaches ist.)

Jedes Element a[i] mit 1 < i < 31 bei dem i eine Primzahl ist, ist 1, der Rest 0.

Und was a[1] ist, darfst du dir selber aus dem Code ablesen.
__________________
Weil es soviel Negativität in der Welt gibt: Ich hoffe, dass jeder der das hier liest einen absolut wundervollen Tag hat!
Teconas ist offline   Mit Zitat antworten
Ungelesen 01.02.15, 14:27   #3
picard82
Erfahrener Newbie
 
Registriert seit: Nov 2012
Beiträge: 131
Bedankt: 46
picard82 wird langsam von ratten respektiert | 186 Respekt Punktepicard82 wird langsam von ratten respektiert | 186 Respekt Punkte
Standard

MAX ist eine Konstante.
picard82 ist offline   Mit Zitat antworten
Ungelesen 01.02.15, 15:49   #4
Tornadoboo
Anfänger
 
Registriert seit: Oct 2010
Beiträge: 10
Bedankt: 3
Tornadoboo ist noch neu hier! | 0 Respekt Punkte
Standard

Zitat:
Zitat von Teconas Beitrag anzeigen
Bis auf die erste Zeile, da bin ich mit ziemlich sicher, dass es a[i]=1 heißen müsste, denn es macht keinen Sinn die gleiche Variable a[1] 30 mal auf eins zu setzen. (Und statt i - 2, was keinen sinn macht, müsste da i = 2 stehen.
Mit i - 2 hast du recht, da habe ich mich irgendwie vertippt. Es müsste wirklich i = 2 heißen. a[1] = 0 steht leider wirklich in der Aufgaben Stellung(Probeklausur des WS 08/09 und in meinen Übungen).
Deine Korrektur erscheint mir aber logischer.

Zitat:
Zitat von Teconas Beitrag anzeigen
Du hast aber verstanden, was der Code tut, oder?
Er beginnt zu Multiplizieren: 2x2, 2x3, 2x4... Und das Ergebnis ist keine Primzahl und wird mit "0" markiert. Dann fährt er mit 3x2, 3x3, 3x4 und so weiter. (Niemals 1xY weil das kein Vielfaches ist.)
Nein ich hatte es nicht verstanden, deswegen auch meine Fragen.
Mich hat die Variable k und MAX die ganze Zeit verwirrt. Wenn ich aber das k (was auch logischer erscheint) zu i "mache" und das MAX mein Maximum ist, sehe ich die Logik dahinter.

Somit Danke, hast mir sehr geholfen
Tornadoboo ist offline   Mit Zitat antworten
Ungelesen 01.02.15, 16:32   #5
Teconas
You just lost the Game
 
Registriert seit: Dec 2009
Ort: Zum Glück nicht in Bayern
Beiträge: 188
Bedankt: 147
Teconas erschlägt nachts Börsenmakler | 11946 Respekt PunkteTeconas erschlägt nachts Börsenmakler | 11946 Respekt PunkteTeconas erschlägt nachts Börsenmakler | 11946 Respekt PunkteTeconas erschlägt nachts Börsenmakler | 11946 Respekt PunkteTeconas erschlägt nachts Börsenmakler | 11946 Respekt PunkteTeconas erschlägt nachts Börsenmakler | 11946 Respekt PunkteTeconas erschlägt nachts Börsenmakler | 11946 Respekt PunkteTeconas erschlägt nachts Börsenmakler | 11946 Respekt PunkteTeconas erschlägt nachts Börsenmakler | 11946 Respekt PunkteTeconas erschlägt nachts Börsenmakler | 11946 Respekt PunkteTeconas erschlägt nachts Börsenmakler | 11946 Respekt Punkte
Standard

Okay, da auf k und MAX deine Frage lag, erkläre ich die nochmal, auch wenn du es vermutlich schon verstanden hast.

Zitat:
Geben Sie alle mit dem obigen Codestück berechneten a[k] für 1 <= k <= 30 an.
k ist hier keine Programmvariable. Es ist Mathematisch üblich, ganze Zahlen ohne speziellen Wert einfach als n oder k zu bezeichen. Dieser Satz sagt einfach, dass du a[1 bis 30] berechnen sollst, und hat dem Code gar nichts zu tun.

Wenn du den Programmcode verstanden hast, wirst du bemerken, dass der tatsächliche Wert von MAX irrelavent ist, solange er groß genug ist. Eine Schleife braucht einfach immer eine Abbruchbedingung, das Ergebnis wäre aber identisch, wenn das ganze ewig weiter laufen würde.

Zitat:
a[1] = 0 steht leider wirklich in der Aufgaben Stellung
Dann funktioniert der ganze Code nicht. a[i]=1 würde alle Einträge auf 1 setzen, und die Schleifen setzen a[i] wieder auf 0 wenn i keine Primzahl ist. Wenn das wirklich a[1]=1 stehen würde, würde das ganze Programm nicht funktionieren, da kein a[k] 1 wäre. Ich kenne mich mit C nicht aus, aber es kann sein, dass für a[Primzahl] dann gar kein Wert existiert.
Entweder es ist ein Druckfehler, oder ein Denkfehler, aber damit das Programm funktioniert muss es a[i]=1 heißen.
[I]
EDIT: Ich sehe gerade du meintest das andere. In der ersten Zeile steht einmal a[1]=0, das ist richtig, und am Ende einmal a[1]=1. Das muss a=1 heißen.
__________________
Weil es soviel Negativität in der Welt gibt: Ich hoffe, dass jeder der das hier liest einen absolut wundervollen Tag hat!
Teconas ist offline   Mit Zitat antworten
Folgendes Mitglied bedankte sich bei Teconas:
Ungelesen 02.02.15, 14:50   #6
Tornadoboo
Anfänger
 
Registriert seit: Oct 2010
Beiträge: 10
Bedankt: 3
Tornadoboo ist noch neu hier! | 0 Respekt Punkte
Standard

So konnte gestern irgendwie nichts Posten.

Ja du hast wieder recht, habe das skript(s.o.) bearbeitet und eine Lösung entworfen.

Tornadoboo ist offline   Mit Zitat antworten
Ungelesen 03.02.15, 19:24   #7
Matze500
Student der Informatik
 
Registriert seit: Jul 2010
Ort: NRW nähe Münster ;)
Beiträge: 356
Bedankt: 261
Matze500 ist noch neu hier! | 0 Respekt Punkte
Standard

Na auch am Donnerstag die Klausur bei Weik

Das Ergebnis ist soweit richtig, dass das Programm Primzahlen heraussucht.Das Flussdiagramm sieht auch gut aus.
Jedoch ist alles an dem S***** soweit richtig.
__________________
[ Link nur für registrierte Mitglieder sichtbar. Bitte einloggen oder neu registrieren ]
Powered by Windows 7
Matze500 ist offline   Mit Zitat antworten
Ungelesen 03.02.15, 23:10   #8
Tornadoboo
Anfänger
 
Registriert seit: Oct 2010
Beiträge: 10
Bedankt: 3
Tornadoboo ist noch neu hier! | 0 Respekt Punkte
Standard

Schön, dass ich richtig liege.

Du hast recht, dass Skript ist richtig, nur ich Depp kann nicht mal abschreiben. Hab nur deswegen zu viel zeit verschwendet.


Zitat:
Zitat von Matze500 Beitrag anzeigen
Na auch am Donnerstag die Klausur bei Weik
p.s. Viel Glück und bis Donnerstag
Tornadoboo ist offline   Mit Zitat antworten
Antwort


Forumregeln
Du kannst keine neue Themen eröffnen
Du kannst keine Antworten verfassen
Du kannst keine Anhänge posten
Du kannst nicht deine Beiträge editieren

BB code is An
Smileys sind An.
[IMG] Code ist An.
HTML-Code ist Aus.

Gehe zu


Alle Zeitangaben in WEZ +1. Es ist jetzt 10:03 Uhr.


Sitemap

().