Scrieti un program care sa determine cel mai mare si cel mai mic numar care se pot obtine inserand cifra c in numarul n.
Răspunsuri la întrebare
Răspuns de
1
program nr3;
var v,a,b:array[1..1001] of byte;
c:byte;
i,j,n:integer;
ch:char;
f,g:text;
begin
assign(f,'nr3.in');
reset(f);
assign(g,'nr3.out');
rewrite(g);
i:=0;
while not eof(f) do begin
read(f,ch);
if (ord(ch)>=ord('0'))and(ord(ch)<=ord('9')) then begin
i:=i+1;
v[i]:=ord(ch)-ord('0'); end;
if (ch=' ') then begin read(f,ch);
c:=ord(ch)-ord('0');
end;
end;
n:=i;
if c=0 then begin for i:=1 to n do write(g,v[i]); write(g,c);writeln(g);
write(g,v[1]);write(g,c); for i:=2 to n do write(g,v[i]);end
else begin
if (v[1]<c) then begin write(g,c); for j:=1 to n do write(g,v[j]);
writeln(g);
i:=1;
while((v[i]<c)and(i<n)) do
i:=i+1;
if i=n then begin for j:=1 to n do write(g,v[j]); write(g,c) end
else begin
for j:=1 to i-1 do write(g,v[j]);
write(g,c);
for j:=i to n do write(g,v[j]);
end end
else begin
i:=1;
while ((v[i]>=c)and(i<n)) do
i:=i+1;
for j:=1 to i-1 do write(g,v[j]);
write(g,c);
for j:=i to n do write(g,v[j]);
writeln(g);
i:=1;
while((v[i]<=c)and(i<n)) do
i:=i+1;
for j:=1 to i-1 do write(g,v[j]);
write(g,c);
for j:=i to n do write(g,v[j]);
end;end;
close(f);
close(g);
end.
var v,a,b:array[1..1001] of byte;
c:byte;
i,j,n:integer;
ch:char;
f,g:text;
begin
assign(f,'nr3.in');
reset(f);
assign(g,'nr3.out');
rewrite(g);
i:=0;
while not eof(f) do begin
read(f,ch);
if (ord(ch)>=ord('0'))and(ord(ch)<=ord('9')) then begin
i:=i+1;
v[i]:=ord(ch)-ord('0'); end;
if (ch=' ') then begin read(f,ch);
c:=ord(ch)-ord('0');
end;
end;
n:=i;
if c=0 then begin for i:=1 to n do write(g,v[i]); write(g,c);writeln(g);
write(g,v[1]);write(g,c); for i:=2 to n do write(g,v[i]);end
else begin
if (v[1]<c) then begin write(g,c); for j:=1 to n do write(g,v[j]);
writeln(g);
i:=1;
while((v[i]<c)and(i<n)) do
i:=i+1;
if i=n then begin for j:=1 to n do write(g,v[j]); write(g,c) end
else begin
for j:=1 to i-1 do write(g,v[j]);
write(g,c);
for j:=i to n do write(g,v[j]);
end end
else begin
i:=1;
while ((v[i]>=c)and(i<n)) do
i:=i+1;
for j:=1 to i-1 do write(g,v[j]);
write(g,c);
for j:=i to n do write(g,v[j]);
writeln(g);
i:=1;
while((v[i]<=c)and(i<n)) do
i:=i+1;
for j:=1 to i-1 do write(g,v[j]);
write(g,c);
for j:=i to n do write(g,v[j]);
end;end;
close(f);
close(g);
end.
Alte întrebări interesante
Matematică,
8 ani în urmă
Matematică,
8 ani în urmă
Matematică,
8 ani în urmă
Matematică,
9 ani în urmă
Matematică,
9 ani în urmă
Limba română,
9 ani în urmă