Despre accesibilitatea produselor si programare in general

Diverse limbaje, programare, scripting, coduri, unelte specifice etc.
Avatar utilizator
Manu
General de divizie
Mesaje: 4120
Membru din: 02 Feb 2007, 01:15
Localitate: Cluj-Napoca
Contact:

Mesaj de Manu »

BosGrigore scrie:pb = pa++ este acelasi lucru cu pb = pa+1?
Dupa cum spunea si IonPop, pa++ incrementeaza dupa ce este atribuita valoarea initiala. Pentru a face incrementare inainte de atribuire, trebuie scris pb = ++pa.
Nu am folosit niciodata incrementari la atribuire de valori, cum spunea Ion Pop, e mult mai ok sa spui aici pb = pa+1.
Eu am folosit operatorul de incrementare atunci cand ma interesa doar o anume variabila, de exemplu cand la jocuri se apasa sageata stanga dreapta si atunci tot creste si scade un x sa zicem.
Ultima oară modificat 12 Iun 2014, 17:44 de către Manu, modificat 1 dată în total.
Errare humanum est, sed perseverare diabolicum...
In forum linguae Latinae venite! (via est: www.limbalatina.ro)
BosGrigore
Plutonier
Mesaje: 145
Membru din: 22 Iul 2012, 21:48
Localitate: Cluj-Napoca

Mesaj de BosGrigore »

In regula, Multumesc!
Grigore
BosGrigore
Plutonier
Mesaje: 145
Membru din: 22 Iul 2012, 21:48
Localitate: Cluj-Napoca

Mesaj de BosGrigore »

Cu pb = ++pa am obtinut rezultatul corect. Buna explicatia Manu, exact asta am vrut sa fie explicat.
Priviti aici la cateva compilatoare si editoare online pentru Windows si Linux si pentru limbajele c/c++, fortran, Pascal, Java si Basic.
http://www.onlinecompiler.net/
Sunt functionale. Cu limbajul c++ am compilat un mic program pentru Windows.
Va salut!
Grigore
BosGrigore
Plutonier
Mesaje: 145
Membru din: 22 Iul 2012, 21:48
Localitate: Cluj-Napoca

Mesaj de BosGrigore »

Un intreg int este memorat pe 2 octeti. De ce daca verific cu operatorul sizeof(int) rezultatul este 4 octeti?
Inceput cod
#include <iostream>
using namespace std;
void main (void)
{
printf ("Un char este memorat pe %d octeti\n", sizeof(char)); // 1 octet
printf ("Un int este memorat pe %d octeti\n", sizeof(int)); // 4 octeti in loc de 2. De ce?
}
Sfarsit cod
Grigore
Avatar utilizator
Manu
General de divizie
Mesaje: 4120
Membru din: 02 Feb 2007, 01:15
Localitate: Cluj-Napoca
Contact:

Mesaj de Manu »

Un int ocupa 4 octeti, de aceea cel mai mare numar care poate fi reprezentat este 2 la puterea 31 minus 1. Jumatate din numere sunt negative, altfel spus, pot fi reprezentate 2 la puterea 32 numere. Acel 32 inseamna 4 ori 8, adica 4 bytes / octeti.
Cu 2 octeti este reprezentat un numar maxim mai mic, tipul short, 2 la puterea 16.
Desigur ca e vorba de un sistem pe 32 de biti, pe 64 de biti int-ul ar putea ocupa si 8 octeti, un numar considerabil mai mare de posibilitati, 2 la puterea 64...
Errare humanum est, sed perseverare diabolicum...
In forum linguae Latinae venite! (via est: www.limbalatina.ro)
BosGrigore
Plutonier
Mesaje: 145
Membru din: 22 Iul 2012, 21:48
Localitate: Cluj-Napoca

Mesaj de BosGrigore »

Deci trebuia sa utilizez modificatorul short astfel:
sizeof(short int)
Grigore
Avatar utilizator
Manu
General de divizie
Mesaje: 4120
Membru din: 02 Feb 2007, 01:15
Localitate: Cluj-Napoca
Contact:

Mesaj de Manu »

Da, si short este tot numar intreg, merge si simplu sizeof(short).
Errare humanum est, sed perseverare diabolicum...
In forum linguae Latinae venite! (via est: www.limbalatina.ro)
BosGrigore
Plutonier
Mesaje: 145
Membru din: 22 Iul 2012, 21:48
Localitate: Cluj-Napoca

Mesaj de BosGrigore »

Cum se obtine produsul a doua tablouri (array-uri) bidimensionale? Suma am inteles cum se obtine dar produsul nu.
Grigore
Vortex
Sublocotenent
Mesaje: 298
Membru din: 19 Noi 2009, 17:12
Contact:

Mesaj de Vortex »

Vrei explicatia algoritmului, sau doar cod?
Vortex Website
Maximum de confort, cu minimum de efort.
BosGrigore
Plutonier
Mesaje: 145
Membru din: 22 Iul 2012, 21:48
Localitate: Cluj-Napoca

Mesaj de BosGrigore »

Explicarea algoritmului.
Grigore
Scrie răspuns