Форум программистов, компьютерный форум CyberForum.ru

С++ для начинающих

Войти
Регистрация
Восстановить пароль
 
Azkaban
0 / 0 / 0
Регистрация: 20.10.2016
Сообщений: 3
#1

Каждый из элементов одномерного массива заменить суммой цифр этого элемента - C++

20.10.2016, 10:58. Просмотров 152. Ответов 6
Метки нет (Все метки)

Буду очень признателен, если поможете. Я только начал обучаться c++ и нашел такую задачку, мне интересно посмотреть на ее решение.
1.Каждый из элементов одномерного массива заменить суммой цифр этого элемента. Найти максимальный и минимальный элементы. Исходный и преобразованный массивы выведите на экран.
Создал программу выводит одинаковый минимум и максимум
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
   #include <iostream>
#include <cstdlib>
 
using namespace std;
 
   #include <iostream>
#include <cstdlib>
 
using namespace std;
 
const int N = 10;
 
int main()
{
int array[ ] = {12, 34, 56, 67, 78, 89, 90};
    int length = sizeof(array) / sizeof(*array);
for (int i = 0; i < length; i++)
        cout << array[i] << " ";
    int  sum[N], max, min;
    cout <<endl;
    for(int i = 1;  i<length; i++)
    {
     int sum = 0;
        while (array[i] > 0) {
            sum += array[i] % 10;
            array[i] /= 10;
             }
        array[i] = sum;
        sum = 0;
        }
        if(max < length[array]) max = length[array];
        if(min > length[array]) min = length[array];
 
    cout << "Min: " << min << endl;
    cout << "Max: " << max << endl;
 
    return 0;
}
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
20.10.2016, 10:58
Здравствуйте! Я подобрал для вас темы с ответами на вопрос Каждый из элементов одномерного массива заменить суммой цифр этого элемента (C++):

Каждый из элементов одномерного массива заменить суммой цифр этого элемента - C++
Буду очень признателен, если поможете. Я только начал обучаться c++ и нашел такую задачку, мне интересно посмотреть на ее решение. ...

в первой из строк, содержащей максимальное количество элементов, каждый положительный элемент заменить суммой его цифр - C++
:cry:

Заменить каждый нулевой элемент массива А суммой элементов массива В - C++
Даны целочисленные массивы А и В. Заменить каждый нулевой элемент массива А суммой элементов массива В.

Каждый из элементов x[SUB]i[/SUB] массива X(n) заменить средним значением первых i элементов этого массива - C++
Задание: Каждый из элементов xi массива X(n) заменить средним значением первых i элементов этого массива. Ребят, помогите решить вот...

Каждый из элементов массива заменить средним значением первых элементов этого массива. - C++
текущее сглаживание. Каждый из элементов xi массива X(n) заменить средним значением первых i элементов этого массива.

В первой из строк, содержащей максимальное кол-во нулевых элементов, каждый положительный элемент заменить суммой его цифр - C++
:) исправленный вариант условия)

Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Apostol584
238 / 144 / 72
Регистрация: 26.11.2012
Сообщений: 371
Завершенные тесты: 2
20.10.2016, 11:14 #2
sum[N] не нужен
C++
1
2
3
4
5
6
7
8
9
10
11
for(int i = 1; i<length; i++)
{
int sum = 0;
while (array[i] > 0) {
sum += array[i] % 10;
array[i] /= 10;
}
array[i] = sum;
if(max < array[i]) max = array[i];
if(min > array[i]) min = array[i];
}
nmcf
5309 / 4629 / 1550
Регистрация: 14.04.2014
Сообщений: 18,437
20.10.2016, 11:16 #3
Это даже не скомпилируется. Что за length[array]?
lawr
366 / 260 / 124
Регистрация: 09.05.2014
Сообщений: 769
20.10.2016, 11:17 #4
Azkaban,
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
#include <iostream>
using namespace std;
 
using namespace std;
 
const int N = 10;
 
int main()
{
int array[ ] = {12, 34, 56, 67, 78, 89, 90};
int length = sizeof(array) / sizeof(*array);
for (int i = 0; i < length; i++)
cout << array[i] << " ";
int sum[N], max=array[0], min=array[0];
cout <<endl<<"modified array:\n";
for(int i = 0; i<length; i++)
{
int sum = 0;
while (array[i] > 0) {
sum += array[i] % 10;
array[i] /= 10;
}
array[i] = sum;
cout<<array[i]<<' ';
if(max < array[i]) max = array[i];
if(min > array[i]) min = array[i];
}
cout<<endl;
cout << "Min: " << min << endl;
cout << "Max: " << max << endl;
 
return 0;
}
Добавлено через 1 минуту
nmcf, смешно, но почему-то компилируется (проверял на Dev-C++ 5.11)
Azkaban
0 / 0 / 0
Регистрация: 20.10.2016
Сообщений: 3
20.10.2016, 11:28  [ТС] #5
спасибо
MrGluck
Модератор
Эксперт CЭксперт С++
7210 / 4376 / 638
Регистрация: 29.11.2010
Сообщений: 11,887
20.10.2016, 11:49 #6
Цитата Сообщение от nmcf Посмотреть сообщение
Это даже не скомпилируется. Что за length[array]?
Скомпилируется, но пишут так только сишные старпёры. Надо просто вспомнить что на самом деле представляет из себя операция [].
length[array] == *(length+array) == *(array+length)
То есть length[array] то же самое, что и array[length], то есть элемент, следующий за последним элементом массива array
nmcf
20.10.2016, 13:51     Каждый из элементов одномерного массива заменить суммой цифр этого элемента
  #7

Не по теме:

Цитата Сообщение от MrGluck Посмотреть сообщение
length[array] то же самое, что и array[length]
Впервые об этом слышу.

MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
20.10.2016, 13:51
Привет! Вот еще темы с ответами:

Каждый элемент массива, кроме первого, заменить суммой всех его предыдущих элементов - C++
Дан массив А. Каждый его элемент, кроме первого, заменить суммой всех его предыдущих элементов. Создавайте темы с осмысленными и...

Каждый элемент заданного массива заменить суммой всех предыдущих элементов (нарастающий итог) - C++
День добрый! Ребята, хотел проконсультироваться, правильно ли я понял задачу За ранее благодарен! Есть массив из 15-и элементов,...

Элементы столбцов массива, не содержащих положительных элементов, заменить суммой их цифр - C++
Элементы столбцов целочисленного массива А(N,М), не содержащих положительных элементов, заменить суммой их цифр. то есть как я понял.....

Каждый второй элемент, в массиве заменить остатком от деления этого элемента на 10 - C++
Ввести одномерный массив из элементов. Каждый второй элемент, в массиве заменить остатком от деления этого элемента на 10. Массив...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
Yandex
Объявления
20.10.2016, 13:51
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru