Advertisement
Guest User

Inlämning 2

a guest
Nov 23rd, 2014
163
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
  1. <#
  2.  
  3. Inlämningsuppgift 2
  4. Av: Sebastian Airisniemi (S141827) och Hampus Lagerlund (S141946)
  5.  
  6. #>
  7.  
  8. <#Funktion för att skapa en array, dit man skickar antal önskade element och önskat värde (default-värde är 10).#>
  9. Function Create_Array ($number, $defaultValue=10) {
  10.     #Kontrollerar att antalet element är ett positivt heltal och inte bokstäver. Är den det skapar den arrayen.
  11.     if ($number -is [int]-and $number -gt 0){
  12.         $MyArray = ,$defaultValue * $number;
  13.         Write-Host "Din array med $number element och grundvärdet $defaultValue är skapad!";
  14.         return $MyArray;
  15.     }
  16.     #Är önskat antal element inte ett positivt heltal/bokstäver får användaren ett felmeddelande.
  17.     else{
  18.         Write-Host "Antalet element i arrayen måste vara större än 0, bestå av heltal och får inte bestå av bokstäver!";
  19.     }
  20. }
  21.  
  22. <#Funktion för att lägga till element i arrayen där default är sist i arrayen.#>
  23. Function Add_Element_To_Array ($ArrayToAddTo, $value, $index = ($ArrayToAddTo.count)){
  24.     #Kontrollerar så att index är giltigt, och om det innebär att elementet ska hamna mitt i arrayen eller i slutet.
  25.     if ($index -gt $ArrayToAddTo.count -or $index -lt 0){
  26.         $limit = $ArrayToAddTo.count;
  27.         write-host "Felaktigt index! Arrayen innehåller $limit element och index måste vara 0 <= index <= $limit.";
  28.     }
  29.     #Är indexet giltigt och inte default-värdet (alternativt om man valt index som innebär att elementet läggs till sist)
  30.     # så kommer elementet att läggas till i arrayen.
  31.     elseif($index -lt $ArrayToAddTo.count -and $index -ge 0){
  32.         $ArrayToAddTo += 1;
  33.         for($i = ($ArrayToAddTo.count-1); $i -gt $index; $i--){
  34.             $ArrayToAddTo[$i] = $ArrayToAddTo[($i-1)];
  35.         }
  36.         $ArrayToAddTo[$index] = $value;
  37.         write-host "Ditt element $value är tillagt på plats $index";
  38.     }
  39.     #Är indexet default-värdet eller om man matat in värde motsvarande default kommer elementet läggas till sist.
  40.     else{
  41.         $ArrayToAddTo += $value;
  42.         write-host "Ditt element är tillagt sist i arrayen!";
  43.     }
  44.     return $ArrayToAddTo;
  45. }
  46.  
  47. <#
  48. Funktion för att ta bort element i arrayen där default är att funktionen tar bort sista elementet.
  49. #>
  50. Function Delete_Element_From_Array ($ArrayToDeleteFrom, $index=($ArrayToDeleteFrom.count-1)){
  51.     #Kontrollerar så att index är giltigt och är det inte det så blir användaren meddelad om detta.
  52.     #Är indexet giltigt tas elementet på plats index bort.
  53.     if ($index -ge 0 -and $index -lt $ArrayToDeleteFrom.count){
  54.         $NewArray = ,2 * ($ArrayToDeleteFrom.count-1);
  55.         $j = 0
  56.         for($i = 0; $i -lt ($ArrayToDeleteFrom.count-1); $i++){
  57.             if ($i -ne $index){          
  58.                 $NewArray[$i] = $ArrayToDeleteFrom[$j];
  59.                 $j++;
  60.             }
  61.             else {
  62.                 $j++;
  63.                 $NewArray[$i] = $ArrayToDeleteFrom[$j];
  64.                 $j++;
  65.             }
  66.         }
  67.         write-host "Elementet på index $index har tagits bort!";
  68.         return $NewArray;
  69.     }
  70.     #Är index ogiltigt får användaren ett felmeddelande.
  71.     else{
  72.         $limit = $ArrayToDeleteFrom.count;
  73.         Write-host "Index finns inte! Ange ett index större än 0 och mindre än $limit.";
  74.         return $ArrayToDeleteFrom;
  75.     }
  76. }
  77.  
  78. <#
  79. Funktion för att ta bort alla element med samma värde.
  80. #>
  81. Function Delete_All_Similar_Elements ($ArrayToDeleteFrom, $value){
  82.    
  83.     <#Kontrollerar att arrayen innehåller värdet som användaren
  84.     önskar att ta bort och finns det tas alla element med det värdet bort.#>
  85.     if($ArrayToDeleteFrom -contains $value){
  86.         $ArrayToDeleteFrom = $ArrayToDeleteFrom -ne $value;
  87.         Write-Host "Alla element med värdet $value är borttagna!";
  88.     }
  89.     #Finns inte något element med värdet blir användaren informerad om detta.
  90.     else{
  91.         Write-Host "Arrayen innehåller inte valt värde $value, Har du skrivit rätt värde?";
  92.     }
  93.     return $ArrayToDeleteFrom;
  94. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement