Λιγο βοήθεια με τη C

Dimitris Mexis m65 at vivodinet.gr
Sun Jul 2 21:42:16 EEST 2006


On Sun, 02 Jul 2006 21:36:59 +0300, V13 wrote:

> On Thursday 01 June 2006 23:26, Dimitris Mexis wrote:
>> Exo ton parakato kodika, pistevo oti tha nai efkolo poli, se kapoion na to
>> trexi me ena gcc apla...
>> To provlima einai oti stelno loipon, mia matrix[] array stin sinartisi
>> selsort(), mou sortari tin array, pame kala, stelno meta tin matrix[]
>> array sto freq_array() kai pragmati petixeno na perno, poses times ehei
>> vrei...OMOS. Exo kolisi sto pos telika na paro mia struct(?), array(?),
>> list(? den xero kai STL ), me tis metavlites kai tin sixnotita apla pou
>> emfanizontai...diladi mia nea isos matrix, pou na leei oti telika to 1 to
>> de 1 , to 2 to vrike 3, klp klp, kai oxi 1,1,2,2,2,3,3,4 klp klp...
>> Prospatho na vgalo mia routina pou apla na mou epistrefi tin sixnotita
>> emfaniseis ton apotelesmaton tis matrix....(Me para poli apla logia)
> 
> Kati san ayto?
> 
> -----
> #include <iostream>
> #include <map>
> 
> using namespace std;
> 
> // We will need those:
> typedef map<double,int>	t_cnt;
> typedef t_cnt::iterator i_cnt;
> 
> t_cnt freq_array2(double *mtx, int elements)
> {
>  int n;
>  t_cnt ret;
>  i_cnt i;
> 
>  // For each element
>  for (n=0; n<elements; n++)
>  {
>   // If there is an existing entry
>   i=ret.find(mtx[n]);
>   if (i!=ret.end())
>    i->second++; // Increase the counter
> //   ret[mtx[n]]++; // Increase the counter
>   else
>    ret[mtx[n]]=1; // Else, set the counter to 1
>  }
> 
>  return(ret);
> }
> 
> int main()
> {
>  t_cnt cnt;
>  i_cnt i;
>  double matrix[10];
> 
>  for ( int i = 0; i < 10; i++ )
>  {
>   matrix[i] = 10 - i;
>   matrix[3] = 3; // ?
>   matrix[4] = 3; // ?
>   matrix[1] = 2; // ?
>   matrix[0] = 0; // ?
>   cout << matrix[i] << endl;
>  }
> 
>  cnt=freq_array2(matrix, 10);
> 
>  for (i=cnt.begin(); i!=cnt.end(); i++)
>   cout << i->first << ": " << i->second << endl;
> }
> 
> -----
> 
> Output:
> 
> 0
> 2
> 8
> 3
> 3
> 5
> 4
> 3
> 2
> 1
> 0: 1
> 1: 1
> 2: 2
> 3: 3
> 4: 1
> 5: 1
> 8: 1
> -----
> 
> <<V13>>

Parolo pou to lisame to thema, me poles perisoteres grammes kodika,
xeromai pou sinisfereis sto na mou deixeis, oti nai prepei na do STL!
Se efharisto.




More information about the Linux-greek-users mailing list