Предмет: Информатика, автор: HAHAHAHAAHAHHA

Приветствую, помогите с задачей, пожалуйста.

Язык: C++
Задача: Дан одномерный массив. Подсчитать сумму цифр каждого элемента массива, находящегося на нечётной позиции (нумерация позиций идёт слева направо). Каждую сумму вывести в отдельном массиве. Используйте функцию.


thegr1f: "Каждую сумму вывести в отдельном массиве" - это как?
HAHAHAHAAHAHHA: То есть, создать второй одномерный массив (например, B) и в него записать все суммы.
thegr1f: Эх, до последнего надеялся, что это не это. Лан, сейчас посмотрим
thegr1f: А каким образом использовать функцию? Что она должна принимать/печатать/возвращать?
HAHAHAHAAHAHHA: Получается, в главном теле находим нечётную позицию, вызываем функцию, которая берет элемент по этой позиции и каждую цифру числа суммирует (пример, 345 = 3 + 4 + 5).
HAHAHAHAAHAHHA: Сижу вот, пытаюсь что-то решать, но идеи в голову просто не идут.
thegr1f: О как, интересно, сейчас попробуем

Ответы

Автор ответа: thegr1f
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;

}


HAHAHAHAAHAHHA: Большое спасибо, дружище! Очень выручил :)
thegr1f: На здоровье)
Похожие вопросы
Предмет: Алгебра, автор: ishkuatova71