Informatică, întrebare adresată de gspinu678, 8 ani în urmă

Cerinţa
Să se scrie un program care citește un șir de n numere naturale şi determină numărul din șir care are prima cifră minimă. Dacă există mai multe numere cu prima cifră minimă, se va determina cel mai mare dintre acestea.
In PascalABC
Date de intrare
Programul citește de la tastatură numărul n, iar apoi n numere naturale.

Date de ieşire
Programul afișează pe ecran numărul cerut.

Restricţii şi precizări
1 ≤ n ≤ 10000
cele n numere citite vor fi mai mici decât 2.000.000.000
Va rog mult dau coroana si 40 puncte!!!!! Acest Program Sa Fie In PascalABC!!!!!


grigore2018: begin
write('Numar n (n>0): ');
var n := ReadInteger;
assert(n>0);
write('Dati 1 cifra: ');
var x :=ReadReal;
var max := x;
var min :=x;
for var i := 2 to n do
begin
write('Dati ',i,',numar: ');
x := ReadReal;
if max < x then
max := x;
if min>x then
min:=x;
end;
writeln('Maximum din cifrele introduse: ', max);
writeln('Minimum din valorile introduse: ',min);
end.
grigore2018: Pentru prima lui cifra folosesti
grigore2018: Var n,m,max,min:integer;
Begin
write('Numar n: ');readln(n);
max:=-10;min:=10;
While n<>0 do
Begin
m:=n mod 10;
if m>max then max:=m;
if m n:=n div 10;
End;
writeln('Maximum: ',max);
writeln('Minimum: ',min);
End.
grigore2018: Acum incearca singur sa te gandesti cum le-ai uni ca sa primesti cifra minima a unui numar : ))
boiustef: eu sincer nu prea inteleg logca... si de unde asa instructiuni
var n := ReadInteger;
assert(n>0);
???? e pascal ABCnet
grigore2018: Da,este folosi pentru a nu mai declara in var ce tip de variabila este dar o declari deoadata in program,aceste posibilitati au aparut nu demult in Pascal ABC.net
grigore2018: adica cum nu demult cam 4 ani in urma :))))
grigore2018: iar assert este ca o instructiune de verificare daca ( n >0 )
grigore2018: dearece cand o sa dau cate cifre am nevoie sa citasca nu poate sa existe un numar negativ iar assert intrerupe imediat executare pogramului
boiustef: mersi... da se vede ca nu am practicat net...

Răspunsuri la întrebare

Răspuns de boiustef
1

program PrimaCifMin;

var n, i, num, cif, cifmin, nummin, temp: integer;

begin

 write('n= '); read(n);

 write('introdu ',n,' numere naturale nenule:'); read(num);

  nummin:=num;

 while (num>0) do

   begin

     cif:=num mod 10;

     num:=num div 10;

   end;

 cifmin:=cif;

 for i:=2 to n do

   begin

     read(num);

     temp:=num;

     while (num>0) do

       begin

         cif:=num mod 10;

         num:=num div 10;

       end;

     if cif<cifmin then begin cifmin:=cif; nummin:=temp; end

     else begin

             if cifmin=cif then if nummin<temp then nummin:=temp;

          end;

   end;

   

   writeln('numarul cautat: ', nummin);

end.

Alte întrebări interesante