Pagini recente » Cod sursa (job #398811) | Cod sursa (job #1857204) | Cod sursa (job #1310764) | Cod sursa (job #1693461) | Cod sursa (job #341573)
Cod sursa(job #341573)
#include <iostream>
#include <fstream>
#include <string>
char a[10000];
long long n,i,j,nrsol;
using namespace std;
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;f.get();
i=0;
while (!f.eof())
f.get(a[i++]);
inter();
g<<nrsol;
return 0;
}