Písemka

Napište funkci, která dostane pole a hodnoty v něm přehází okolo středu.

Ukázkové řešení - Python

def prehazej(pole):
  delka = len(pole)
  for i in range(delka // 2):
    pole[i], pole[delka-i-1] = pole[delka-i-1], pole[i]

# Ukazkove pouziti:
pole = [1, 3, 2, 7, 4]
prehazej(pole)
print(pole)

Ukázkové řešení - C

#include <stdio.h>
void prehazej(int *pole, int delka){
  int i;
  for (i=0; i<delka/2; i++) {
    int a = pole[i];
    int b = pole[delka - i - 1];
    pole[i] = b;
    pole[delka - i - 1] = a;
  }
}

// Ukázkové použití (tohle už nebylo v zadání písemky)
int main(){
  int pole[] = {1, 3, 2, 7, 4}; // Statické pole
  int delka = 5; // Tohle musíme napsat ručně
  prehazej(pole, delka);
  // Vypíšeme obsah
  int i;
  for (i=0; i<delka; i++){
    printf("%i", pole[i]);
    if (i < delka-1)
      printf(", ");
    else
      printf("\n");
  }
  
  return 0;
}