Răspuns :
#include <iostream.h>
#include <fstream.h>
int main(){
int n1,n2,n3,n4,n5;
int f1,f2,f3,f4,f5,k;
ifstream in("DATEIN.TXT");
in >> n1;
in >> n2;
in >> n3;
in >> n4;
in >> n5;
in >> f1;
in >> f2;
in >> f3;
in >> f4;
in >> f5;
cout << n1 << " " << n2 << " " << n3 <<" "<< n4 <<" "<< n5 <<" " << "\n";
cout << f1 << " " << f2 << " " << f3 <<" "<< f4 <<" "<< f5 <<" " << "\n";
in.close();
k=0;
if (f1!=n1)
{
k=k+1;
}
if (f2!=n2)
{
k=k+1;
}
if (f3!=n3)
{
k=k+1;
}
if (f4!=n4)
{
k=k+1;
}
if (f5!=n5)
{
k=k+1;
}
ofstream out("DATEOUT.TXT");
out<<k<< endl;
system("pause");
return 0;
}
#include <fstream.h>
int main(){
int n1,n2,n3,n4,n5;
int f1,f2,f3,f4,f5,k;
ifstream in("DATEIN.TXT");
in >> n1;
in >> n2;
in >> n3;
in >> n4;
in >> n5;
in >> f1;
in >> f2;
in >> f3;
in >> f4;
in >> f5;
cout << n1 << " " << n2 << " " << n3 <<" "<< n4 <<" "<< n5 <<" " << "\n";
cout << f1 << " " << f2 << " " << f3 <<" "<< f4 <<" "<< f5 <<" " << "\n";
in.close();
k=0;
if (f1!=n1)
{
k=k+1;
}
if (f2!=n2)
{
k=k+1;
}
if (f3!=n3)
{
k=k+1;
}
if (f4!=n4)
{
k=k+1;
}
if (f5!=n5)
{
k=k+1;
}
ofstream out("DATEOUT.TXT");
out<<k<< endl;
system("pause");
return 0;
}
C++
#include <iostream>
#include <fstream>
using namespace std;
struct elem{
int poz_init,poz_final;
}cutii[100];
int nr_mutari;
//pentru afisare daca este nevoie
void afisare(elem v[],int n);
int cauta_elem(elem v[],int n,int x){
int i;
for(i=0;i<=n;i++){
if(v[i].poz_init==x){
return i;
}
}
}
void det_mutari(elem v[],int n){
int i,index_zero,temp,index_elem,ok=1;
index_zero=cauta_elem(v,n,0);
if(v[index_zero].poz_final>0){
index_elem=cauta_elem(v,n,v[index_zero].poz_final);
temp=v[index_zero].poz_init;
v[index_zero].poz_init=v[index_elem].poz_init;
v[index_elem].poz_init=temp;
nr_mutari++;
ok=0;
}
else{
for(i=0;i<=n;i++){
if(v[i].poz_init!=v[i].poz_final){
temp=v[index_zero].poz_init;
v[index_zero].poz_init=v[i].poz_init;
v[i].poz_init=temp;
nr_mutari++;
ok=0;
break;
}
}
}
//afisare(v,n);
if(ok==0){
det_mutari(v,n);
}
}
void afisare(elem v[],int n){
int i;
for(i=0;i<=n;i++){
cout<<v[i].poz_init<<" ";
}
cout<<endl;
}
int main(){
int i,n;//,gol_potrivit=1,pozitii_init[100],pozitii_finale[100],nepotriviri=0;
ifstream fid("date.in");
ofstream fod("date.out");
fid>>n;
for(i=0;i<=n;i++){
fid>>cutii[i].poz_init;
}
for(i=0;i<=n;i++){
fid>>cutii[i].poz_final;
}
//afisare(cutii,n);
det_mutari(cutii,n);
fod<<nr_mutari;
return 0;
}
Pascal
program cauta_copii;
type elem=record
poz_init,poz_final:integer;
end;
var nr_mutari:integer;
type vec_elem=array[1..100] of elem;
procedure afisare(v:vec_elem;n:integer);
var i:integer;
begin
writeln('!!');
for i:=1 to n+1 do
write(v[i].poz_init,' ');
writeln;
end;
function cauta_elem(v:vec_elem;n,x:integer):integer;
var i:integer;
begin
for i:=1 to n+1 do
if v[i].poz_init=x then
cauta_elem:=i;
end;
procedure det_mutari(v:vec_elem;n:integer);
var i,index_zero,temp,index_elem,ok:integer;
begin
ok:=1;
index_zero:=cauta_elem(v,n,0);
if v[index_zero].poz_final>0 then
begin
index_elem:=cauta_elem(v,n,v[index_zero].poz_final);
temp:=v[index_zero].poz_init;
v[index_zero].poz_init:=v[index_elem].poz_init;
v[index_elem].poz_init:=temp;
inc(nr_mutari);
ok:=0;
end
else
for i:=1 to n+1 do
if v[i].poz_init<>v[i].poz_final then
begin
temp:=v[index_zero].poz_init;
v[index_zero].poz_init:=v[i].poz_init;
v[i].poz_init:=temp;
inc(nr_mutari);
ok:=0;
end;
//afisare(v,n);
if ok=0 then
det_mutari(v,n);
end;
var
fisierIntrare,fisierIesire:string;
tfIn,tfOut:Text;
i,n:integer;
cutii:vec_elem;
begin
fisierIntrare:='date.in';
fisierIesire:='date.out';
AssignFile(tfIn,fisierIntrare);
reset(tfIn);
read(tfIn,n);
for i:=1 to n+1 do
read(tfIn,cutii[i].poz_init);
for i:=1 to n+1 do
read(tfIn,cutii[i].poz_final);
//afisare(cutii,n);
nr_mutari:=0;
det_mutari(cutii,n);
AssignFile(tfOut,fisierIesire);
rewrite(tfOut);
writeln(tfOut,nr_mutari);
close(tfOut);
end.
#include <iostream>
#include <fstream>
using namespace std;
struct elem{
int poz_init,poz_final;
}cutii[100];
int nr_mutari;
//pentru afisare daca este nevoie
void afisare(elem v[],int n);
int cauta_elem(elem v[],int n,int x){
int i;
for(i=0;i<=n;i++){
if(v[i].poz_init==x){
return i;
}
}
}
void det_mutari(elem v[],int n){
int i,index_zero,temp,index_elem,ok=1;
index_zero=cauta_elem(v,n,0);
if(v[index_zero].poz_final>0){
index_elem=cauta_elem(v,n,v[index_zero].poz_final);
temp=v[index_zero].poz_init;
v[index_zero].poz_init=v[index_elem].poz_init;
v[index_elem].poz_init=temp;
nr_mutari++;
ok=0;
}
else{
for(i=0;i<=n;i++){
if(v[i].poz_init!=v[i].poz_final){
temp=v[index_zero].poz_init;
v[index_zero].poz_init=v[i].poz_init;
v[i].poz_init=temp;
nr_mutari++;
ok=0;
break;
}
}
}
//afisare(v,n);
if(ok==0){
det_mutari(v,n);
}
}
void afisare(elem v[],int n){
int i;
for(i=0;i<=n;i++){
cout<<v[i].poz_init<<" ";
}
cout<<endl;
}
int main(){
int i,n;//,gol_potrivit=1,pozitii_init[100],pozitii_finale[100],nepotriviri=0;
ifstream fid("date.in");
ofstream fod("date.out");
fid>>n;
for(i=0;i<=n;i++){
fid>>cutii[i].poz_init;
}
for(i=0;i<=n;i++){
fid>>cutii[i].poz_final;
}
//afisare(cutii,n);
det_mutari(cutii,n);
fod<<nr_mutari;
return 0;
}
Pascal
program cauta_copii;
type elem=record
poz_init,poz_final:integer;
end;
var nr_mutari:integer;
type vec_elem=array[1..100] of elem;
procedure afisare(v:vec_elem;n:integer);
var i:integer;
begin
writeln('!!');
for i:=1 to n+1 do
write(v[i].poz_init,' ');
writeln;
end;
function cauta_elem(v:vec_elem;n,x:integer):integer;
var i:integer;
begin
for i:=1 to n+1 do
if v[i].poz_init=x then
cauta_elem:=i;
end;
procedure det_mutari(v:vec_elem;n:integer);
var i,index_zero,temp,index_elem,ok:integer;
begin
ok:=1;
index_zero:=cauta_elem(v,n,0);
if v[index_zero].poz_final>0 then
begin
index_elem:=cauta_elem(v,n,v[index_zero].poz_final);
temp:=v[index_zero].poz_init;
v[index_zero].poz_init:=v[index_elem].poz_init;
v[index_elem].poz_init:=temp;
inc(nr_mutari);
ok:=0;
end
else
for i:=1 to n+1 do
if v[i].poz_init<>v[i].poz_final then
begin
temp:=v[index_zero].poz_init;
v[index_zero].poz_init:=v[i].poz_init;
v[i].poz_init:=temp;
inc(nr_mutari);
ok:=0;
end;
//afisare(v,n);
if ok=0 then
det_mutari(v,n);
end;
var
fisierIntrare,fisierIesire:string;
tfIn,tfOut:Text;
i,n:integer;
cutii:vec_elem;
begin
fisierIntrare:='date.in';
fisierIesire:='date.out';
AssignFile(tfIn,fisierIntrare);
reset(tfIn);
read(tfIn,n);
for i:=1 to n+1 do
read(tfIn,cutii[i].poz_init);
for i:=1 to n+1 do
read(tfIn,cutii[i].poz_final);
//afisare(cutii,n);
nr_mutari:=0;
det_mutari(cutii,n);
AssignFile(tfOut,fisierIesire);
rewrite(tfOut);
writeln(tfOut,nr_mutari);
close(tfOut);
end.
Vă mulțumim pentru vizita pe site-ul nostru dedicat Informatică. Sperăm că informațiile disponibile v-au fost utile și inspiraționale. Dacă aveți întrebări sau aveți nevoie de suport suplimentar, suntem aici pentru a vă ajuta. Ne face plăcere să vă revedem și vă invităm să adăugați site-ul nostru la favorite pentru acces rapid!