Advertisement
Guest User

Untitled

a guest
Nov 24th, 2014
152
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 7.34 KB | None | 0 0
  1.  
  2.  
  3.  
  4. #Inlämingsuppgift 2
  5. #Anton Svensson S143002
  6. #Daniel Oldberg S141523
  7.  
  8. ###################################################################################
  9. ### Funktionen createarray skapar en array. ###
  10. ### Första parametern krävs och är antalet värden du vill ha i arrayn. -antal ###
  11. ### Andra parametern är värdet som du vill att alla index ska innehålla. -value ###
  12. ###################################################################################
  13.  
  14. function createArray ($antal,$value = 0) {
  15. if ([string]::IsNullOrEmpty($antal) -or ($antal -lt -0) -or !($antal -is [Int])){
  16. write-host "ange positivt heltal som antal"; ##Om man ej anger positivt heltal så ombeds man göra det
  17. return;
  18. }
  19.  
  20. $i = 0;
  21. $newArray = @();
  22. while ($i -lt $antal){ ##loopar $antal gånger och lägger $value i varje element
  23. $newArray += $value;
  24. $i++;
  25.  
  26. }
  27. return $newArray; ##returerar den nya arrayen
  28. }
  29.  
  30.  
  31.  
  32. ############################################################################################
  33. ### Funktionen addToArray lägger till ett värde i en array. ###
  34. ### Första parametern krävs och är arrayen som man vill lägga till värdet i -array ###
  35. ### Andra parametern krävs är värdet som du vill lägga till -value ###
  36. ### Tredje parametern är vilken index du vill lägga till värdet på, standard är i slutet ###
  37. ############################################################################################
  38.  
  39. function addToArray ($array, $value, $index) {
  40.  
  41.  
  42. if ([string]::IsNullOrEmpty($index) -or ($index -eq $array.count)){ ##Om man inte anger något index, eller anger det sista indexet, lägg till $value i slutet på $array
  43. $array += $value;
  44. return $array;
  45. }
  46.  
  47. elseif(($index -lt -0) -or !($index -is [Int])){
  48. Write-Host "Ange positivt heltal som index"; #Om användaren anger negativa tal eller annat än integer som index, meddela detta
  49.  
  50. }
  51. elseif($index -eq 0){
  52. $tempArray = @($value); ##om index 0 anges så lägger vi $value först och sedan resten av listan efter
  53. $tempArray += $array;
  54. return $tempArray;
  55. }
  56.  
  57. elseif(($index -ge 1) -and ($index -lt $array.count)) {
  58. $tempTopArray = @();
  59. $tempBotArray = @();
  60.  
  61.  
  62. for ($i = 0; $i -lt $index;$i++){ ##Om man anger index mitt i listan så delar vi upp befintlig lista vid angivet index i top och bot lista
  63. $tempTopArray += $array[$i];
  64. }
  65. for ($i = $index;$i -lt $array.count; $i++){
  66. $tempBotArray += $array[$i];
  67. }
  68. $tempSumArray += $tempTopArray; ##Sedan lägger vi in $value mellan top och bot
  69. $tempSumArray += $value;
  70. $tempSumArray += $tempBotArray;
  71.  
  72. return $tempSumArray;
  73. }
  74.  
  75. elseif($index -gt $array.count){
  76. $indexHigh = $array.count - 1;
  77. Write-Host "Högsta index är $indexhigh" ##annars finns inte index
  78. }
  79.  
  80.  
  81. }
  82.  
  83. ############################################################################################
  84. ### Funktionen removeFromArray tar bort ett element ur en array. ###
  85. ### Första parametern krävs och är arrayen som man vill ta bort ett element ur. -array ###
  86. ### Andra parametern är indexen som man vill ta bort. -index ###
  87. ############################################################################################
  88.  
  89. function removeFromArray ($array, $index = $array.count-1) {
  90. $tempArray = @();
  91. if(($index -lt -0) -or !($index -is [Int])){
  92. Write-Host "Ange positivt heltal som index"; #Om användaren anger negativa tal eller annat än integer som index, meddela detta
  93.  
  94. }
  95. elseif (($index -eq $array.count -1)){ ##Skapa en ny array som utesluter sista elementet om index ej anges eller sista index anges
  96. for ($i = 0; $i -lt $array.count-1;$i++){
  97. $tempArray += $array[$i];
  98.  
  99.  
  100.  
  101. }
  102. return $tempArray;
  103. }
  104. elseif($index -eq 0){
  105. for ($i = 0; $i -lt $array.count ;$i++){ ##Skapa en ny array som utesluter första elementet om index 0 anges
  106. $tempArray += $array[$i+1];
  107.  
  108. }
  109. return $tempArray;
  110.  
  111. }
  112. elseif(($index -gt 0) -and ($index -lt $array.count)) {
  113. $tempTopArray = @();
  114. $tempBotArray = @();
  115.  
  116. for ($i = 0; $i -lt $index;$i++){ ##Skapa en top array som innehåller element fram till index (dock inte index)
  117. $tempTopArray += $array[$i];
  118. }
  119. for ($i = $index+1 ;$i -le $array.count ; $i++){ ##Skapa en bot array som innehåller alla element efter index
  120. $tempBotArray += $array[$i];
  121. }
  122. $tempSumArray += $tempTopArray;
  123. #$tempSumArray += $value;
  124. $tempSumArray += $tempBotArray; ##Slå ihop top och bot arrayerna
  125.  
  126. return $tempSumArray;
  127. }
  128. else{
  129. $indexHigh = $array.count - 1;
  130. Write-Host "Högsta index är $indexhigh" ##annars finns inte index
  131. }
  132.  
  133. }
  134.  
  135.  
  136.  
  137. ##################################################################################################
  138. ### Funktionen removeElementbyValue tar bort ett element som innehåller ett specifierat värde. ###
  139. ### Första parametern krävs och är arrayen som man vill ta bort element från ###
  140. ### Andra parametern krävs är värdet som ska användas för att matcha mot element ###
  141. ##################################################################################################
  142.  
  143. function removeElementbyValue($array, $searchvalue){
  144. if([string]::IsNullOrEmpty($searchvalue) -or ([string]::IsNullOrEmpty($array))){ ## Om någon parameter ej är ifylld.
  145. Write-Host "Parametrar ej korrekt ifyllda";
  146. return $array ; ## Avsluta funktionen
  147. }
  148. $tempReplaceArray = @();
  149. for($i = 0; $i -lt $array.count; $i++){ ## För varje element i arrayen ska elementet matchas mot sökparametern $searchvalue
  150. if($array[$i] -eq $searchvalue){
  151. ## Om det finns en matchning görs ingenting och loopen fortsätter
  152. }
  153. else {
  154. $tempReplaceArray += $array[$i]; ## Om det inte finns en matchning så läggs elementet in sist i en separat array
  155. }
  156. }
  157. return $tempReplaceArray; ## Till slut så returneras den separata arrayen.
  158. }
  159.  
  160.  
  161. ##Exempel
  162.  
  163. #createArray 4 5 #skapar en array med 4 element där varje element har värdet 5
  164.  
  165. #$testArray = @(1..10)
  166.  
  167. #$testArray = addToArray $testArray 123 5 #lägger 123 på index 5
  168.  
  169. #removeFromArray $testArray 3 #tar bort element med index 3
  170.  
  171. #removeElementByValue $testArray 7 #tar bort element med värdet 7
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement