Предмет: Информатика,
автор: HAHAHAHAAHAHHA
Приветствую, помогите с задачей, пожалуйста.
Язык: C++
Задача: Дан одномерный массив. Подсчитать сумму цифр каждого элемента массива, находящегося на нечётной позиции (нумерация позиций идёт слева направо). Каждую сумму вывести в отдельном массиве. Используйте функцию.
thegr1f:
"Каждую сумму вывести в отдельном массиве" - это как?
То есть, создать второй одномерный массив (например, B) и в него записать все суммы.
Эх, до последнего надеялся, что это не это. Лан, сейчас посмотрим
А каким образом использовать функцию? Что она должна принимать/печатать/возвращать?
Получается, в главном теле находим нечётную позицию, вызываем функцию, которая берет элемент по этой позиции и каждую цифру числа суммирует (пример, 345 = 3 + 4 + 5).
Сижу вот, пытаюсь что-то решать, но идеи в голову просто не идут.
О как, интересно, сейчас попробуем
Ответы
Автор ответа:
1
#include <iostream>
using namespace std;
int getSum(int);
int main(){
int n = 5;
int arr[] = {11, 20, 33, 448, 556};
int sumArr[n];
int count = 0;
for (int i = 0; i < n; i++){
if ( (i+1) % 2 != 0 ){
sumArr[count] = getSum(arr[i]);
count++;
}
}
for (int i = 0; i < count; i++)
cout << sumArr[i] << " ";
return 0;
}
int getSum(int i){
int x = i;
int sum = 0;
while (x != 0){
sum += x % 10;
x = x / 10;
}
return sum;
}
Большое спасибо, дружище! Очень выручил :)
На здоровье)
Похожие вопросы
Предмет: Химия,
автор: lol491789
Предмет: Информатика,
автор: FHshksfHFK
Предмет: Литература,
автор: radmirmianoshka2103
Предмет: Алгебра,
автор: ishkuatova71