Jump to content

SUBIECTE NOI
« 1 / 5 »
RSS
[email][nvidia] Your GeForce NOW ...

Site nesigur

Baghetele ornamentale intre foile...

O recomandare pentru o camera ful...
 Pareri magazin online quickmobile?

Unde gasesc banane albastre?

Despre compania de aministrare Sq...

Durere taietura deget dupa 2 luni
 Dalți gravare lemn

Didgeridoo

Motorola Edge 50 Ultra

Gaura perete apartament cu evitar...
 Orientare antena prime focus

Problema conectare mail yahoo

comisioane asociatie proprietari

Primul sistem de televiziune cu p...
 

problema c++

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

#1
maria17

maria17

    New Member

  • Grup: Members
  • Posts: 12
  • Înscris: 20.04.2014
Se da un numar n. Sa se verifice daca numarul obtinut prin eliminarea primei si ultimei cifre este palindrom.

Stiu cum sa demonstrez ca este palindrom si sa elimin ultima cifra, insa nu stiu cum pot elimina prima cifra...

#2
MarianG

MarianG

    be that as it may

  • Grup: Moderators
  • Posts: 31,419
  • Înscris: 10.08.2005
Stii sa scrii un numar ca suma de elemente in baza 10?

#3
sftpdt

sftpdt

    Senior Member

  • Grup: Senior Members
  • Posts: 3,663
  • Înscris: 29.08.2013

View Postmaria17, on 20 aprilie 2014 - 19:14, said:

nu stiu cum pot elimina prima cifra...

http://info.mcip.ro/...entari&prob=242
Ai acolo cum tai prima si ultima cifra.

Practic, ai numarul 12345 ; daca il inversezi vine 54321 , daca tai ultima cifra (/10) vine 5432, iar inversat din nou = 2345 (prima cifra este eliminata.)

Edited by sftpdt, 20 April 2014 - 19:49.


#4
MarianG

MarianG

    be that as it may

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

View Postsftpdt, on 20 aprilie 2014 - 19:36, said:

revin.

sper sa nu revii cu bucati de cod.

#5
alyprofu

alyprofu

    New Member

  • Grup: Members
  • Posts: 15
  • Înscris: 31.08.2012
Salut,am reusit sa iti fac eu o rezolvare pas cu pas.Aceasta rezolvare nu este optima dar este buna pentru ca sa intelegi fiecare pas ce face.Acum tu poti incerca sa faci o rezolvare optima a acestei probleme,adica sa mai elimini din variabilele in plus.sper ca te.am ajutat.Bafta.

PS: dai click pe poza si pe descarca ca sa vezi ce am scris la comentarii in program.

Attached Files


Edited by alyprofu, 20 April 2014 - 19:44.


#6
maria17

maria17

    New Member

  • Grup: Members
  • Posts: 12
  • Înscris: 20.04.2014

View PostMarianG, on 20 aprilie 2014 - 19:31, said:

Stii sa scrii un numar ca suma de elemente in baza 10?

Nu..

View Postalyprofu, on 20 aprilie 2014 - 19:42, said:

Salut,am reusit sa iti fac eu o rezolvare pas cu pas.Aceasta rezolvare nu este optima dar este buna pentru ca sa intelegi fiecare pas ce face.Acum tu poti incerca sa faci o rezolvare optima a acestei probleme,adica sa mai elimini din variabilele in plus.sper ca te.am ajutat.Bafta.

PS: dai click pe poza si pe descarca ca sa vezi ce am scris la comentarii in program.

Multumesc :)

#7
MarianG

MarianG

    be that as it may

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

View Postmaria17, on 20 aprilie 2014 - 19:51, said:

Nu..
Tu cum verifici daca un numar este palindrom?

View Postsftpdt, on 20 aprilie 2014 - 19:36, said:

Practic, ai numarul 12345 ; daca il inversezi vine 54321 , daca tai ultima cifra (/10) vine 5432, iar inversat din nou = 2345 (prima cifra este eliminata.)
Practic ametesti numerele si speri sa-ti iasa

Quote

numar=1234
r=432
numar=234
in cazul in care nu ai observat devine

Quote

numar=1234
r=4321
r=432
numar=234
ultima cifra dispare fix dupa citirea numarului

exponent = log10 (numar); // determinare exponent
modf(exponent,&exponent); // inlaturare mantisa exponent
modf(numar/pow(10,exponent),&cifra);
numar-=cifra * pow(10,exponent); // prima cifra
numar/=10; // ultima cifra
modf(numar,&numar); // inlaturare mantisa numar
printf("%2.f",numar);
practic poti foarte usor sa transpui cifrele intr-un apoi compari de unde vrei

Edited by MarianG, 20 April 2014 - 20:25.


#8
sftpdt

sftpdt

    Senior Member

  • Grup: Senior Members
  • Posts: 3,663
  • Înscris: 29.08.2013

View PostMarianG, on 20 aprilie 2014 - 20:01, said:

practic

ii faci varza'n creier.

Nu stie sa elimine prima cifra. Daca ii bagi pe gat modf / alte chestii rezolvi ceva?

E ca si cum un elev in clasa a opta trebuie sa afle aria subgraficului unei functii de gradul 1 intre 2 puncte (rezulta un trapez banal) si ii bagi in cap formula cu integrala.

Edited by sftpdt, 20 April 2014 - 20:08.


#9
alyprofu

alyprofu

    New Member

  • Grup: Members
  • Posts: 15
  • Înscris: 31.08.2012
cred ca eu i.am pus o rezolvare cat de cat ok si rezolvarea aceasta cred ca este si la nivelul userului,eu sunt elev in clasa a 10-a si in clasa a 8-a am invatat ca pentru a elimina prima cifra sa folosesc metoda de mai sus scrisa de mine.

#10
MarianG

MarianG

    be that as it may

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

View Postsftpdt, on 20 aprilie 2014 - 20:04, said:

Nu stie sa elimine prima cifra. Daca ii bagi pe gat modf / alte chestii rezolvi ceva?
Eu nu trebuie sa rezolv nimic.
El/Ea trebuie sa invete matematica.

De altfel tot n-am vazut cum stie el/ea sa determine daca un numar este palindrom.

#11
sftpdt

sftpdt

    Senior Member

  • Grup: Senior Members
  • Posts: 3,663
  • Înscris: 29.08.2013
Mai bine ii pui un cod usor de inteles, chit ca nu-i eficient, decat sa-i pui cine stie ce cod si sa nu-l inteleaga nimeni.

#12
MarianG

MarianG

    be that as it may

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

View Postsftpdt, on 20 aprilie 2014 - 20:20, said:

Mai bine ii pui un cod usor de inteles, chit ca nu-i eficient, decat sa-i pui cine stie ce cod si sa nu-l inteleaga nimeni.
Si ce invata daca ii pun doar adunari si scaderi?

#13
maria17

maria17

    New Member

  • Grup: Members
  • Posts: 12
  • Înscris: 20.04.2014
int n, inv=o, x;
cout<<"n=";cin>>n;
x=n;
while (x!=0)
{inv=inv*10+x%10;
x=x/10;
}
cout<<"inv="<<inv;
if(inv=x)
cout<<"este palindrom";

pt domnul MarianG

#14
sftpdt

sftpdt

    Senior Member

  • Grup: Senior Members
  • Posts: 3,663
  • Înscris: 29.08.2013

View PostMarianG, on 20 aprilie 2014 - 20:26, said:

View Postsftpdt, on 20 aprilie 2014 - 20:20, said:

Mai bine ii pui un cod usor de inteles, chit ca nu-i eficient, decat sa-i pui cine stie ce cod si sa nu-l inteleaga nimeni.
Si ce invata daca ii pun doar adunari si scaderi?

Daca asa se rezolva cel mai usor, ce vrei sa pui altceva? :P

Cum ziceam mai sus, unul elev de clasa a opta cum ii faci aria subgraficului unei functii de gradul 1? Faci frumos cu formula ariei (pt. trapez / triunghi) sau ii trantesti o integrala ca deh, ce mai invata?

Edited by sftpdt, 20 April 2014 - 20:39.


#15
alyprofu

alyprofu

    New Member

  • Grup: Members
  • Posts: 15
  • Înscris: 31.08.2012
nu inteleg de ce mai discutati aici avand in vedere ca i.am pus eu deja o rezolvare de clasa a 9-a sa spunem. MarianG nu poti sa ii arati o rezolvare ce foloseste ceva ce nu a a invatat la scoala(presupun ca este elev userul nostru).rezolvarea mea este cea mai buna pentru un elev.

#16
MarianG

MarianG

    be that as it may

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

View Postmaria17, on 20 aprilie 2014 - 20:27, said:

int n, inv=o, x;
cout<<"n=";cin>>n;
x=n;
while (x!=0)
{inv=inv*10+x%10;
x=x/10;
}
cout<<"inv="<<inv;
if(inv=x)
cout<<"este palindrom";

pt domnul MarianG

vezi ca ai erori de logica, asta se intampla cand lucrezi cu litere si nu cu etichete

View Postalyprofu, on 20 aprilie 2014 - 20:34, said:

nu inteleg de ce mai discutati aici avand in vedere ca i.am pus eu deja o rezolvare de clasa a 9-a sa spunem. MarianG nu poti sa ii arati o rezolvare ce foloseste ceva ce nu a a invatat la scoala
Presupun ca la scoala v-a invatat sa cititi documentatie.
Noi am folosit acelasi principiu matematic, si anume scaderea elementului cu cel mai mare exponent

Edited by MarianG, 20 April 2014 - 20:51.


#17
MarianG

MarianG

    be that as it may

  • Grup: Moderators
  • Posts: 31,419
  • Înscris: 10.08.2005
Daca tot o aredeti pe C++
#include <iostream>	 // std::cout
#include <algorithm>	// std::reverse
#include <vector>	   // std::vector
using namespace std;
bool compara (int i, int j) {
  return (i==j);
}
int main () {
  int numar=6556;
  vector<int> myvector, ndvector;
  // set some values:
  while( 0 != numar)
  {
	  myvector.push_back(numar%10);
	  ndvector.push_back(numar%10);
	  numar/=10;
  }
  reverse(myvector.begin(),myvector.end());
  if ( equal (myvector.begin(), myvector.end(), ndvector.begin(), compara) )
	cout << "este palindrom";
  else
	cout << "nu este palindrom";
  return 0;
}


#18
alyprofu

alyprofu

    New Member

  • Grup: Members
  • Posts: 15
  • Înscris: 31.08.2012

View PostMarianG, on 20 aprilie 2014 - 21:14, said:

Daca tot o aredeti pe C++
#include <iostream>	 // std::cout
#include <algorithm> // std::reverse
#include <vector>	 // std::vector
using namespace std;
bool compara (int i, int j) {
return (i==j);
}
int main () {
int numar=6556;
vector<int> myvector, ndvector;
// set some values:
while( 0 != numar)
{
	 myvector.push_back(numar%10);
	 ndvector.push_back(numar%10);
	 numar/=10;
}
reverse(myvector.begin(),myvector.end());
if ( equal (myvector.begin(), myvector.end(), ndvector.begin(), compara) )
cout << "este palindrom";
else
cout << "nu este palindrom";
return 0;
}

prietene scuze,dar pentru ca ti.ar trebui asemenea cunostinte pentru o problema asa de simpla?ce nu iti convine la rezolvarea mea?

Edited by alyprofu, 20 April 2014 - 21:23.


Anunturi

Chirurgia cranio-cerebrală minim invazivă Chirurgia cranio-cerebrală minim invazivă

Tehnicile minim invazive impun utilizarea unei tehnologii ultramoderne.

Endoscoapele operatorii de diverse tipuri, microscopul operator dedicat, neuronavigația, neuroelectrofiziologia, tehnicile avansate de anestezie, chirurgia cu pacientul treaz reprezintă armamentarium fără de care neurochirurgia prin "gaura cheii" nu ar fi posibilă. Folosind tehnicile de mai sus, tratăm un spectru larg de patologii cranio-cerebrale.

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