Aún tienen broncas con la tarea 2, así que va una pista. Imaginen que no hubiera paréntesis anidados (nada más los de los extremos). ¿Cómo podrían programar esto? De hecho, ni siquiera necesitan el strlen porque se pueden guiar por el ) #include int promedio(char* p) { int suma = 0, calif = 0; ++p; // esquivo el ( que sé que viene while (*p != ')') { // suponiendo que NO hubiera paréntesis anidados, todo lo de aquí es un dígito // examinar el dígito, ajustar "suma" y "calif" y avanzar } ++p; // esquivo el ) por puro placer return suma / calif; } int main( ) { char cadena[200000 + 1]; std::cin >> cadena; char* ini = &cadena[0]; std::cout << promedio(ini); } Ahora, ¿qué pasa cuando sí vienen paréntesis anidados? - ¿Qué cambios conviene hacer dentro del ciclo while? - ¿Cómo aplico recursión y cómo conviene cambiar el parámetro de la función? (eso ya lo dije)