1. Напишете функции getRow :: Int -> [a] -> a и getColumn :: Int -> [[a]] -> [a], които връщат i-тия ред/колона на матрица
  2. Напишете функции deleteRow :: Int -> [a] -> [a] и deleteColumn :: Int -> [[a]] -> [[a]], които изтриват i-тия ред/колона на матрица
  3. Напишете функции insertRow :: Int -> a -> [a] -> [a] и insertColumn :: Int -> [a] -> [[a]] -> [[a]], които вмъкват на i-та позиция ред/колона м матрица
  4. Напишете функция diag :: [[a]] -> [a], която намира главния диагонал на матрица

Оценка на студент по даден предмет се задава с наредена тройка (факултетен номер, име на предмет, оценка). Дадени са типовете
type Grade = (Int, String, Double)
type DB = [Grade]

Да се напишат функции

  1. averageGrade :: DB -> Double, която намира средната от всички оценки
  2. listStudents :: DB -> [Int], която намира списък от всички студенти с оценки
  3. averageStudentGrade :: DB -> Int -> Double, която намира средната оценка на даден студент
  4. listFailed :: DB -> String -> [Int], която намира списък с всички студенти, скъсани по даден предмет
  5. bestStudent :: DB -> Int, която намира студента с най-добър среден успех от всички предмети
  6. worstSubject :: DB -> String, която намира предмета, по който средния успех е най-нисък
Последно модифициране: понеделник, 16 януари 2012, 23:59