Programmieren - alles kontrollieren 4.941 Themen, 20.708 Beiträge

c programm

supaburn1 / 5 Antworten / Baumansicht Nickles

Hallo,

ich muss ein Programm in c fürs studium (fahrzeugtechnik!) schreiben und hab keine ahnung wie kann mir jemand helfen?

hier die aufgabenstellung:

Ihr Programm soll in Tabellenform alle Zahlen von 1 bis 250 ausdrucken, die weder durch 7 teilbar sind, noch die Ziffer 7 enthalten. Fragen Sie beim Start des Programms den Benutzer, wie viele Spalten die Tabellenausgabe haben soll. Füllen Sie die letzte Zeile mit *** pro fehlender Zahl auf, sodass die Spaltenstruktur erhalten bleibt. Nach Ausgabe des Endergebnisses soll der Benutzer gefragt werden, ob eine neue Tabellenausgabe durchgeführt werden soll. Bei der Eingabe einer 1 wird das Programm wiederholt, wobei bei der Wiederholung erneut nach der Spaltenzahl gefragt wird. Alle anderen Eingaben beenden Ihr Programm. Geben Sie die Variablen, die Sie verwenden, im Kopf des Struktogramms an. Falscheingaben müssen nicht abgefangen werden.

Bitte dringend um hilfe

danke

bei Antwort benachrichtigen
Borlander supaburn1 „c programm“
Optionen

Und was konkret willst Du jetzt wissen?

Davon, daß hier jemand für Dich Deine Hausaufgaben macht bist Du ja sicher nicht ausgegangen? ;-)


Gruß
Borlander

bei Antwort benachrichtigen
supaburn1 Borlander „Und was konkret willst Du jetzt wissen? Davon, daß hier jemand für Dich Deine...“
Optionen

nein das nicht also ich hab jetzt:

for(i=1;i {
if(i%7==1)
{
printf("%d\n",i);
}
}

wie kann ich jetzt die zahlen die eine 7 enthalten nicht mit ausgeben?

danke für die schnelle antwort

bei Antwort benachrichtigen
d-oli supaburn1 „nein das nicht also ich hab jetzt: for i 1 i if i 7 1 printf d n ,i wie kann ich...“
Optionen
wie kann ich jetzt die zahlen die eine 7 enthalten nicht mit ausgeben?
... z.B. in dem du sie mit sprintf in ein char Array schreibst und dann mit strchr nach einer 7 suchst.

Gruss
d-oli

PS: Sollte dein C-Kompiler NULL nicht kennen, verwende 0 (Null).
Konstruktive Kritik zeichnet sich dadurch aus, dass sie höflich, nützlich und sachlich ist.
bei Antwort benachrichtigen
Borlander supaburn1 „nein das nicht also ich hab jetzt: for i 1 i if i 7 1 printf d n ,i wie kann ich...“
Optionen

Du könntest z.B. prüfen ob x Modulo 10 == 7, anschließend das ganze mit x/10 wiederholen so lange x>0 oder eine Sieben gefunden wurde...

Btw.: if(i%7==1) liefert nicht alle Zahlen zurück die nicht durch sieben Teilbar sind, sondern nur solche bei denen die Division durch 7 den Rest 1 liefert...


Gruß
Borlander

bei Antwort benachrichtigen
loladi supaburn1 „nein das nicht also ich hab jetzt: for i 1 i if i 7 1 printf d n ,i wie kann ich...“
Optionen

if(i%7==1) ist falsch.
Man nehme:-) if(i%7 !=0) oder if(i%7)

Zum Prüfen, ob die Ziffer "7" enthalten ist:
char s[4];
sprintf(s,"%d\0",i);
if(strstr(s,"7")) ==(char*)NULL printf("Keine 7 drinne\n");
else printf("7 enthalten\n");

(aehnlich Vorschlag vom d-oli, nur mit strstr() statt strchr() )


bei Antwort benachrichtigen