изменение чисел в позиции 2,4,6,8, н-2 на негативы - PullRequest
0 голосов
/ 27 октября 2019

Я в настоящее время застрял в этой проблеме, где я хочу получить все нечетные числа в массиве, добавив их и превратить их в отрицательные значения, а затем добавить их к сумме четных чисел

 .data
    n: .word 7 # This example has 7 points
    size: .word 1 # the location in the array
    w: .word 45, 13, 46, 38, 39, 24, 33 # w0, w1, … wn-1

.text
main:
    la $9, w # get w addr
    la $13, n
    lw $13, 0($13)
    addi $20, $0,0 # i=0

loop:
    lw $16, 0($9) # $16 is the location in the array
    andi $14, $16,1 # lsb in $16 is odd or even
    bne $14, $0, odd
    add $10, $10, $16

odd:
    addiu $9, $9, 4 # array++
    addiu $20,$20,1   # i++
    sub $16, $zero, $16
    bne $20, $13, loop # goto loop if i!= size

exit:
    addi $2,$0,10    # write 10 in $v0 ($2) to call
    syscall          # syscall 10 (exit

#include <iostream>
#include <array>

using namespace std;

int main() {
  int sum = 0;
  int sub = 0;
  int a[7] = {12,22,32,42,52,62,72};
  for (int i = 0; i<7; i++) {
    if(i % 2 ==0){
      sum += a[i];
      cout <<sum<<endl;
    }
    else{
      sub -= a[i];
      cout <<sub<<endl;
    }
  }
  int number;
  number = (sum + sub);
  cout <<number<<endl;
}

без ошибок на данный момент просто застрял любая помощь будет оценена спасибо:)

...