Форум программистов, компьютерный форум, киберфорум
Наши страницы

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

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

Использование функций. - C++

09.04.2012, 13:33. Просмотров 417. Ответов 5
Метки нет (Все метки)

1. Определить натуральное число не больше заданного n с наибольшей суммой делителей. Использовать функцию вычисления суммы делителей числа.
2. Написать функцию вставки элемента в массив. Все элементы после него сдвигаются на один вправо, а
последний элемент массива теряется.
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
09.04.2012, 13:33
Здравствуйте! Я подобрал для вас темы с ответами на вопрос Использование функций. (C++):

Множественное наследование, Перегрузка функций, Перегрузка операторов, Использование дружественных функций и классов, Использование шаблонов классов - C++
Здравствуйте!!! Я бы хотел попросить помоч решить...ну или скинуть примеры таких задач, если вдруг у вас они завалялись на компе или...

Итерационные циклы,Определение и вызов функций,Использование библиотечных функций stdio.h - C++
Помогите решить задания: 1.Дано натуральное число n. Найти разность между первой цифрой этого числа и суммой всех остальных. ...

Работа с двумерными числовыми массивами. Использование указателей. Использование функций пользователя. - C++
Помогите пожалуйста!!!!!!! Сделать три варианта: первый вариант – передача данных между функциями с помощью глобального...

Использование функций и шаблонов функций - C++
Составьте программу – формирование цены на молоко. Животновод в начале каждой зимы цену на молоко на р%, а каждым летом снижает на столько...

Использование функций и шаблонов функций - C++
Люди помогите пожалуйста буду очень благодарна) вобщем вот первая часть лабы Написать программу, функция main которой включает...

C/C++ Использование функций, использование break - C++
Здравствуйте. Не знал как назвать тему, боялся что, если назову "КАК ЭТО РАБОТАЕТ?" то её удалят. Пишу программу для вычисления длинных...

5
kent
Нуб со стажем
36 / 34 / 2
Регистрация: 19.02.2012
Сообщений: 118
10.04.2012, 15:45 #2
Цитата Сообщение от zttx Посмотреть сообщение
1. Определить натуральное число не больше заданного n с наибольшей суммой делителей. Использовать функцию вычисления суммы делителей числа.
C
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
#include <stdio.h>
 
int divsumm(int n){
        int res=0;
        for(int i=2;i<n;i++)
                if(!(n%i))
                        res+=i;
        return res;
}
 
int main(){
        int n, max=0,maxsum=0;
        scanf("%u",&n);
        for(int i=1;i<n;i++){
                int sum=divsumm(i);
                if(sum>maxsum){
                        maxsum=sum;
                        max=i;
                }
        }
        printf("%u\n",max);
        return 0;
}
Цитата Сообщение от zttx Посмотреть сообщение
2. Написать функцию вставки элемента в массив. Все элементы после него сдвигаются на один вправо, а последний элемент массива теряется.
C
1
2
3
4
5
6
void insert(int *ar,int size,int n,int ins){
        int i;
        for(i=size-1;i>n;i--)
                ar[i]=ar[i-1];
        ar[i]=ins;
}
0
zttx
1 / 1 / 0
Регистрация: 01.12.2011
Сообщений: 65
13.04.2012, 16:23  [ТС] #3
скажите пожалуйста, а что это значит "if(!(n%i))"?
0
Venzo
125 / 123 / 4
Регистрация: 03.07.2011
Сообщений: 354
13.04.2012, 17:24 #4
остаток от деления n на i равен нулю, т.е число n делится на i без остатка
0
zttx
1 / 1 / 0
Регистрация: 01.12.2011
Сообщений: 65
16.04.2012, 14:04  [ТС] #5
Цитата Сообщение от kent Посмотреть сообщение
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
#include <stdio.h>
int divsumm(int n){
     int res=0;
     for(int i=2;i<n;i++)
         if(!(n%i))
             res+=i;
     return res;
}
int main(){
     int n, max=0,maxsum=0;
     scanf("%u",&n);
     for(int i=1;i<n;i++){
         int sum=divsumm(i);
         if(sum>maxsum){
             maxsum=sum;
             max=i;
         }
     }
     printf("%u\n",max);
     return 0;
}
эта программа работает неправильно.. тут надо проверять все числа до заданного, а он выдает на 1 меньше заданного, хоть у него и не наибольшая сумма делителей.
0
kent
Нуб со стажем
36 / 34 / 2
Регистрация: 19.02.2012
Сообщений: 118
20.04.2012, 17:44 #6
Цитата Сообщение от zttx Посмотреть сообщение
эта программа работает неправильно.. тут надо проверять все числа до заданного, а он выдает на 1 меньше заданного, хоть у него и не наибольшая сумма делителей.
измени
C
1
for(int i=1;i<n;i++)
на
C
1
for(int i=1;i<=n;i++)
0
20.04.2012, 17:44
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
20.04.2012, 17:44
Привет! Вот еще темы с ответами:

Использование функций - C++
Здравствуйте. Помогите решить нижеследующую задачу. В данный момент нужно переделать данную задачу с использованием функций. Целый день...

Использование функций (С++) - C++
1)Написать функцию, возвращающую абсолютную величину числа. 2)Написать функцию, меняющую местами 2 переменные.

Использование функций - C++
кто может напишите пожалуйста код

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


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

Или воспользуйтесь поиском по форуму:
6
Ответ Создать тему
Опции темы

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