Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #Inlämingsuppgift 2
- #Anton Svensson S143002
- #Daniel Oldberg S141523
- ###################################################################################
- ### Funktionen createarray skapar en array. ###
- ### Första parametern krävs och är antalet värden du vill ha i arrayn. -antal ###
- ### Andra parametern är värdet som du vill att alla index ska innehålla. -value ###
- ###################################################################################
- function createArray ($antal,$value = 0) {
- if ([string]::IsNullOrEmpty($antal) -or ($antal -lt -0) -or !($antal -is [Int])){
- write-host "ange positivt heltal som antal"; ##Om man ej anger positivt heltal så ombeds man göra det
- return;
- }
- $i = 0;
- $newArray = @();
- while ($i -lt $antal){ ##loopar $antal gånger och lägger $value i varje element
- $newArray += $value;
- $i++;
- }
- return $newArray; ##returerar den nya arrayen
- }
- ############################################################################################
- ### Funktionen addToArray lägger till ett värde i en array. ###
- ### Första parametern krävs och är arrayen som man vill lägga till värdet i -array ###
- ### Andra parametern krävs är värdet som du vill lägga till -value ###
- ### Tredje parametern är vilken index du vill lägga till värdet på, standard är i slutet ###
- ############################################################################################
- function addToArray ($array, $value, $index) {
- 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
- $array += $value;
- return $array;
- }
- elseif(($index -lt -0) -or !($index -is [Int])){
- Write-Host "Ange positivt heltal som index"; #Om användaren anger negativa tal eller annat än integer som index, meddela detta
- }
- elseif($index -eq 0){
- $tempArray = @($value); ##om index 0 anges så lägger vi $value först och sedan resten av listan efter
- $tempArray += $array;
- return $tempArray;
- }
- elseif(($index -ge 1) -and ($index -lt $array.count)) {
- $tempTopArray = @();
- $tempBotArray = @();
- 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
- $tempTopArray += $array[$i];
- }
- for ($i = $index;$i -lt $array.count; $i++){
- $tempBotArray += $array[$i];
- }
- $tempSumArray += $tempTopArray; ##Sedan lägger vi in $value mellan top och bot
- $tempSumArray += $value;
- $tempSumArray += $tempBotArray;
- return $tempSumArray;
- }
- elseif($index -gt $array.count){
- $indexHigh = $array.count - 1;
- Write-Host "Högsta index är $indexhigh" ##annars finns inte index
- }
- }
- ############################################################################################
- ### Funktionen removeFromArray tar bort ett element ur en array. ###
- ### Första parametern krävs och är arrayen som man vill ta bort ett element ur. -array ###
- ### Andra parametern är indexen som man vill ta bort. -index ###
- ############################################################################################
- function removeFromArray ($array, $index = $array.count-1) {
- $tempArray = @();
- if(($index -lt -0) -or !($index -is [Int])){
- Write-Host "Ange positivt heltal som index"; #Om användaren anger negativa tal eller annat än integer som index, meddela detta
- }
- elseif (($index -eq $array.count -1)){ ##Skapa en ny array som utesluter sista elementet om index ej anges eller sista index anges
- for ($i = 0; $i -lt $array.count-1;$i++){
- $tempArray += $array[$i];
- }
- return $tempArray;
- }
- elseif($index -eq 0){
- for ($i = 0; $i -lt $array.count ;$i++){ ##Skapa en ny array som utesluter första elementet om index 0 anges
- $tempArray += $array[$i+1];
- }
- return $tempArray;
- }
- elseif(($index -gt 0) -and ($index -lt $array.count)) {
- $tempTopArray = @();
- $tempBotArray = @();
- for ($i = 0; $i -lt $index;$i++){ ##Skapa en top array som innehåller element fram till index (dock inte index)
- $tempTopArray += $array[$i];
- }
- for ($i = $index+1 ;$i -le $array.count ; $i++){ ##Skapa en bot array som innehåller alla element efter index
- $tempBotArray += $array[$i];
- }
- $tempSumArray += $tempTopArray;
- #$tempSumArray += $value;
- $tempSumArray += $tempBotArray; ##Slå ihop top och bot arrayerna
- return $tempSumArray;
- }
- else{
- $indexHigh = $array.count - 1;
- Write-Host "Högsta index är $indexhigh" ##annars finns inte index
- }
- }
- ##################################################################################################
- ### Funktionen removeElementbyValue tar bort ett element som innehåller ett specifierat värde. ###
- ### Första parametern krävs och är arrayen som man vill ta bort element från ###
- ### Andra parametern krävs är värdet som ska användas för att matcha mot element ###
- ##################################################################################################
- function removeElementbyValue($array, $searchvalue){
- if([string]::IsNullOrEmpty($searchvalue) -or ([string]::IsNullOrEmpty($array))){ ## Om någon parameter ej är ifylld.
- Write-Host "Parametrar ej korrekt ifyllda";
- return $array ; ## Avsluta funktionen
- }
- $tempReplaceArray = @();
- for($i = 0; $i -lt $array.count; $i++){ ## För varje element i arrayen ska elementet matchas mot sökparametern $searchvalue
- if($array[$i] -eq $searchvalue){
- ## Om det finns en matchning görs ingenting och loopen fortsätter
- }
- else {
- $tempReplaceArray += $array[$i]; ## Om det inte finns en matchning så läggs elementet in sist i en separat array
- }
- }
- return $tempReplaceArray; ## Till slut så returneras den separata arrayen.
- }
- ##Exempel
- #createArray 4 5 #skapar en array med 4 element där varje element har värdet 5
- #$testArray = @(1..10)
- #$testArray = addToArray $testArray 123 5 #lägger 123 på index 5
- #removeFromArray $testArray 3 #tar bort element med index 3
- #removeElementByValue $testArray 7 #tar bort element med värdet 7
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement