Informatică, întrebare adresată de Hamsterita8, 9 ani în urmă

Intr-un fisier se citesc mai multe numere. Sa se afiseze cifra care apare de k ori in numerele cu 3 cifre.

Răspunsuri la întrebare

Răspuns de Utilizator anonim
1
#include <iostream.h>
#include <fstream.h>
#include <math.h>
int main()
{
int n,k,i;
int pun[100];
ifstream in("DATEIN.TXT");
i=1;
do
{
in >> pun[i];
 i=i+1;
   } while (i<100);
in.close();
i=1;
k=-1;
do
{
if (pun[i]==3)
{
k=k+1;
i=i+1;
  }
else
{
 i=i+1;
   }
}while (i<100);
cout<<"Cifra 3 apare de  "<<k<<" ori"<<endl;
system("pause");
return 0;
}

Mïhaibalaceanu: Rk25 mi s a sters intrebarea aceea vezi ca am mai pus una raspunde-mi te rog la aceea cum se face!!!
Răspuns de stassahul
1
function f(a:integer):integer;

 begin
 
 f:=0;
 
 while a<>0 do 
  begin
  a:=a div 10;
  f+=1;
  end;
 
 end;

var
 
 a:array of integer;
 b:array[1..3] of integer;
 i,n,k,n1,a1,l,s:integer;
 t:text;
 
begin

 assign(t,'fisier.in');
 reset(t);
 
 readln(t,n);
 setlength(a,n);
 
 for i:=0 to n-1 do
  read(t,a[i]);
  
 close(t);
 
 write('k=');
 read(k);
 writeln;
 
 for i:=0 to n-1 do  
  if f(a[i])=3 then 
   begin
   a1:=a[i];
   s:=0;
   n1:=0;
   while a1<>0 do 
    begin
    inc(n1);
    b[n1]:=a1 mod 10;
    a1:=a1 div 10;
    end;
   for n1:=1 to 3 do 
    for l:=1 to 3 do
     if (b[n1]=b[l]) and (l<>n1) then
      inc(s);
   if (s=k) or (s div 2=k) then write(a[i],' ');
   end;

end.
Alte întrebări interesante