Jump to content

SUBIECTE NOI
« 1 / 5 »
RSS
Plasa de umbrire peste gard de pl...

O smecherie pe care nu o inteleg

Balcon parter fara acte

unde gasesc un speed bag in bucur...
 Programe TV cu altfel de sporturi

Laptop "bun la toate" max...

navigatie noua vw tiguan

ctfmon.exe - System Error (in Saf...
 Ați prins vremurile cand 120 Volț...

Whatsapp nu afișeaza numele ...

Medii admitere Politehnica Bucure...

Se extinde Baza de la Kogalniceanu
 Politist mutilat de caine in curt...

Trotineta- cat rezista?

Windows 11 si inregistrare de pe ...

Cont Facebook spart
 

[Tema]Oglinditul unui numar in baza 2

- - - - -
  • Please log in to reply
13 replies to this topic

#1
skywallkee

skywallkee

    Junior Member

  • Grup: Members
  • Posts: 29
  • Înscris: 20.08.2014
Buna seara, m-am "impiedicat" de o problema in care trebuie sa fac oglinditul unui numar in baza 2. Din ce am invatat eu ( oglindit = oglindit * 10 + numar % 10 ) nu pot scoate oglinditul unui numar in baza 2, deoarece daca dau de un numar care incepe cu 0, ca 010, atunci el imi afiseaza 1. Cum as putea sa fac oglinditul in alt mod, folosind doar structura repetitiva while si operatiile simple, invatate la inceputul c++.
Multumesc.

#2
Kain_12

Kain_12

    Senior Member

  • Grup: Senior Members
  • Posts: 2,009
  • Înscris: 25.11.2009
Il transformi in sir de caractere si il pui invers?

#3
skywallkee

skywallkee

    Junior Member

  • Grup: Members
  • Posts: 29
  • Înscris: 20.08.2014
Daca ai putea sa imi spui cum pot inversa un sir de caractere, nu am invatat inca asa ceva..Posted Image Multumesc.

Edited by skywallkee, 23 October 2014 - 21:48.


#4
AlinCosmin

AlinCosmin

    Member

  • Grup: Members
  • Posts: 257
  • Înscris: 28.04.2013
oglindit = sirul de cifre in ordine inversa
oglindit(010) = 010 = 2
Ti-a dat 1, pentru ca 010 nu e in baza 10, ca sa-l pui direct intr-un int.

 skywallkee, on 23 octombrie 2014 - 21:45, said:

Daca ai putea sa imi spui cum pot inversa un sir de caractere, nu am invatat inca asa ceva.. Multumesc.
Ei cum..cu ajutorul catorva linii de cod.

Incearca sa fii mai atent la orele de informatica (sau arunca un ochi pe manual, daca profesorul nu-ti convine)

Sigur s-a predat ceva.... daca vi s-a dat exercitiul cu oglinditul, ar trebui sa stiti sa inversati un sir de caractere.

Edited by AlinCosmin, 23 October 2014 - 21:50.


#5
sftpdt

sftpdt

    Senior Member

  • Grup: Senior Members
  • Posts: 3,640
  • Înscris: 29.08.2013
Tablou de numere?

#6
skywallkee

skywallkee

    Junior Member

  • Grup: Members
  • Posts: 29
  • Înscris: 20.08.2014
Noi am facut doar oglinditul unui sir de numere, nu am facut pana acum oglinditul unui sir de numere in baza k. Algoritmul fiind:

cat timp x != 0 executa
cifra = x % 10
x = x / 10
oglindit = oglindit * 10 + cifra

Alt ceva despre oglindit nu stim..

#7
MarianG

MarianG

    be that as it may

  • Grup: Moderators
  • Posts: 31,360
  • Înscris: 10.08.2005

 skywallkee, on 23 octombrie 2014 - 21:37, said:

Buna seara, m-am "impiedicat" de o problema in care trebuie sa fac oglinditul unui numar in baza 2. Din ce am invatat eu ( oglindit = oglindit * 10 + numar % 10 ) nu pot scoate oglinditul unui numar in baza 2, deoarece daca dau de un numar care incepe cu 0, ca 010, atunci el imi afiseaza 1. Cum as putea sa fac oglinditul in alt mod, folosind doar structura repetitiva while si operatiile simple, invatate la inceputul c++.
Multumesc.
vezi ca intrebau unii de numere palindrome, - poate gasesti legatura

 skywallkee, on 23 octombrie 2014 - 21:54, said:

Noi am facut doar oglinditul unui sir de numere, nu am facut pana acum oglinditul unui sir de numere in baza k. Algoritmul fiind:

cat timp x != 0 executa
cifra = x % 10
x = x / 10
oglindit = oglindit * 10 + cifra

Alt ceva despre oglindit nu stim..
comparat cu ce a spus Kain_12 - in practica este ineficient si greu de inteles, unde mai pui ca e C  nu C++

p.s. numerele sunt sir de caractere pana in momenul in care lucrezi cu valoarea pe care o reprezinta

Edited by MarianG, 23 October 2014 - 22:05.


#8
skywallkee

skywallkee

    Junior Member

  • Grup: Members
  • Posts: 29
  • Înscris: 20.08.2014
M-am uitat prin topicele mai vechi, nu am vazut sa se vorbeasca despre oglinditul unui numar in baza 2... La mine problema este ca atunci cand incepe un numar cu "0" nu, se opreste while si imi da incomplet..

#9
ady_95

ady_95

    Active Member

  • Grup: Members
  • Posts: 1,474
  • Înscris: 23.12.2009
Citești ăla într-un șir de caractere și faci interschimbare de la extremități la centru... Asta doar dacă vrei să ai și ăla salvat în memorie... Dacă trebuie doar afișat, îl citești în șir de caractere și-l afișezi de la coadă la cap cu un for, caracter cu caracter...

#10
dexterash

dexterash

    --something---

  • Grup: Senior Members
  • Posts: 22,912
  • Înscris: 19.08.2004

 skywallkee, on 23 octombrie 2014 - 21:54, said:

cat timp x != 0 executa
cifra = x % 10
x = x / 10
oglindit = oglindit * 10 + cifra
Eu vad acolo o constanta...ce o fi?

#11
adrian93

adrian93

    Active Member

  • Grup: Members
  • Posts: 1,740
  • Înscris: 29.10.2009
Să văd dacă am înțeles bine: dacă ai ca dată de intrare pe 11, care se reprezintă în baza 2 drept 1011, tu drept ieșire ai nevoie de un șirul de caractere: ”1101”?
Dacă așa stau lucrurile, problema ar merge frumos cu operatorii pe biți &, |, <<, >>, pe care probabil i-ați învățat.

Edited by adrian93, 23 October 2014 - 22:28.


#12
skywallkee

skywallkee

    Junior Member

  • Grup: Members
  • Posts: 29
  • Înscris: 20.08.2014
Da @adrian93, asta trebuie sa fac.

#13
OriginalCopy

OriginalCopy

    I'm harmful, fear me please! :))

  • Grup: Senior Members
  • Posts: 27,268
  • Înscris: 10.08.2006
Ceea ce vrei sa afli este pozitia primului 1 in reprezentarea binara, ca sa stii care e limita in bucla for pe care o vei face (for, nu while, ai numarul de pasi predeterminati).

Te las pe tine sa rationalizezi folosind log2.

#14
MarianG

MarianG

    be that as it may

  • Grup: Moderators
  • Posts: 31,360
  • Înscris: 10.08.2005

 skywallkee, on 23 octombrie 2014 - 22:06, said:

M-am uitat prin topicele mai vechi, nu am vazut sa se vorbeasca despre oglinditul unui numar in baza 2... La mine problema este ca atunci cand incepe un numar cu "0" nu, se opreste while si imi da incomplet..

dar despre oglindit ai gasit ceva?

Anunturi

Neurochirurgie minim invazivă Neurochirurgie minim invazivă

"Primum non nocere" este ideea ce a deschis drumul medicinei spre minim invaziv.

Avansul tehnologic extraordinar din ultimele decenii a permis dezvoltarea tuturor domeniilor medicinei. Microscopul operator, neuronavigația, tehnicile anestezice avansate permit intervenții chirurgicale tot mai precise, tot mai sigure. Neurochirurgia minim invazivă, sau prin "gaura cheii", oferă pacienților posibilitatea de a se opera cu riscuri minime, fie ele neurologice, infecțioase, medicale sau estetice.

www.neurohope.ro

0 user(s) are reading this topic

0 members, 0 guests, 0 anonymous users

Forumul Softpedia foloseste "cookies" pentru a imbunatati experienta utilizatorilor Accept
Pentru detalii si optiuni legate de cookies si datele personale, consultati Politica de utilizare cookies si Politica de confidentialitate