Array mit 400 Werten schnell einlesen



  • Hallo alle zusammen,

    ich habe in Excel eine 40 x 10 "Matrix" mit Zahlen drin (float).
    Ich möchte jetzt diese 400 Werte in einen array Länge 400 übertragen.
    Sodass die erste Zeile die ersten 10 Werte sind, die zweite Zeile die zweiten 10 Werte sind etc...

    Gibt es da eine schnelle Möglichkeit das in einen Array schnell einzulesen?

    Ich kann die Zahlen auch theorethisch schnell alle nebeneinander kopieren. Aber wie kann ich dann die Werte in einen array einlesen?

    Ich will jetzt nicht jedes mal a[1] = 0.5001, a[2] = 0.5134, ... etc eingeben

    Nebenbei sind die Zahlen alle sortiert von klein nach groß. D.h. a[i] ist monoton steigend.

    Ich wäre euch dankbar, wenn ihr mir da helfen könnt.



  • wima--09 schrieb:

    .....

    😕
    Hä?

    Was willst du machen?

    Ok, du hast eine Exceltabelle. Aber was ist dein Ziel?
    - eine Text-Datei einlesen?
    - eine Exceldatei einlesen?
    - einmalig die Werte im C-Quelltext übernehmen?
    - ...



  • Nehmen wir einfach an, ich habe 400 Zahlen.
    Wie kann ich diese am schnellsten einlesen?

    kleines Beispiel:
    Wenn man 20 Zahlen hat 0.1 , 0.34 , ... , 0.99
    Wie kann schnell ein array aus diesen Zahlen machen?

    Muss ich einzeln a[0] = 0.1, a[1] = 0.34, ... , a[19] = 0.99 schreiben?
    Oder kann ich z.B. a[] = 0.1 , 0.34, ... , 0.99 schreiben und er tut es automatisch richtig speichern?

    Denn ich habe die Zahlen alle nebeneinander stehen in einer Word Datei/Excel Datei.

    Fazit: Ich muss diese 400 Zahlen in einem array speichern und will wie gesagt so wenig Zeit verlieren wie möglich.



  • Du möchtest

    DirkB schrieb:

    - einmalig die Werte im C-Quelltext übernehmen?

    wima--09 schrieb:

    Oder kann ich z.B. a[] = 0.1 , 0.34, ... , 0.99 schreiben und er tut es automatisch richtig speichern?

    Fast:

    double a[] = { 0.1 , 0.34, ... , 0.99,
                   1.2 , 3,14, ...., 2,14 };
    //           ^                        ^  die Klammern kommen da noch hin
    


  • Supeeeeeeeeeer Danke 🙂
    Thread kann geschlossen werden



  • Du solltest dir ein Buch über C zulegen.

    Wenn du deine Programme genauso konfus schreibst wie deine Problembeschreibungen, wird das nichts.



  • DirkB schrieb:

    double a[] = { 0.1 , 0.34, ... , 0.99,
                   1.2 , 3,14, ...., 2,14 };
    

    Das muss natürlich

    double a[] = { 0.1 , 0.34, ... , 0.99,
                   1.2 , 3.14, ...., 2.14 };
    

    heißen, sonst wird das nichts.



  • Hallo alle zusammen nochmal,

    ich hatte gestern Nacht versucht was zu posten. Entweder hat mein Internet im letzten Moment nicht geklappt, oder der Beitrag wurde gelöscht, da ich das vergessen habe als Code zu posten.

    Ihr könnt die ganzen Zahlen zwischendrin nicht beachten. Könnt ihr das nochmal anschauen? Was habe ich da falsch gemacht
    [code="c"]#include <stdio.h>
    #include <stdlib.h>

    int main()
    {
    float norm[] = { 0.5 , 0.50399 , 0.50798 , 0.51197 , 0.51595 , 0.51994 , 0.52392 , 0.5279 , 0.53188 , 0.53586 , 0.53983 , 0.5438 , 0.54776 , 0.55172 , 0.55567 , 0.55962 , 0.56356 , 0.56749 , 0.57142 , 0.57535 , 0.57926 , 0.58317 , 0.58706 , 0.59095 , 0.59483 , 0.59871 , 0.60257 , 0.60642 , 0.61026 , 0.61409 , 0.61791 , 0.62172 , 0.62552 , 0.6293 , 0.63307 , 0.63683 , 0.64058 , 0.64431 , 0.64803 , 0.65173 , 0.65542 , 0.6591 , 0.66276 , 0.6664 , 0.67003 , 0.67364 , 0.67724 , 0.68082 , 0.68439 , 0.68793 , 0.69146 , 0.69497 , 0.69847 , 0.70194 , 0.7054 , 0.70884 , 0.71226 , 0.71566 , 0.71904 , 0.7224 , 0.72575 , 0.72907 , 0.73237 , 0.73565 , 0.73891 , 0.74215 , 0.74537 , 0.74857 , 0.75175 , 0.7549 , 0.75804 , 0.76115 , 0.76424 , 0.7673 , 0.77035 , 0.77337 , 0.77637 , 0.77935 , 0.7823 , 0.78524 , 0.78814 , 0.79103 , 0.79389 , 0.79673 , 0.79955 , 0.80234 , 0.80511 , 0.80785 , 0.81057 , 0.81327 , 0.81594 , 0.81859 , 0.82121 , 0.82381 , 0.82639 , 0.82894 , 0.83147 , 0.83398 , 0.83646 , 0.83891 , 0.84134 , 0.84375 , 0.84614 , 0.84849 , 0.85083 , 0.85314 , 0.85543 , 0.85769 , 0.85993 , 0.86214 , 0.86433 , 0.8665 , 0.86864 , 0.87076 , 0.87286 , 0.87493 , 0.87698 , 0.879 , 0.881 , 0.88298 , 0.88493 , 0.88686 , 0.88877 , 0.89065 , 0.89251 , 0.89435 , 0.89617 , 0.89796 , 0.89973 , 0.90147 , 0.9032 , 0.9049 , 0.90658 , 0.90824 , 0.90988 , 0.91149 , 0.91309 , 0.91466 , 0.91621 , 0.91774 , 0.91924 , 0.92073 , 0.9222 , 0.92364 , 0.92507 , 0.92647 , 0.92785 , 0.92922 , 0.93056 , 0.93189 , 0.93319 , 0.93448 , 0.93574 , 0.93699 , 0.93822 , 0.93943 , 0.94062 , 0.94179 , 0.94295 , 0.94408 , 0.9452 , 0.9463 , 0.94738 , 0.94845 , 0.9495 , 0.95053 , 0.95154 , 0.95254 , 0.95352 , 0.95449 , 0.95543 , 0.95637 , 0.95728 , 0.95818 , 0.95907 , 0.95994 , 0.9608 , 0.96164 , 0.96246 , 0.96327 , 0.96407 , 0.96485 , 0.96562 , 0.96638 , 0.96712 , 0.96784 , 0.96856 , 0.96926 , 0.96995 , 0.97062 , 0.97128 , 0.97193 , 0.97257 , 0.9732 , 0.97381 , 0.97441 , 0.975 , 0.97558 , 0.97615 , 0.9767 , 0.97725 , 0.97778 , 0.97831 , 0.97882 , 0.97932 , 0.97982 , 0.9803 , 0.98077 , 0.98124 , 0.98169 , 0.98214 , 0.98257 , 0.983 , 0.98341 , 0.98382 , 0.98422 , 0.98461 , 0.985 , 0.98537 , 0.98574 , 0.9861 , 0.98645 , 0.98679 , 0.98713 , 0.98745 , 0.98778 , 0.98809 , 0.9884 , 0.9887 , 0.98899 , 0.98928 , 0.98956 , 0.98983 , 0.9901 , 0.99036 , 0.99061 , 0.99086 , 0.99111 , 0.99134 , 0.99158 , 0.9918 , 0.99202 , 0.99224 , 0.99245 , 0.99266 , 0.99286 , 0.99305 , 0.99324 , 0.99343 , 0.99361 , 0.99379 , 0.99396 , 0.99413 , 0.9943 , 0.99446 , 0.99461 , 0.99477 , 0.99492 , 0.99506 , 0.9952 , 0.99534 , 0.99547 , 0.9956 , 0.99573 , 0.99585 , 0.99598 , 0.99609 , 0.99621 , 0.99632 , 0.99643 , 0.99653 , 0.99664 , 0.99674 , 0.99683 , 0.99693 , 0.99702 , 0.99711 , 0.9972 , 0.99728 , 0.99736 , 0.99744 , 0.99752 , 0.9976 , 0.99767 , 0.99774 , 0.99781 , 0.99788 , 0.99795 , 0.99801 , 0.99807 , 0.99813 , 0.99819 , 0.99825 , 0.99831 , 0.99836 , 0.99841 , 0.99846 , 0.99851 , 0.99856 , 0.99861 , 0.99865 , 0.99869 , 0.99874 , 0.99878 , 0.99882 , 0.99886 , 0.99889 0.99893 , 0.99896 , 0.999 , 0.99903 , 0.99906 , 0.9991 , 0.99913 , 0.99916 , 0.99918 , 0.99921 , 0.99924 , 0.99926 , 0.99929 , 0.99931 , 0.99934 , 0.99936 , 0.99938 , 0.9994 , 0.99942 , 0.99944 , 0.99946 , 0.99948 , 0.9995 , 0.99952 , 0.99953 , 0.99955 , 0.99957 , 0.99958 , 0.9996 , 0.99961 , 0.99962 , 0.99964 , 0.99965 , 0.99966 , 0.99968 , 0.99969 , 0.9997 , 0.99971 , 0.99972 , 0.99973 , 0.99974 , 0.99975 , 0.99976 , 0.99977 , 0.99978 , 0.99978 , 0.99979 , 0.9998 , 0.99981 , 0.99981 , 0.99982 , 0.99983 , 0.99983 , 0.99984 , 0.99985 , 0.99985 , 0.99986 , 0.99986 , 0.99987 , 0.99987 , 0.99988 , 0.99988 , 0.99989 , 0.99989 , 0.9999 , 0.9999 , 0.9999 , 0.99991 , 0.99991 , 0.99992 , 0.99992 , 0.99992 , 0.99992 , 0.99993 , 0.99993 , 0.99993 , 0.99994 , 0.99994 , 0.99994 , 0.99994 , 0.99995 , 0.99995 , 0.99995 , 0.99995 , 0.99995 , 0.99996 , 0.99996 , 0.99996 , 0.99996 , 0.99996 , 0.99996 , 0.99997 , 0.99997 , 0.99997 , 0.99997 , 0.99997 , 0.99997 , 0.99997 , 0.99997 , 0.99998 , 0.99998 , 0.99998 , 0.99998
    };
    printf("5 ist %f, 110 ist %f, 205 ist %f, 410 ist %f", norm[4], norm[109], norm[204], norm[409]);
    return 0;
    }
    [code]



  • Sorry ich kann den letzten Beitrag nicht editieren:

    Hallo alle zusammen nochmal,

    ich hatte gestern Nacht versucht was zu posten. Entweder hat mein Internet im letzten Moment nicht geklappt, oder der Beitrag wurde gelöscht, da ich das vergessen habe als Code zu posten.

    Ihr könnt die ganzen Zahlen zwischendrin nicht beachten. Könnt ihr das nochmal anschauen? Was habe ich da falsch gemacht

    #include <stdio.h>
    #include <stdlib.h>
    
    int main()
    {
    float norm[] = { 0.5 , 0.50399 , 0.50798 , 0.51197 , 0.51595 , 0.51994 , 0.52392 , 0.5279 , 0.53188 , 0.53586 , 0.53983 , 0.5438 , 0.54776 , 0.55172 , 0.55567 , 0.55962 , 0.56356 , 0.56749 , 0.57142 , 0.57535 , 0.57926 , 0.58317 , 0.58706 , 0.59095 , 0.59483 , 0.59871 , 0.60257 , 0.60642 , 0.61026 , 0.61409 , 0.61791 , 0.62172 , 0.62552 , 0.6293 , 0.63307 , 0.63683 , 0.64058 , 0.64431 , 0.64803 , 0.65173 , 0.65542 , 0.6591 , 0.66276 , 0.6664 , 0.67003 , 0.67364 , 0.67724 , 0.68082 , 0.68439 , 0.68793 , 0.69146 , 0.69497 , 0.69847 , 0.70194 , 0.7054 , 0.70884 , 0.71226 , 0.71566 , 0.71904 , 0.7224 , 0.72575 , 0.72907 , 0.73237 , 0.73565 , 0.73891 , 0.74215 , 0.74537 , 0.74857 , 0.75175 , 0.7549 , 0.75804 , 0.76115 , 0.76424 , 0.7673 , 0.77035 , 0.77337 , 0.77637 , 0.77935 , 0.7823 , 0.78524 , 0.78814 , 0.79103 , 0.79389 , 0.79673 , 0.79955 , 0.80234 , 0.80511 , 0.80785 , 0.81057 , 0.81327 , 0.81594 , 0.81859 , 0.82121 , 0.82381 , 0.82639 , 0.82894 , 0.83147 , 0.83398 , 0.83646 , 0.83891 , 0.84134 , 0.84375 , 0.84614 , 0.84849 , 0.85083 , 0.85314 , 0.85543 , 0.85769 , 0.85993 , 0.86214 , 0.86433 , 0.8665 , 0.86864 , 0.87076 , 0.87286 , 0.87493 , 0.87698 , 0.879 , 0.881 , 0.88298 , 0.88493 , 0.88686 , 0.88877 , 0.89065 , 0.89251 , 0.89435 , 0.89617 , 0.89796 , 0.89973 , 0.90147 , 0.9032 , 0.9049 , 0.90658 , 0.90824 , 0.90988 , 0.91149 , 0.91309 , 0.91466 , 0.91621 , 0.91774 , 0.91924 , 0.92073 , 0.9222 , 0.92364 , 0.92507 , 0.92647 , 0.92785 , 0.92922 , 0.93056 , 0.93189 , 0.93319 , 0.93448 , 0.93574 , 0.93699 , 0.93822 , 0.93943 , 0.94062 , 0.94179 , 0.94295 , 0.94408 , 0.9452 , 0.9463 , 0.94738 , 0.94845 , 0.9495 , 0.95053 , 0.95154 , 0.95254 , 0.95352 , 0.95449 , 0.95543 , 0.95637 , 0.95728 , 0.95818 , 0.95907 , 0.95994 , 0.9608 , 0.96164 , 0.96246 , 0.96327 , 0.96407 , 0.96485 , 0.96562 , 0.96638 , 0.96712 , 0.96784 , 0.96856 , 0.96926 , 0.96995 , 0.97062 , 0.97128 , 0.97193 , 0.97257 , 0.9732 , 0.97381 , 0.97441 , 0.975 , 0.97558 , 0.97615 , 0.9767 , 0.97725 , 0.97778 , 0.97831 , 0.97882 , 0.97932 , 0.97982 , 0.9803 , 0.98077 , 0.98124 , 0.98169 , 0.98214 , 0.98257 , 0.983 , 0.98341 , 0.98382 , 0.98422 , 0.98461 , 0.985 , 0.98537 , 0.98574 , 0.9861 , 0.98645 , 0.98679 , 0.98713 , 0.98745 , 0.98778 , 0.98809 , 0.9884 , 0.9887 , 0.98899 , 0.98928 , 0.98956 , 0.98983 , 0.9901 , 0.99036 , 0.99061 , 0.99086 , 0.99111 , 0.99134 , 0.99158 , 0.9918 , 0.99202 , 0.99224 , 0.99245 , 0.99266 , 0.99286 , 0.99305 , 0.99324 , 0.99343 , 0.99361 , 0.99379 , 0.99396 , 0.99413 , 0.9943 , 0.99446 , 0.99461 , 0.99477 , 0.99492 , 0.99506 , 0.9952 , 0.99534 , 0.99547 , 0.9956 , 0.99573 , 0.99585 , 0.99598 , 0.99609 , 0.99621 , 0.99632 , 0.99643 , 0.99653 , 0.99664 , 0.99674 , 0.99683 , 0.99693 , 0.99702 , 0.99711 , 0.9972 , 0.99728 , 0.99736 , 0.99744 , 0.99752 , 0.9976 , 0.99767 , 0.99774 , 0.99781 , 0.99788 , 0.99795 , 0.99801 , 0.99807 , 0.99813 , 0.99819 , 0.99825 , 0.99831 , 0.99836 , 0.99841 , 0.99846 , 0.99851 , 0.99856 , 0.99861 , 0.99865 , 0.99869 , 0.99874 , 0.99878 , 0.99882 , 0.99886 , 0.99889 0.99893 , 0.99896 , 0.999 , 0.99903 , 0.99906 , 0.9991 , 0.99913 , 0.99916 , 0.99918 , 0.99921 , 0.99924 , 0.99926 , 0.99929 , 0.99931 , 0.99934 , 0.99936 , 0.99938 , 0.9994 , 0.99942 , 0.99944 , 0.99946 , 0.99948 , 0.9995 , 0.99952 , 0.99953 , 0.99955 , 0.99957 , 0.99958 , 0.9996 , 0.99961 , 0.99962 , 0.99964 , 0.99965 , 0.99966 , 0.99968 , 0.99969 , 0.9997 , 0.99971 , 0.99972 , 0.99973 , 0.99974 , 0.99975 , 0.99976 , 0.99977 , 0.99978 , 0.99978 , 0.99979 , 0.9998 , 0.99981 , 0.99981 , 0.99982 , 0.99983 , 0.99983 , 0.99984 , 0.99985 , 0.99985 , 0.99986 , 0.99986 , 0.99987 , 0.99987 , 0.99988 , 0.99988 , 0.99989 , 0.99989 , 0.9999 , 0.9999 , 0.9999 , 0.99991 , 0.99991 , 0.99992 , 0.99992 , 0.99992 , 0.99992 , 0.99993 , 0.99993 , 0.99993 , 0.99994 , 0.99994 , 0.99994 , 0.99994 , 0.99995 , 0.99995 , 0.99995 , 0.99995 , 0.99995 , 0.99996 , 0.99996 , 0.99996 , 0.99996 , 0.99996 , 0.99996 , 0.99997 , 0.99997 , 0.99997 , 0.99997 , 0.99997 , 0.99997 , 0.99997 , 0.99997 , 0.99998 , 0.99998 , 0.99998 , 0.99998
    };
    printf("5 ist %f, 110 ist %f, 205 ist %f, 410 ist %f", norm[4], norm[109], norm[204], norm[409]);
    return 0;
    }
    


  • Meinst du den Kompilerfehler (welchen du hättest posten sollen: "error: expected '}' before numeric constant" ;-)?
    Da fehlt ein Komma zwischen

    0.99889  0.99893
    

    Lauffähiger Code



  • Gib beim nächsten Mal bitte an was nicht geht. Geht nicht ist keine Fehlerbeschreibung.

    Der Fehler ist übrigens ein fehlendes Komma. Würdest du alles auf mehrere Zeilen aufteilen, dann würdest du den Fehler auch besser finden.

    Viel Spaß. 🤡


Anmelden zum Antworten