Cod sursa(job #341575)

Utilizator miculprogramatorA Cosmina - vechi miculprogramator Data 18 august 2009 21:09:48
Problema Litere Scor 40
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.82 kb
#include <iostream.h>
#include <fstream.h>
#include <string.h>
char a[100000];
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;
    f.get();
    i=0;
    while (!f.eof())
          f.get(a[i++]);
    inter();
    g<<nrsol;
    return 0;
}