Jump to content

shanker'

Mods Team
  • Content Count

    1406
  • Joined

  • Last visited

Community Reputation

836 Veteran

About shanker'

  • Rank
    1337
  • Birthday 05/18/1999

Profile Information

  • Gender
    Male
  • Location
    Valcea / Sibiu

Previous Fields

  • Real name
    Andrei
  • RPG1 Nickname
    Shanker

Recent Profile Visitors

102297 profile views
  1. shanker'

    poate intorcea.. deeh, daca nu avea fast rotate
  2. cum mai esti? 😎

    1. Cleo

      Cleo

      Sunt bine, mersi de întrebare. 😂🙈

  3. shanker'

    ma bucur ca nu esti si degeaba acolo
  4. dormi

    1. Dyablox

      Dyablox

      Uite-l bă și pe Wanker :)) 

       

      Te duci tu în locul meu la muncă?

    2. shanker'

      shanker'

      pe drq ca la 10 am cursuri

  5. shanker'

    Se pare că uitai și de convertirea în bază 16, dar este asemănătoare. Aveți mai jos un exemplu pentru problema următoare: https://www.pbinfo.ro/?pagina=probleme&id=3017 #include <stdio.h> void binoct(long long int Numar, int Divide) { int array[1005], size = 0; while (Numar != 0) { array[size++] = Numar % Divide; Numar /= Divide; } for (int i=(size-1); i>=0; i--) printf("%d", array[i]); } void hex(long long int Numar) { char caracters[100]; int size = 0, Rest; while (Numar != 0) { Rest = Numar % 16; Numar /= 16; if (Rest <= 9) caracters[size++] = (char)(Rest + 48); else caracters[size++] = (char)(Rest + 55); } for (int i=(size-1); i>=0; i--) printf("%c", caracters[i]); } int main() { char C; scanf("%s", &C); long long int N; scanf("%lli", &N); if (C == 'b') binoct(N, 2); else if (C == 'o') binoct(N, 8); else hex(N); return 0; } Pur și simplu am stocat fiecare număr ce forma noul număr din baza 10 în baza nouă, urmând să-l afișăm.
  6. betiv notoriu

    1. Show previous comments  6 more
    2. shanker'

      shanker'

      ...murim amandoi singuri atunci

    3. W i s l e r

      W i s l e r

      Stai calm, tot găsești tu pe cineva, o grasa sau un gras, depinde ce o sa vrei pe atunci xd

    4. shanker'

      shanker'

      gata mă tai tot..

  7. nemernicule

  8. ce-ti mai face gagica?

    1. Show previous comments  3 more
    2. shanker'

      shanker'

      mie mi ai facut doar bine

      image.thumb.png.243735f7040c1fdfa27181ee36f12775.png

       

      tocmai de aia esti singurul meu pr...dar unde drq e popa?? parca fu-n lista si el..

    3. W i s l e r

      W i s l e r

      Măcar ție frt, nu știu dar cred ca are iubit nou, ii las mesaj 

      Pana atunci asculta aici 

       

    4. shanker'

      shanker'

      nu mi place..

       

       

  9. LMA MA SHANKER FRT TU CEL MAI REGE DINTRE REGI MA AICI PE BZ SEFU

    1. shanker'

      shanker'

      fusăși și tu o dată-n viață om :))

  10. dăduși cărțile pe foc mă? :))

    1. W i s l e r

      W i s l e r

      LMA MA, NU ȘTIU DESPRE CE VORBIM DAR YAY

    2. shanker'

      shanker'

      tu la tine pe profil imi urezi lma? 😂

  11. shanker'

    Nu găsii un tutorial cap coadă care să-mi explice pe cât de simplu se poate, din păcate. Sincer, nu știu la ce mă ajuta pe mine în viață șă știu să convertesc un număr dintr-o bază în alta, asta fiind limbajul natural al unui computer (sistemul binar), însă dacă tot învățai la cursuri așa ceva, pt cine-i interesat, poate să citească și el acest „tutorial?”. Cum convertim un număr dintr-o bază B într-o bază C? Aducem numărul din baza B în baza 10 Aducem numărul din baza 10 în baza C 1) Convertirea unui număr din baza B în baza 10 Aflăm restul împărțirii numarului la 10 Împărțim numarul la 10 Formatăm numărul Ce înseamnă a formata un număr? Să zicem că avem următorul vector populat: int vector[] = {3, 4, 5}; A formata un număr înseamnă a crea un singur număr din N cifre. Dacă o luam din stânga către dreapta, se formează numărul 345. Deci cum putem face asta? Folosim următorul algoritm: int P = 1, Format = 0; for (int i=0; i<3; i++) { Format = Format * 10 + vector[i]; P *= 10; } Pentru exemplul nostru avem următoarele calcule: Începând de la variabilele: Format = 0, P = 1; Vectorul nostru este populat de la 0, deci: vector[0] = 3, vector[1] = 4, vector[2] = 5 de reținut că acesta când o sa fie mai mare ca 2, ce-i după acolada for-ului nu o să se mai citească: Când i = 0, Format = Format * 10 + vector[0]; ( 0 = 0 * 10 + 3 ) <=> ( 0 = 3 ) <=> (3=3) Când i = 1, Format = Format * 10 + vector[1]; ( 3 = 3 * 10 + 4) <=> ( 3 = 30 + 4) <=> ( 3 = 34 ) <=> ( 34 = 34) Când i = 2, Format = Format * 10 + vector[2]; (34 = 34 * 10 + 5) <=> ( 34 = 340 + 5) <=> (345 = 345) Deci acum că știți la ce fac referire când vorbesc de a formata un număr, algoritmul pentru a convertii un număr din baza B în baza 10, trebuie să arate în felul următor: int Numar, Baza; std::cin >> Numar >> Baza; int Rest, Format = 0, P = 1; while (Numar != 0) { Rest = Numar % 10; Numar /= 10; Format = Format + Rest * P; P *= Baza; } std::cout << Format; Doar că, dacă vă uitați atent, am inversat formula de calcul, înmulțind restul cu 10, în cazul nostru baza P și adunând rezultatul de dinainte. Hai s-o luam puțin logic. O să convertim numărul 34 din bază 5 în bază 10. Avem numărul 34 în baza 5 și vrem să-l convertim în baza 10. Format = 0, P = 1 Rest = 34 % 10 = 4(10 fiind baza în care vrem să ajungem) Numar /= 10 (10 fiind baza în care vrem să ajungem) Format = 0 + 4 * 1 = 4 P *= 5 (5 fiind baza curentă a numărului nostru) Avem P = 5, Format = 4 Rest = 3 % 10 = 3 Numar /= 10 Format = 4 + 3 * 5 = 4 + 15 = 19 Deci 34 în bază 10 din bază 5 este 19. 2) Convertirea unui număr din baza 10 într-o bază oarecare: Aflăm restul împărțirii numărului cu baza la care vrem să ajungem Impărțim numărul cu baza la care vrem să ajungem Formatăm numărul Înmulțim P cu baza la care numărul nostru inițial se afla while (Numar != 0) { Rest = Numar % Baza; Numar /= Baza; Format = Format + Rest * P; P *= 10; } Să luam ca exemplu tot pe 34, convertindu-l din bază 10 în baza binară. Fie numărul 1000 în bază 2. Acesta ocupă 4 biți. Începând de la dreapta către stânga, avem 2^0, 2^1, 2^2 samd, însă doar pentru cifrele nenule. (Poziția cifrei, însumându-se de la 0, de la dreapta către stânga) Deci cum în numarul 1000 este doar o cifră nenula, avem 2^3 care este egal cu 8. Numărul 1111 este egal cu: 2^0 + 2^1 + ... + 2^3 = 15 Numărul 1101 este egal cu: 2^0 + 2^2 + 2^3 = 13 Deci acum că știm cele 2 funcții de mai sus, mai rămâne să convertim un număr dintr-o bază oarecare în alta: #include <iostream> int main() { int Baza_1, Baza_2, Rest; long long int Numar, Format = 0, P = 1, aux = 0; std::cin >> Numar >> Baza_1 >> Baza_2; // Trebuie sa convertim numarul din baza B in baza 10 while (Numar != 0) { Rest = Numar % 10; Numar /= 10; Format = Format + Rest * P; P *= Baza_1; } // Convertim din baza 10 in Baza_2 P = 1; while (Format != 0) { Rest = Format % Baza_2; Format /= Baza_2; aux = aux + Rest * P; P *= 10; } std::cout << aux; return 0; } Aceasta fiind funcția de bază pentru schimbarea bazei. În vazul în care avem să convertim un număr dintr-o bază mare într-una mică (cea binară de exemplu), programul o să dea fail deoarece numărul de cifre o să depășească range-ul „long long int”. Ce avem de făcut este să populăm un vector cu fiecare număr obținut. #include <iostream> int main() { int Baza_1, Baza_2, Rest; long long int Numar, Format = 0, P = 1, aux = 0; int Vector[100]; std::cin >> Numar >> Baza_1 >> Baza_2; // Trebuie sa convertim numarul din baza B in baza 10 while (Numar != 0) { Ultima_Cifra = Numar % 10; Numar /= 10; Format = Format + Ultima_Cifra * P; P *= Baza_1; } // Convertim din baza 10 in Baza_2 while (Format != 0) { Ultima_Cifra = Format % Baza_2; Format /= Baza_2; Vector[K++] = Ultima_Cifra; } for (int i=K-1; i>=0; i--) std::cout << Vector[i]; return 0; }
  12. shanker'

    Dacă ești sigur că doar când bagi modul despre care tu vorbești se întâmplă asta, probabil el trimite într-una pachete către server. Deci, modul e de vină. Nu înțeleg cum prietenului tău îi merge. Probabil aveți moduri diferite
  13. popa ajunge-n iad btw!

×

Important Information

We have placed cookies on your device to help make this website better. You can adjust your cookie settings, otherwise we'll assume you're okay to continue.