Salt la conținut

SUBIECTE NOI
« 1 / 5 »
RSS
Ruse vs Rusesti

Le mai putem da pe brazda? tipsuri

Recomandari gips carton tavane. (...

ce fel de activitate intretinere ...
 Se poate imbunatati o poza sa se ...

Folosește cineva syncthing? ...

Închidere fereastra dupa deschidere.

Kit AC contine brate Unitatea ext...
 smart switch fara neutru

Ierbicid pentru parul porcului.

Smecher de talie grea

PH apa plata
 Recomandare Mocheta -pe suport pa...

ram upgrade asus rog strix

Alegere memorie USB

Manere clasice mobila sau push to...
 

Numere romane in numere arabe (si invers)

- - - - -
  • Vă rugăm să vă autentificați pentru a răspunde
Niciun răspuns pentru acest subiect

#1
SROBogdan

SROBogdan

    New Member

  • Grup: Members
  • Mesaje: 13
  • Înscris: 26.06.2008
Salut,
Puteti sa imi spuneti si mie cam care ar fi problema cu acest program? Va atasez aici ce am lucrat (tin sa mentionez ca in liceu am studiat C/C++ si nu prea cunosc pascal)
Va multumesc!

program romane_arabe;
var
m:integer;
total:integer;
ok:integer;
aux:integer;
dim:integer;
arabnum:integer;
n:integer;
i:integer;
roman:string;
string_arab:string;
x: char;
V:array[1..10]of integer;
arab:array[1..4]of integer;
procedure cifra(x:integer);
begin
if x=1 then write('I')
else if x=2 then write('II')
else if x=3 then write('III')
else if x=4 then write('IV')
else if x=5 then write('V')
else if x=6 then write('VI')
else if x=7 then write('VII')
else if x=8 then write('VIII')
else if x=9 then write('IX')
else write('Numarul nu este valid');
end;
procedure zeci(x:integer);
begin
if x=1 then write('X')
else if x=2 then write('XX')
else if x=3 then write('XXX')
else if x=4 then write('XL')
else if x=5 then write('L')
else if x=6 then write('LX')
else if x=7 then write('LXX')
else if x=8 then write('LXXX')
else if x=9 then write('XC')
else write('Numarul nu este valid');
end;
procedure sute(x:integer);
begin
if x=1 then write('C')
else if x=2 then write('CC')
else if x=3 then write('CCC')
else if x=4 then write('CD')
else if x=5 then write('D')
else if x=6 then write('DC')
else if x=7 then write('DCC')
else if x=8 then write('DCCC')
else if x=9 then write('CM')
else write('Numarul nu este valid');
end;
procedure mie(x:integer);
begin
if x=1 then write('M')
else if x=2 then write('MM')
else if x=3 then write('MMM')
else if x=4 then write('MMMM')
else if x=5 then write('MMMMM')
else if x=6 then write('MMMMMM')
else if x=7 then write('MMMMMMM')
else if x=8 then write('MMMMMMMM')
else if x=9 then write('MMMMMMMMM')
else write('Numarul nu este valid');
end;

function RoAr(x: char): integer;
begin
case x of
'I':  RoAr:=1;
'V':  RoAr:=5;
'X':  RoAr:=10;
'L':  RoAr:=50;
'C':  RoAr:=100;
'D':  RoAr:=500;
'M':  RoAr:=1000;
end;

begin
for i:=0 to 10 do
begin
roman[i]:='A';
end;
for i:=0 to 10 do
begin
V[i]:=0;
end;
writeln('1 pentru cifre romane in arabe');
writeln('2 pentru cifre arabe in romane');
readln(n);
if n=1 then
begin
writeln('Introduceti lungimea numarului roman: '); readln(n);
writeln('Introduceti numarul roman: ');
for i:=0 to n do
begin
readln(roman[i]);
end;
for i:=0 to n do
begin
if (roman[i]>'A') and (roman[i]<'z') then
		  begin
			 for i:=0 to n do
			  begin
			   V[i]:=RoAr(roman[i]);
			  end;
			  total:=V[n-1];
	  for i:=n-1 downto 0 do
			   begin
		  if V[i]>V[i+1] then
					total:=total-V[i]
					  else
						 begin
						   total:=total+V[i];
						   write(total);
						   write(roman);
						 end;
			   end
		else
		begin
		  write('Sirul de caractere nu este valid, introduceti alt numar');
		  readln(roman);
		end;
end;   {am inchis for-ul}
end;   {am inchis ramura cu n=1}

else
if n=2 then
begin
writeln('introduceti numarul arab: ');
readln(arabnum);
aux:=arabnum;  {auxiliarul este folosit la calculul lungimii}
dim:=0;
while aux>0 do
begin dim:=dim+1; aux:=aux/10; end; {*!*!* conversie numar real in integer}
for i:=dim-1 downto 0 do
begin
arab[i]:=arabnum mod 10;  {ultima cifra din arabnum ?!}
arabnum:=arabnum/10;
end;
for i:=0 to n do
if (arab[i]>=0) and (arab[i]<=9) then ok:=1;
if ok=1 then
begin
if dim=4 then
begin
for i:=0 to dim do
  if i=0 then mie(arab[i]);
  else
  if i=1 then sute(arab[i]);
  else
  if i=2 then zeci(arab[i]);
  else do
  cifra(arab[i]);
end;

else
if dim=3 then
begin
for i:=0 to dim do
  if i=0 then sute(arab[i]);
  else
  if i=1 then zeci(arab[i]);
  else
  if i=2 then cifra(arab[i]);
end;
else
if dim=2
begin
for i:=0 to dim do
  if i=0 then zeci(arab[i]);
  else then cifra(arab[i]);
end;
else
if dim=1 then cifra(arab[i]);
end; {am inchis ramura cu ok=1}
else writeln('Introduceti valorea 1 sau 2');
end; {am inchis ramura cu n=2}
end. {am inchis programul}





Anunturi

Chirurgia spinală minim invazivă Chirurgia spinală minim invazivă

Chirurgia spinală minim invazivă oferă pacienților oportunitatea unui tratament eficient, permițându-le o recuperare ultra rapidă și nu în ultimul rând minimizând leziunile induse chirurgical.

Echipa noastră utilizează un spectru larg de tehnici minim invazive, din care enumerăm câteva: endoscopia cu variantele ei (transnazală, transtoracică, transmusculară, etc), microscopul operator, abordurile trans tubulare și nu în ultimul rând infiltrațiile la toate nivelurile coloanei vertebrale.

www.neurohope.ro

Utilizatori activi: 1

0 membri, 1 vizitatori, 0 utilizatori anonimi

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