Thema: hilfe
Klicke hier, um dich anzumelden
Du kannst aus dieser Liste ein Symbol für deine Nachricht auswählen.
Wenn du diese Option aktivierst, werden URLs automatisch mit BB-Code ergänzt. www.beispiel.de wird zu [URL]http://www.beispiel.de[/URL].
Wenn du möchtest, kannst du dieses Thema bewerten.
Ich kann die Zeile nach der zweiten Zählschleife nicht mehr richtig nachvollziehen. Ich denke der Fehler liegt in diesem Abschnitt. Code: for (i = 0; i < 6; i++) { do { zahlen[i] = rand() % 45 + 1; //Zufallszahl generieren flag = 0; for(j = i - 1; j >= 0; j--) { if(zahlen[i] == zahlen[j]) //Prüfen, ob Zufallszahl bereits flag = 1; //im Array vorhanden, wenn ja, dann } //neuer Durchlauf } while(flag == 1); Du weist dem ersten Array (Zahlen[0]) die erste Zufallszahl zu. Bis dahin richtig. Dann setzt du flag auf null ist auch OK. Aber in der nächsten Zählschleife setzt du j auf -1, denn du benutzt die Variable i und nicht das Feld zahlen[i]. Ich denke das hier ein Fehler vorliegt, denn in der Bedingung vergleichst du praktisch die Arrays zahlen[0] mit zahlen[-1]. Dabei ist zahlen[-1] keinem Wert zugeordnet.
for (i = 0; i < 6; i++) { do { zahlen[i] = rand() % 45 + 1; //Zufallszahl generieren flag = 0; for(j = i - 1; j >= 0; j--) { if(zahlen[i] == zahlen[j]) //Prüfen, ob Zufallszahl bereits flag = 1; //im Array vorhanden, wenn ja, dann } //neuer Durchlauf } while(flag == 1);
Ich glaube das Problem liegt in dieser Zeile: if(zahlen[i] == zahlen[j]) //Prüfen, ob Zufallszahl bereits Du hast für das Feld zahlen die Größe 6 zugeordnet. Da du aber mit zwei verschiedenen Variablen arbeitest, brauchst du 12. An deiner Stelle würde ich zwei Arrays definieren, eines für die ermittelte Zufallszahl und das zweite für den Abgleich.
danke erst mal habe die Aufgabe 7 auch soweit ich bringe nur das speichern der zahlen nicht hin!! Aufgabe 7: #include <stdio.h> #include <stdlib.h> #include <time.h> int main() { int zahlen[6]; int i, j, flag; system("cls"); //Dem Zufallszahlengenerator die gegenwärtige Uhrzeit als //Anfangswert liefern: srand((unsigned)time(NULL)); for (i = 0; i < 6; i++) { do { zahlen[i] = rand() % 45 + 1; //Zufallszahl generieren flag = 0; for(j = i - 1; j >= 0; j--) { if(zahlen[i] == zahlen[j]) //Prüfen, ob Zufallszahl bereits flag = 1; //im Array vorhanden, wenn ja, dann } //neuer Durchlauf } while(flag == 1); printf("Zahl %d: %2d\n", i+1, zahlen[i]); } }//end main Bitte um hilfe!!
Ich würde erst einmal eine Abfrage nach dem eingegebenen Jahr machen und bei wahrer Aussage gleich nach dem Schaltjahr nach dem alten Kalender prüfen. Bei falscher Aussage dann die Prüfung nach dem gregorianischen Kalender, wie du es schon gemacht hattest. Code: if (year <=1582) { if (year%4==0) { return 1; } else { return 0; } } else { if((year%4==0 && year%100!=0) || (year%400==0)) { return 1; } else { return 0; }
if (year <=1582) { if (year%4==0) { return 1; } else { return 0; } } else { if((year%4==0 && year%100!=0) || (year%400==0)) { return 1; } else { return 0; }
Hallo! muss 8 Aufgaben in c-programmieren und bräuchte hilfe da ich mich schwer tue. MFG Tommy Aufgabe1: Ich habe die Aufgabe eins schon fast fertig! Hab nur das problem mit erkennen ob es vor 1982 ist oder nicht! Was ich bis jetzt habe: #include <stdio.h> /* * *parameter value: int year * return value: 0 or 1 ( 1 is true, 0 is false */ int is_leap_year (int year) { if((year%4==0 && year%100!=0) || (year%400==0)) { return 1; } else { return 0; } } /** * main function * parameters: none * return value: 0 */ int main() { int year = 0; printf("Dieses Programm berechnet, ob ein Jahr ein Schaltjahr ist!\n"); printf("Gib eine Jahreszahl vierstellig ein: "); scanf("%d", &year); if (is_leap_year(year) == 1) { printf("Das Jahr %d ist ein Schaltjahr!\n", year); } else { printf("Das Jahr %d ist kein Schaltjahr!\n", year); } return 0; } //end main
Foren-Regeln