Enuntul problemei ar fi urmatorul:
Scrieti in limbajul de programare studiat (Pascal sau C/C++) un program care sa rezolve urmatorul eveniment:
Intr o urna sunt n bile numerotate cu cifre de la 1 la n . Numarul n se cititeste de la tastatura(intrarea standard).Se v -a efectua n-1 extrageri de bile fara revenire( bilele extrase nu se mai pun inapoi in urna). Sa se afle ce numar are bila care a ramas in urna.
Ex. n=7
Se extrag bilele cu numarul : 1,7,4,6,3,2
Bila ramasa in urna este: 5
O posibila rezolvare :
Sa ne imaginam ca urana poate fi un fisier „urna.in” . Bilele extrase le punem in fisierul „urna.out”.Aceste fisiere trebuie sa se afle in directorul radacina la Editorului(compilatorului).
#include < fstream.h >
#include < conio.h>
#include < math.h >
int v[20],nr,n;
void creare()
{
ofstream f(„urna.in”);
int k=1,i;
cout<>n;
cout<<endl;
cout<<„Introdu bilele in urna: „;
while(k>nr;
f<<nr<<” „;
v[k]=nr;
k++;
}
f.close();
ifstream g(„urna.in”);
cout<<„Numerotarea bilelor din urna: „;
for(i=1;i>nr;
cout<<nr<<” „;
}
cout<<endl;
g.close();
}
void extragere()
{
int b,k=1,i;
ofstream h(„urna.out”);
cout<<„Extragem „<<(n-1)<<” bile din urna: „;
while(k>b;
if(b0)
{
h<<b<<” „; k++;
}
else{
cout<<„Nu exista in urma bila numerotata cu acest numar!!Extrage alta bila!”;
cout<<endl;
}
}
h.close();
ifstream d(„urna.out”);
cout<<„Bilele extrase din urna sunt: „;
for(i=1;i>b;
if(v[b])
{
v[b]=v[b]-b;
}
cout<<b<<” „;}
cout<<endl;
d.close();
}
void bilaomisa ()
{
ifstream d(„urna.out”);
int i;
for(i=1;i<=n;i++) {
if(v[i])
cout<<„bila omisa este „<<v[i];
}
cout<<endl; d.close();
}
void main()
{
ifstream f(„date.in”);
clrscr();
creare();
extragere();
bilaomisa();
getch();
}