• Apfeltalk ändert einen Teil seiner Allgemeinen Geschäftsbedingungen (AGB), das Löschen von Useraccounts betreffend.
    Näheres könnt Ihr hier nachlesen: AGB-Änderung
  • Viele hassen ihn, manche schwören auf ihn, wir aber möchten unbedingt sehen, welche Bilder Ihr vor Eurem geistigen Auge bzw. vor der Linse Eures iPhone oder iPad sehen könnt, wenn Ihr dieses Wort hört oder lest. Macht mit und beteiligt Euch an unserem Frühjahrsputz ---> Klick

C Programm in Unix

MoNchHiChii

Kronprinz Rudolf von Österreich
Registriert
03.12.07
Beiträge
1.892
das hatte ich mir, bevor ich hier gefragt hatte auch so gedacht. aber, bei diesem code kommt follgender fehler:

Code:
Zahlen.c: In function 'main':
Zahlen.c:16: error: 'GRatezahl' undeclared (first use in this function)
Zahlen.c:16: error: (Each undeclared identifier is reported only once
Zahlen.c:16: error: for each function it appears in.)
*edit*
... ich depp... habs selbst gefunden.

*edit2*
habs zwar selbst gefunden, aber die lösung hats nicht gebracht :p

*edit3*
so nun habe ich auch das geschafft :p

Code:
#include <stdio.h>
#include <stdlib.h>
#include "zuf.c"

int main()      {

        int GRatezahl, Ratezahl, versuche=1, count=0, erraten=0;        /*Variablen*/

        /*Ausgabe*/
        printf("Bitte geben Sie die groestmoegliche Ratezahl ein: ");
        scanf("%i", &GRatezahl);

        int Zufall = zuf(GRatezahl);                    /*Zufallszahl*/


                /*do while Schleife beginnt*/
                do      {
                printf("Das ist Ihr %i er Versuch\n", versuche);
                printf("Geben Sie nun bitte Ihren Tipp ab: ");
                scanf("%i", &Ratezahl);
                versuche++;

                /*Wenn, Zahl richtig geraten*/
                if(Ratezahl==Zufall)    {
                erraten=1;
                count++;
                }

                /*Wenn, Zahl falsch geraten*/
                else    {
                (Ratezahl>Zufall) ? printf("Die Zahl ist zu gross\n") : printf("Die Zahl ist zu klein\n");
                count++;
                }
        }
        while((erraten != 1) && (count != 0));

        if (erraten == 1)
        {
        printf("Mit %i Versuchen erraten!\n", count);
        }
}
kann man den code so lassen? ist das sauber programmiert? klappen "tuts" schonmal, das eigentlich die hauptsache. vielen dank schonmal dafür!!!
 
Zuletzt bearbeitet:

Naphaneal

deaktivierter Benutzer
Registriert
09.09.07
Beiträge
71
könnte besser eingerückt werden. und es schadet nicht die einzelnen schritte auszukommentieren.
 

Naphaneal

deaktivierter Benutzer
Registriert
09.09.07
Beiträge
71
die IDE übernimmt aber das kommentieren nicht... :)
 

MoNchHiChii

Kronprinz Rudolf von Österreich
Registriert
03.12.07
Beiträge
1.892
und ja jede woche wieder, euer MoNchHiChii :D

heute eine neue aufgabe, 2 habe ich schon selbst gelöst, die wohl etwas schwereren nun die einfache... und natürlich da hackt es :p

Aufgabe:
Fibonacci.c
Schreiben Sie ein C-Prgramm, in dem die ersten 46 Zahlen, ohne f0=0, in einer Tabelle mit 2 Spalten ausgegebenwerden. Finden Sie eine Lösung, in der die Werte mittels eines long int-Arrays berechnet werden

Zahl-------Fibonacci-Zahl-----Zahl-----Fibonacci-Zahl
1-----------1--------------------24--------46368

so mein code
Code:
#include <stdio.h>

int main () {

     int i;
     long num1, num2, ans;

     num1 = 1;
     num2 = 1;

     printf("1\t%.0li\n2\t%.0li\n", num1, num2);

     for(i = 0; i < 44; ++i){

          ans = (num1 + num2);

          printf("%d\t%.0li\n", i+3, ans);

          num1 = num2;
          num2 = ans;
     }
}

so der ist "natürlich" auch aus dem inet recherchirt muss ich gestehen. man findet ja sehr viel. mein problem ist jetzt, long int array und 2spalten.

wieder auch hier, es geht nicht darum das ihr mir was vor schreibt, sondern das ich einen tipp hinweis kriege wie ich es lösen sollte/könnte. bei den anderen beiden aufgaben, habe ich es selbst gefunden und lief echt erstaunlich gut. einmal lotto zahlen regenerieren und einmal würffelwarscheinlichkeiten... nur das hier wurmt :/
 
Zuletzt bearbeitet:

MacAlzenau

Golden Noble
Registriert
26.12.05
Beiträge
22.512
Unterscheidet sich ein C-Programm, das über vi geschrieben wurde, eigentlich von einem mit einem anderen Editor geschriebenen?
Ich frag mich nur, weil das hier im UNIX-/Terminal-Unterforum steht, wo ich andere Dinge erwarte als Programmiertipps.
 

MoNchHiChii

Kronprinz Rudolf von Österreich
Registriert
03.12.07
Beiträge
1.892
Unterscheidet sich ein C-Programm, das über vi geschrieben wurde, eigentlich von einem mit einem anderen Editor geschriebenen?
Ich frag mich nur, weil das hier im UNIX-/Terminal-Unterforum steht, wo ich andere Dinge erwarte als Programmiertipps.

da hab ich ka :/

ich dachte nur, weil bis dato sich keiner beschwerte, das es hier nicht falsch sei und da es bislang so gut lief, wollte ich das mal hier weiter führen :D hehe

dank euch, bestehe ich die praktikas und lerne programmieren.

so neue alternative
*edit*
fehlt eigentlich nur noch die spalten möglichkeit. find ich auch noch :p

Code:
#include <stdio.h>

int main()      {

        long int fib[47];
        int i;

                fib[0] = 0;
                fib[1] = 1;

                printf("Zahl\t Fibonacci-Zahl\tZahl\tFibonacci-Zahl\n");
                printf("---------------------------------------------\n");

                        for(i = 2; i < 47; i++)
                        fib[i] = fib[i-1] + fib[i-2];

                for (i = 1; i < 47; i++)
                printf("%2d\t%10li\n", i, fib[i]);
}
 
Zuletzt bearbeitet:

drlecter

Wöbers Rambur
Registriert
04.11.06
Beiträge
6.442
Unterscheidet sich ein C-Programm, das über vi geschrieben wurde, eigentlich von einem mit einem anderen Editor geschriebenen?
Ich frag mich nur, weil das hier im UNIX-/Terminal-Unterforum steht, wo ich andere Dinge erwarte als Programmiertipps.
Das ist völlig egal. Man könnte auch sagen, das kann man halten wie ein Dachdecker *G*
Der Sourcecode wird nachher ja durch den Compiler übersetzt und der ist da nicht wählerisch mit was das geschrieben wurde und wie das aussieht :) Es gibt sogar nette Wettbewerbe wer den besten ein/drei Zeiler schreibt oder den unleserlichsten Perl-/C++ Code *G*
 

MoNchHiChii

Kronprinz Rudolf von Österreich
Registriert
03.12.07
Beiträge
1.892
leg mich jetzt pennen :p

das erste mal das ich keine lösung finde, aber naja, morgen ist auch noch ein tag ;)
 

Naphaneal

deaktivierter Benutzer
Registriert
09.09.07
Beiträge
71
informier dich mal über mehrdimensionale arrays...
 

MoNchHiChii

Kronprinz Rudolf von Österreich
Registriert
03.12.07
Beiträge
1.892
huhu,

habs nun geschafft, mein problem war, das ich dauernd versucht hab spalten zu suchen... aber die gibt es ja wohl nicht.

nun sieht es so aus und klappt super

Code:
#include <stdio.h>

int main()      {

        long int fib[47];
        int i;

                fib[0] = 0;
                fib[1] = 1;

                        for(i = 2; i < 47; i++) {
                        fib[i] = fib[i-1] + fib[i-2];
                        }

                printf("Zahl \t Fibonacci-Zahl  \tZahl \tFibonacci-Zahl\n");
                printf("-----------------------------------------------------\n");

                for(i = 1; i < 24 ; i++) {
                printf("%2d \t%11li  \t\t%2d \t%11li\n", i, fib[i], i+23, fib[i+23]);
                }
}

und auch wieder danke, für den ein oder anderen tipp.