Registrierung Kalender Mitgliederliste Teammitglieder Suche Häufig gestellte Fragen Zur Startseite

Informatiker Board » Suche » Suchergebnis » Hallo Gast [Anmelden|Registrieren]
Zeige Beiträge 1 bis 11 von 11 Treffern
Autor Beitrag
Thema: Dateien/2D-Vektoren(rückwärts einlesen)
user684

Antworten: 7
Hits: 4.441
09.09.2018 07:16 Forum: Praktische Informatik


???
Thema: Stack(Ausgabe)
user684

Antworten: 1
Hits: 2.655
Stack(Ausgabe) 02.09.2018 05:19 Forum: Praktische Informatik


code:
1:
2:
3:
4:
5:
6:
7:
8:
9:
10:
11:
12:
13:
14:
15:
16:
17:
18:
19:
20:
21:
22:
23:
#include <iostream>
using namespace std;

int test(int v)
{
    i = i + v;
    {
        int j;

        for (j = 0; j < 10; j++)
            i = i + j;
    }

    return i;
}
int main()
{
    cout << test(1) << endl; // 46
    cout << test(1) << endl; // 46

    return 0;
}



Ich wollte fragen, wie man zu der Ausgabe 46 kommt. Ich kann das leider nicht nachvollziehen , wie genau die Ausgabe (46 zustande kommt)

Vielen Dank im Vorraus smile
Thema: Ausgabe des Programms
user684

Antworten: 3
Hits: 3.265
RE: Ausgabe des Programms 28.05.2018 01:49 Forum: Praktische Informatik


Das ist ja das Problem, ich sehe nicht den Unterschied zwischen den Und und Oder Operator..
Könntest du mir den vorzeigen bzw. den entscheidenen veranschlaulichen(z.B. an der Aufgabe)
Thema: Ausgabe des Programms
user684

Antworten: 3
Hits: 3.265
Ausgabe des Programms 27.05.2018 03:50 Forum: Praktische Informatik


Bestimmen Sie die Ausgabe des Programms

code:
1:
2:
3:
4:
5:
6:
7:
8:
9:
10:
11:
12:
13:
14:
15:
16:
17:
18:
19:
20:
21:
22:
23:
24:
#include <iostream>
#include <iomanip>

using namespace std;

int main() {
  
 int x,y,z;
 x += y += z = 1;
 count << x << " " << y << " " << z << endl;

 x=5; y=2; z=1;
 z += x<y ? y++ : x++;
cout << x << " " <<  y << " " << z << endl;


unsigned short int i;
i=0x00FF  | ( (1<<11) | (1<<15) ) ;
cout << hex << uppervase << i << endl;

i=0xFF00 & ( (1<<11) | (1<<15) ) ; 
cout << hex << uppercase << i << endl;
return 0; 
}


Aufgabe Bestimme die Ausgabe des Programms.

Lösungen*1) x=3; y =2;z=1 *2)x=6; y=2; z=6 *3) 88FF *4) 8800
Ansatz:
1) x=3;y=2; z=1 (z.10)
Wie man für den ersten Code (x+=y+=z = 1 auf => x=3;y=2;z=1 weiß ich)
Alle sind eins und das erste wird mit den zwei Variablen y ; z , das zweite mit z und der dritte behält seinen ursprünglichen Wert

Beim zweiten (z += x<y ? y++ : x++; ), wo die Lösung x=6;2;6 beträgt, denke ich, dass z erst mit x addiert wird und da x nicht kleiner als y addiert x sich um 1 erhöht.

Bei diesen Codes weiß ich nicht wie man an die Lösungen kommt 88FF und 8800:

88FF bezieht sich auf i=0x00FF | ( (1<<11) | (1<<15) ) ;
cout << hex << uppervase << i << endl;



und 8800 auf i=0xFF00 & ( (1<<11) | (1<<15) ) ;
cout << hex << uppercase << i << endl;

Es wäre sehr nett, wenn ihr mir helfen würdet smile
Thema: Bits verschieben
user684

Antworten: 6
Hits: 5.355
04.01.2018 11:25 Forum: Softwaretechnik


das ist mein Hauptproblem ):
2. die Reihenfolge der Bits umkehrt und den entstehenden Zahlenwert in
einer neuen unsigned int Variable speichert

Wie können die Bitform und eine Zahl gleichzeitig gespeichert werden?

Und muss man die Zahl als double deklarieren... ODER als(unsigned int mit size of (double))


Und die Überprüfung findet doch mit einer do while Schleife statt(Überprüfung , dass die Zahl als ganze Zahl und als unsigned int darstellbar ist)
Thema: Bits verschieben
user684

Antworten: 6
Hits: 5.355
03.01.2018 20:38 Forum: Softwaretechnik


Kannst du mir bitte beim Ansatz helfen, die Nullen anzufügen , an der invertierten Zahl?

Ansatz * int einsen = 0;
int nullen = 0;
void zaehler(int bitmuster,int *eins,int *null){
int einerstelle;
int i;

for(i=(sizeof(int)*8);i>=1;i--){
einerstelle = bitmuster & 1;
if(einerstelle){
*(eins++);
}else *(null++);
bitmuster = bitmuster >> 1;

Das natürlich in Kombination bzw. Ergänzung mit deinem Code....
Wie kann man das jetzt so umformen, dass es auch angefügt wird....
Was fehlt da noch, eine Schleife??? Und wie fügt man das zusammen ohne, dass das noch überladen wird und dann verfälschte Werte noch rauskommen...
Würdemich um deinen Rat sehr freuen
Thema: Bitmanipulation
user684

Antworten: 6
Hits: 7.212
20.11.2017 13:34 Forum: Softwaretechnik


Bei mir kam aber ein Überlauf von Integer.....
Und viele hatten einen sehr langen Code u.a. auch mit do while Schleife.

Braucht man für das Programm wirklich ein paar Zeilen Code? Hab da so meine Zweifel. Trotzdem Danke.
Thema: Bitmanipulation
user684

Antworten: 6
Hits: 7.212
18.11.2017 09:06 Forum: Softwaretechnik


Tut mir leid, aber ich habe so was schon integriert in meinem Code , aber es fehlt trotzdem noch ein wichtiger Teil, aber ich weiß nicht, wie ich das realisiere..
Und mein int Parameter ist immer überladen und zeigt was außerhalb des Wertebereichs an....
Thema: Bitmanipulation
user684

Antworten: 6
Hits: 7.212
Bitmanipulation 15.11.2017 17:00 Forum: Softwaretechnik


Man sollte ein Programm schreiben, welches die Einser im Bitmuster auszählt und ausgibt.
Dann die Reihenfolge der Bits umgekehrt und den Zahlenwert dann in einer anderen neuen unsigned int Variable speichert und dann beide Zahlen im Hexidezimalform ausgibt.

Ich habe das hier versucht, aber leider geht mein Programm nicht, könnt ihr mir bitte helfen?

code:
1:
2:
3:
4:
5:
6:
7:
8:
9:
10:
11:
12:
13:
14:
15:
16:
17:
18:
19:
20:
21:
22:
23:
24:
25:
26:
27:
28:
29:
30:
31:
32:
33:
34:
#include <iostream>

using namespace std;


int main() {

    double z;
    unsigned int = 0;
    int eins=0;
    int null=0;
    int einerstelle;
    
    z=(sizeof(int*8));
    
    cout << "Geben Sie eine Zahl ein: " << endl;
    cin >> z;
     
   for(int i;i>=1;i--) {
     
       einerstelle = z & 1;
       if(einerstelle) {
            eins++;
      } else null++;
       z = z >> 1;
     
              
                    
           
    
    return 0;
}
Thema: Bits verschieben
user684

Antworten: 6
Hits: 5.355
10.11.2017 00:09 Forum: Softwaretechnik


Auf welchem Aufgabenteil bezieht sich das?

Diesen?
code:
1:
2:
3:
4:
5:
6:
7:
 for(i=(sizeof(int)*8);i>=1;i--){
    einerstelle = bitmuster & 1;
    if(einerstelle){
      *(eins++);
    }else *(null++);
    bitmuster = bitmuster >> 1;
  }

Und wenn ja kann man das besser optimieren, bzw. das size of trennen von der for Klammer...

Das soll doch die 1en zählen und gleichzeitig den Bitcode rückwärts ausgeben oder?
Wenn , nein, gib mir auch dazu tipps
Thema: Bits verschieben
user684

Antworten: 6
Hits: 5.355
Bits verschieben 09.11.2017 17:49 Forum: Softwaretechnik


Ich brauche dringend eure Hilfe bei einer Aufgabe, in der man die Anzahl(einer eingegeben Zahl) der vorkommen Einsen im Bitmuster zählt, die Reihenfolge der Bits (umgekehrt) in einer neuen Variable speichert-> Dann Ausgabe im Hexadezimalsystem...

Und wie macht man das so, dass das für eine beliebige eingebene Zahl funktioniert(z.B. cin >>)

Meine Ideen

Ich deklariere die Variablen bitanzahl, deklariere Anzahl für die 1 und 0
Per for Schleife und size of und Verknüpfung mit dem bitmuster= 00000000 zurückführen wieviele einser das Bitmuster hat
Zeige Beiträge 1 bis 11 von 11 Treffern