int = intarray[x] ?



  • also ich möchte wissen ob es irgendwie möglich ist
    ein int zu einem int array zu machen.

    sagen wir
    int a;
    int b[3];

    b[0]=1;
    b[1]=4;
    b[2]=7;

    a = b;

    Dann sollte a den wert 147 enthalten nur leider funzt das nicht ganz.
    Danke im vorraus für eure hilfe



  • #include <iostream>
    using namespace std;
    
    int main(void)
    {
        int wert_1;
    	int wert_2[3];
    
    	wert_2[0]=1;
    	wert_2[1]=4;
    	wert_2[2]=7;
    
    	/*
    	Du kannst jetzt nicht einfach schreiben: wert_1=wert_2. Du musst mitangeben, welches
    	Element zugewiesen werden soll. 
    	Zum Beispiel:
    	int x;
    	int y=new int[2];
    	x=y[0];
    	x=y[1];
    	*/
    
    	wert_1=wert_2[0]; //Das 1'te Element soll zugewiesen werden, bzw. "1".
    
    	/*
    	wert_1=wert_2[1]; //Das 2'te Element soll zugewiesen werden, bzw. "4".
    	wert_1=wert_2[2]; //Das 3'te Element soll zugewiesen werden, bzw. "7".
    	*/
    
        cout<< wert_1 <<endl;
    
    	cin.get();
    }
    


  • les bitte meinen post nochmal 😉
    ich möchte ja das zb

    array[0] = 1;
    array[1] = 5;

    keinarray = array; // hier soll keinarray dann 15 annehmen



  • Das musst Du schon selber ausrechnen, mit dem Horner Schema z.B.



  • Dann müsstest du dein a als Pointer deklarieren:

    const int maxLength = 3;
        int *a = 0; 
        int b[maxLength] = { 1, 2, 3 };
    
        a = new int[maxLength];
    
        a = b;
    

    Gruß Tobi



  • Hallo,

    z.B. so?

    int b[] = {56,8,3,7};
    	int a = 0; 
    	int size = sizeof(b)/sizeof(int);
    	for ( int i=size; i; i--)
    	{
    		a += b[i-1] * pow(10.0,size-i);
    	}
    	std::cout << a;
    

    gruss
    foo



  • Dazu muss man doch nicht pow verwenden. Das ist Overkill und lahm:

    int b[] = {56,8,3,7}; 
        int a = 0 scale=1; 
        int size = sizeof(b)/sizeof(int); 
        while (--size) 
        { 
            a += b[size] * scale; 
            scale *= 10;
        } 
        std::cout << a;
    


  • Martin Richter schrieb:

    Dazu muss man doch nicht pow verwenden. Das ist Overkill und lahm:

    Dafür funktionierts wenigstens 😃

    while (size--)
    ...
    

    SCNR

    Man sollte vlt. erwähnen dass das auch nur dann funktioniert wenn die Array-Elemente einstellig sind - mal vom ersten abgesehen

    Gruss
    foo



  • was sollte an

    while (size--)
    ...
    

    nicht funktionieren?

    Das funktioniert auch prima wenn size==0 ist!



  • Martin Richter schrieb:

    was sollte an

    while (size--)
    ...
    

    nicht funktionieren?
    Das funktioniert auch prima wenn size==0 ist!

    Klar funktioniert das, nur dass in Deinem Beispiel while (--size) steht, das verwirft wg. dem Postdekrement eine Stelle.

    Sicherlich gibt es noch andere einfachere Lösungen?

    Gruss
    foo



  • Upps sorry! Stimmt, habe mich vertippt.


Anmelden zum Antworten