Français
Source/ Codesnippets

Matrix aus Excel-CSV mathématique richtig indexiert einlesen

 

p.specht

cela Thema "Matrix aus Excel-CSV mathématique richtig indexiert einlesen" grenzt scheinbar à une Kunstform: qui mathématique korrekte Indexierung dans einer Matrix lautet bekanntlich M_Zeilenindex,Spaltenindex, et beide Indizes commencer avec 1. cela wäre aussi dans XProfan im Prinzip realisierbar, quoique ensuite à cause de des Beginns chez 0 une gewisse Platzverschwendung stattfinden serait. chez berechneten Indizes dans Assembler mais wäre cela geradezu une catastrophe, c'est pourquoi wäre je personnelle geneigt, de zéro weg trop indizieren:

Déclarer M![Zeilenanzahl-1,Spaltenanzahl-1]
avec Aufruf: M![la ligne-1,Spalte-1]
Größere Matrizen écrit on besser juste dans Excel (ou bien Calc de OpenOffice, ou bien dans LibreOffice) et exportiert cet comme CSV avec Spaltentrenner ´|´ et Zeilentrenner (z.B. ´;´). un direktes Einlesen aus qui Dossier selbst voulais mir bisher pas gelingen, beide Programme verwenden Kompressionsalgorithmen.  Beim Einlesen peux on mais wenigstens juste qui Beschreibung dans forme de Zeilen- et Spaltenüberschriften loswerden, qui chez qui Berechnung dans XProfan de toute façon seulement embêtant wären (Wohlgemerkt, und dir naturellement um Operationen, qui cela Tabellenprogramm selbst pas beherrscht, etwa Spannbaumoptimierung etc.)


Aus technischen Trouvé landen eh bien qui sur une bestimmte konstante la ligne laufende Spaltenindexe (Im Volksmund "Zeilenweises einlesen" genannt) NICHT hintereinander im grenier! XProfan, mais z.B. aussi Pascal et Fortran, tenir Arrays SPALTENWEISE im grenier: seulement wird qui ganze "Nullte Spalte" lire, ensuite qui ganze "Spalte 1" usw. c'est pour Assembler GUT, weil qui Spaltenelemente ensuite pour Operationen gemeinsam im schellen Cache gehalten volonté peut.

qui Übersetzung qui Indizes dans Speicherplatz-Adressen allez ensuite relativ simple:
Basisadresse qui Statisch definierten Matrix: Addr(M![0,0])
Laufindex = (Mathematischer_Spaltenindex-1)*Zeilenanzahl + (Mathematischher_Zeilenindex-1)
Adressversatz = Laufindex * 8

renversé gilt:
Mathematischer_Spaltenindex = Laufindex \ Zeilenanzahl + 1
Mathematischer_Zeilenindex = (Laufindex mod Zeilenanzahl) + 1

Titre de la fenêtre "Excel-Matrix CSV-Export mathématique korrekt indexiert einlesen"
Fenêtre Style 24:CLS:font 2
Déclarer data$,tst$[],zl$[],n&,m&
data$="Tabelle|Über B1|Über C1|Über D1;"+\
"Seite A1|11|12|13;"+\
"Seite A2|21|22|23;"+\
"Seite A3|31|32|33;"+\
"Seite A4|41|42|43;"+\
"Seite A5|51|52|53"
tst$[]=explode(data$,";"):n&=sizeof(tst$[])-1
clear zl$[]:zl$[]=Explode(tst$[1],"|"):m&=sizeof(zl$[])-1
declare M![n&-1,m&-1],i&,j&

Whileloop 0,n&-1:i&=&Boucle

    clear zl$[]:zl$[]=Explode(tst$[i&+1],"|"):m&=sizeof(zl$[])-1

    whileloop 0,m&-1:j&=&Boucle

        M![i&,j&]=val(zl$[j&+1])

    endwhile

endwhile

Set("Décimal",1)
imprimer "Numerischen partie comme Float ";n&;" X ";m&;"-Matrix lire:\n"

Whileloop 0,n&-1:i&=&Boucle

    whileloop 0,m&-1:j&=&Boucle

        Imprimer M![i&,j&],
        endwhile:imprimer
        endwhile:imprimer
        waitinput
        end
 
XProfan 11
Computer: Gerät, daß es in Mikrosekunden erlaubt, 50.000 Fehler zu machen, zB 'daß' statt 'das'...
26.05.2021  
 



Zum Quelltext


Topictitle, max. 100 marque.
 

Systemprofile:

ne...aucune Systemprofil angelegt. [anlegen]

XProfan:

 Posting  Font  Smilies  ▼ 

s'il te plaît s'inscrire um une Beitrag trop verfassen.
 

Options du sujet

1.444 Views

Untitledvor 0 min.
H.Brill25.08.2024
p.specht21.11.2021
R.Schneider20.11.2021
Uwe Lang20.11.2021
plus...

Themeninformationen

cet Thema hat 1 participant:

p.specht (1x)


Admins  |  AGB  |  Applications  |  Auteurs  |  Chat  |  protection des données  |  Télécharger  |  Entrance  |  Aider  |  Merchantportal  |  Empreinte  |  Mart  |  Interfaces  |  SDK  |  Services  |  Jeux  |  cherche  |  Support

un projet aller XProfaner, qui il y a!


Mon XProfan
Privé Nouvelles
Eigenes Ablageforum
Sujets-La liste de voeux
Eigene Posts
Eigene Sujets
Zwischenablage
Annuler
 Deutsch English Français Español Italia
Traductions

protection des données


Wir verwenden Cookies seulement comme Session-Cookies à cause de qui technischen Notwendigkeit et chez uns gibt es aucun Cookies de Drittanbietern.

si du ici sur unsere Webseite klickst ou bien navigierst, stimmst du unserer Erfassung de Informationen dans unseren Cookies sur XProfan.Net trop.

Weitere Informationen trop unseren Cookies et en supplément, comment du qui Kontrolle par-dessus behältst, findest du dans unserer nachfolgenden Datenschutzerklärung.


d'accordDatenschutzerklärung
je voudrais keinen Cookie