Esta en java, es chotuno, no hay gestion de errores etc etc y deberia funcionar (aunque no lo he probado), traducelo a tu nomenclatura y si tienes dudas pregunta:
public static void Ejercicio1() {
//Introduccion
System.out.println("Introduzca notas: ");
//Instanciamos array de enteros con tamaño 30 para media
int[] array = new int[30];
//rellenamos la array
Scanner sc = new Scanner(System.in); //para leer
for (int i = 0; i < 30; i++) {
//Asignamos el valor a la posicion de la array
array[i] = sc.nextInt();
}
/* CALCULAMOS MEDIA */
int totalNotas = 0;
for (int i = 0; i < 30; i++) {
//Asignamos el valor a la posicion de la array
totalNotas += array[i];
}
double media = totalNotas / 30;
System.out.println("La media es: " + media);
/* NOTA VALIDA */
System.out.println("Introduzca una posición: ");
int posicion = sc.nextInt();
boolean isValid = array[posicion] >= 0 && array[posicion] <= 10;
System.out.println(isValid ? "Valida" : "No valida");
/* Posiciones pares e impares */
int parTotal = 0;
int imparTotal = 0;
for (int i = 0; i < 30; i++) {
if (i % 2 == 0) {
//Es par
parTotal += array[i];
} else {
imparTotal += array[i];
}
}
System.out.println("Media par:" + (double) parTotal / 15);
System.out.println("Media impar:" + (double) imparTotal / 15);
}
public static void Ejercicio2() {
//Introduccion
System.out.print("Introduzca tamaño a leer: ");
//Instanciamos array de enteros con tamaño 30 para media
Scanner sc = new Scanner(System.in);
int size = sc.nextInt();
int[] array = new int[size];
for (int i = 0; i < size; i++) {
System.out.print("Introduzca valores para posicion "+i+":");
//Asignamos el valor a la posicion de la array
array[i] = sc.nextInt();
}
/* pintamos asteriscos */
for (int i = 0; i < size; i++) {
int numDeAsteriscos = array[i];
String asteriscos = "";
for(int j = 0; j < numDeAsteriscos; j++){
asteriscos +="*";
}
System.out.println(asteriscos);
}
}