void print_result(float *tab, int max) { char **tmp; int degree; char *reduced_form; reduced_form = get_reduced_form(tab, max); ft_putstr("\033[4mReduced form:\033[0;0m"); ft_putendl(ft_strjoin(" ", ft_strjoin(reduced_form, " = 0"))); tmp = split_str(reduced_form); degree = get_degree(tmp); ft_putendl(ft_strjoin("Polynomial degree: ", ft_itoa(degree))); if (!ft_strcmp(reduced_form, "0")) ft_putendl("\033[32mAll real numbers are solution."); else if (!check_all_tab(tab, max)) { ft_putendl("\033[31mThere is no solution."); return ; } else if (degree > 2) print_error(3); else if (degree == 0 || degree == 1) print_result3(tab, degree); else if (degree >= 2) print_result4(tab); do_mlx(tab); }
int main() { node_t * root = bitree::read<char>(bitree::CHILD_SIBLING_FORMAT); bitree::print(root, bitree::CHILD_SIBLING_FORMAT); int d = get_degree(root); std::cout << d << '\n'; bitree::free(root); return 0; }
void Polynomial::operator-=(const Polynomial& p) { unsigned dp = p.get_degree(); unsigned dthis = get_degree(); auto p_coeffs = p.get_coeffs(); if(dthis<dp) coefficients.resize(p.get_degree()+1, 0.0f); std::transform(coefficients.cbegin(), coefficients.cbegin()+dp+1, p_coeffs.cbegin(), coefficients.begin(), std::minus<float>()); }
void Polynomial::remove_zeros() { std::size_t idx = get_degree(); while(coefficients[idx]==0 && idx!=0) { coefficients.pop_back(); --idx; } }
void input_coef( ) { int i,value; if ( get_degree( ) == -1 ) return ; else printf("Please enter the coefficients: "); for( i = degree; i >= 0; i-- ) { scanf("%d",&value); set_coef(i, value); } }
void main( ) { init_polynomial( ); while(1){ input_degree( ); if(get_degree( ) <= -1) break; input_coef( ); print_polynomial( ); print_derivative( ); clear_polynomial( ); } }
void reach_client::print_stats() const { vector<int> stats; for (auto it = pgraph_->v_begin(); it != pgraph_->v_end(); ++it) { size_t degree = it->get_degree(); if (degree >= stats.size()) stats.resize(degree + 1, 0); ++stats[degree]; } cout << "Degree stats: " << endl; for (size_t i = 0; i < stats.size(); ++i) if (stats[i] != 0) cout << i << ": " << stats[i] << endl; }
void count_vertices_and_edges(int** num_vertices, int** num_edges) { int v, c; int* nv = new_int_array(num_components); int* ne = new_int_array(num_components); for (v = 0; v < total_vertices; v++) { nv[components[v]] += 1; ne[components[v]] += get_degree(graph, v); } for (c = 0; c < num_components; c++) ne[c] /= 2; *num_vertices = nv; *num_edges = ne; }
void print_polynomial( ) { int i; if ( get_degree( ) == -1 ) { return ; } if ( get_degree( ) == 0 ) { printf("The polynomial is %d\n",get_coef(get_degree())); return ; } if ( get_coef(get_degree()) == -1) printf("The polynomial is -x^%d",get_degree()); else if( get_coef(get_degree()) == 1) printf("The polynomial is x^%d",get_degree()); else printf("The polynomial is %d x^%d",get_coef(get_degree()),get_degree()); for (i = get_degree() - 1; i > 1; i--) { if ( get_coef(i) > 0){ printf(" + "); if( get_coef(i) == 1) printf("x^%d",i); else printf("%d x^%d",get_coef(i),i); }else if ( get_coef(i) < 0){ printf(" - "); if( get_coef(i) == -1) printf("x^%d",i); else printf("%d x^%d",-get_coef(i),i); } } if( get_coef(i) > 0 ){ printf(" + "); if( get_coef(i) == 1) printf("x"); else printf("%d x",get_coef(i)); }else if ( get_coef(i) < 0){ printf(" - "); if( get_coef(i) == -1) printf("x"); else printf("%d x",-get_coef(i)); } i--; if ( get_coef(i) > 0){ printf(" + "); printf("%d",get_coef(i)); }else if ( get_coef(i) < 0){ printf(" - "); printf("%d",-get_coef(i)); } printf("\n"); }
void print_derivative( ) { int i; if ( get_degree( ) == -1 ) { return ; } if ( get_degree( ) == 0 ) { printf("The derivative is %d\n",0); return ; } if ( get_degree( ) == 1 ) { printf("The derivative is %d\n",get_coef(get_degree())*get_degree()); return ; } if((get_degree()-1) == 1){ if ( get_coef(get_degree()) == -1) printf("The derivative is -%dx",get_degree()); else if ( get_coef(get_degree()) == 1) printf("The derivative is %dx",get_degree()); else printf("The derivative is %d x",get_coef(get_degree())*get_degree()); }else{ if ( get_coef(get_degree()) == -1) printf("The derivative is -%dx^%d",get_degree(),get_degree()-1); else if ( get_coef(get_degree()) == 1) printf("The derivative is %dx^%d",get_degree(),get_degree()-1); else printf("The derivative is %d x^%d",get_coef(get_degree())*get_degree(),get_degree()-1); } for (i = get_degree() - 1; i > 2; i--) { if ( get_coef(i) > 0){ printf(" + "); if( get_coef(i) == 1) printf("x^%d",i); else printf("%d x^%d",get_coef(i)*i,i - 1); }else if ( get_coef(i) < 0){ printf(" - "); if( get_coef(i) == -1) printf("x^%d",i); else printf("%d x^%d",-get_coef(i)*i,i -1); } } if(i == 2){ if ( get_coef(i) > 0){ printf(" + "); if( get_coef(i) == 1) printf("x"); else printf("%d x",get_coef(i)*i); }else if ( get_coef(i) < 0){ printf(" - "); if( get_coef(i) == -1) printf("x"); else printf("%d x",-get_coef(i)*i); } i--; } if ( get_coef(i) > 0){ printf(" + "); printf("%d",get_coef(i)); }else if ( get_coef(i) < 0){ printf(" - "); printf("%d",-get_coef(i)); } printf("\n"); }