Se operarmos no bash, não precisamos usar índices
#!/bin/bash
read N
read -a A
for elem in "${A[@]::N}"; do
((ar_sum+=$elem))
done
echo $ar_sum
for-loop pode ser trocado por
expr $(printf '%b + ' "${A[@]::N}"\c)
#! /bin/bash
omiti aqui embora eu usei. Eu usei apenas shell bash. primeiro inteiro é o número de variáveis na matriz. sim eu recebi erro de sintaxe.
precisa ler a matriz e a soma dos elementos da matriz. dada uma matriz de inteiros de tamanho N. Você precisa imprimir a soma dos elementos na matriz, tendo em mente que alguns desses inteiros podem ser bem grandes.
A primeira linha da entrada consiste em um inteiro N. A próxima linha contém números inteiros separados por espaço contidos no array (1 < = 10, 0 < i [< = 10000000000).
5
1000000001 1000000002 1000000003 1000000004 1000000005
Imprima um único valor igual à soma dos elementos no array.
5000000015
o que eu fiz até agora:
#input array size
read N
while [ $N -ge 1 -a $N -le 10 ]
do
echo $N
break
done
for i in 'seq 0 N-1';
do
read -a array[i]
if[ "${array[i]}" -ge 0 -a "${array[i]}" -le 10000000000 ]; then
echo "${array[i]}"
fi
done
#sum=expr 'sum + ${ array[i] }'
Erro de sintaxe: operador esperado
Você poderia, por favor, me avisar onde eu errei?
Se operarmos no bash, não precisamos usar índices
#!/bin/bash
read N
read -a A
for elem in "${A[@]::N}"; do
((ar_sum+=$elem))
done
echo $ar_sum
for-loop pode ser trocado por
expr $(printf '%b + ' "${A[@]::N}"\c)
Tags shell-script array