Esempio n. 1
0
	void backTrack( const std::vector< std::set< int > > & p,
			        const std::string & s,
					const int i,
			        std::vector< std::string > & result )
	{
		const std::set< int > & si = p[ i ];
		for ( std::set< int >::const_iterator cit = si.begin(); cit != si.end(); ++cit )
		{
			if ( *cit == i )
			{
				result.push_back( s.substr( 0, i + 1 ) );
			}
			else
			{
				std::string second_part( s.substr( *cit + 1, i - *cit ) );
				std::vector< std::string > first_part_vec;
				backTrack( p, s, *cit, first_part_vec );
				for ( std::vector< std::string >::const_iterator cit2 = first_part_vec.begin();
					  cit2 != first_part_vec.end(); ++cit2 )
				{
					result.push_back( *cit2 + " " + second_part );
				}
			}
		}
	}
Esempio n. 2
0
File: index.c Progetto: NSSX/fdfgt
void draw_with_tab_on_img(char ***coord, int i, int maxline, t_struct *param)
{
  int index;
  int futurindex;

  futurindex = 0;
  index = 0;
  while(index + 1 < i)
    {
      if(index + 1 < i)
        {
          if(coord[index + 1][2][0] != '\n')
            first_part(coord, index, param);
          else
            futurindex++;
        }
      if(index + maxline + 1 < i)
        {
          if(coord[index + maxline + 1][2][0] != '\n')
            second_part(coord, index, maxline, param);
          else
            futurindex++;
        }
      index = new_index(index, futurindex);
      futurindex = new_futurindex(index, futurindex);
    }
}
Esempio n. 3
0
void		ft_get_greatest_modifier(char *fmt, int *i, T_LIST *trail)
{
	if (fmt[*i] == 'j' || trail->mod[0] == 'j')
	{
		free(trail->mod);
		trail->mod = ft_strdup("j");
	}
	else if (fmt[*i] == 'z' || trail->mod[0] == 'z')
	{
		free(trail->mod);
		trail->mod = ft_strdup("z");
	}
	else if (fmt[*i] == 'l' && fmt[*i + 1] == 'l')
	{
		(*i)++;
		free(trail->mod);
		trail->mod = ft_strdup("ll");
	}
	else
		second_part(fmt, i, trail);
}
Esempio n. 4
0
String Duration::make_string()const{
    String sign="";
    char buf[24];

    long d = day_part();
    long h = hour_part();
    long m = minute_part();
    long s = second_part();

    if(ss<0){
	sign = "-";
    }
    sprintf(
	buf,
	"%ldd %02ldh %02ldm %02lds",
	abs(d),
	abs(h),
	abs(m),
	abs(s)
    );
    return sign+buf;
}