Cod sursa(job #341299)

Utilizator miculprogramatorA Cosmina - vechi miculprogramator Data 17 august 2009 23:41:55
Problema Litere Scor 10
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.9 kb
#include <iostream.h>
#include <fstream.h>
#include <string.h>
//#include <conio.h>
char a[1000];
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;
}