Pagini recente » Cod sursa (job #1748073) | Cod sursa (job #945911) | Cod sursa (job #894207) | Cod sursa (job #1458008) | Cod sursa (job #341300)
Cod sursa(job #341300)
#include <iostream.h>
#include <fstream.h>
#include <string.h>
//#include <conio.h>
char a[10000];
long long n,i,j,nrsol;
void inter()
{
int ok=0;
while(!ok)
{ // se repeta cat timp ok = 0
ok=1; // ok retine 1 daca vectorul este ordonat
for(int i=0;i<n-1;i++)
if(a[i]>a[i+1])
{
//daca s-au gasit doua caractere adiacente neordonate
//se interschimba valorile de pe pozitiile respective
//si se numara ca solutie
char tmp=a[i];
a[i]=a[i+1];
a[i+1]=tmp;
ok=0; // ok retine 0 - este posibil ca vectorul sa nu fie ordonat complet
nrsol++;
}
}
}
int main()
{
ifstream f("litere.in");
ofstream g("litere.out");
f>>n;
// cout<<"n="<<n<<endl;
i=0;
while (!f.eof())
{
f.get(a[i]);
i++;
}
inter();
g<<nrsol;
// getch();
return 0;
}