#define K 10 int main() { double r[K], S, a, b, c, va = 10, vb = 11, vc = 12, val_abs_cb, val_abs_a; int i; puts("dame S para marcar en r[] raices no existentes"); scanf_s("%lf", &S); for (i = 0; i < K; i++) { // genera aleatoriamente tres valores a, b, c a = rand() % (2 * (int)va + 1) - va; b = rand() % (2 * (int)vb + 1) - vb; c = rand() % (2 * (int)vc + 1) - vc; // resolver ecuación c=ax+b x=(c-b)/a val_abs_a = a >= 0. ? a : -a; val_abs_cb = c - b >= 0. ? c - b : b - c; if (val_abs_cb > 1000000. * val_abs_a) { r[i] = S; // imprime en la ventana de ejecución tanto printf("ecuacion %g = %g*x+(%g) no tiene solucion\n", c, a, b); } else { r[i] = (c - b) / a; printf("ecuacion %g = %g*x+(%g) tiene solucion %g\n", c, a, b, r[i]); } } /*ordenamiento de r[]*/ bool desorden; do { desorden = false; //antes de entrar al siguiente ciclo, supongamos // que el arreglo ya es ordenado for (i = 0; i < K; i++) printf("%g ", r[i]); printf("\n"); for (i = 0; ir[i + 1]) { // si se detectó el hecho de datos desordenados… desorden=true; // es para comunicar al 'while' // que hay que seguir ordenando desorden = true; double aux = r[i]; r[i] = r[i + 1]; r[i + 1] = aux; } } } while (desorden/*repetir mientras hay desorden*/); return 0; }