Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > IT форум > Помощь студентам
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 24.02.2013, 19:39   #1
Al-chan
Новичок
Джуниор
 
Регистрация: 24.02.2013
Сообщений: 7
Вопрос Разобрать код С++

Дан код.
Код:
#include<iostream.h>
#include<math.h>
#include<iomanip.h>
 
int f(int n)
{
    int s=0,i;
   for(i=1;i<=n;i++)
    {
        if (n%i==0) s++;
        
    }
    return s;
 
};
 
void main() 
{
    int n;
    do
{
    cout<<"Vvedite n"<<endl;
    cin>>n;
} while (n <= 0|| n>=1018);
 cout << f(n);
}
Я не могу разобрать основную часть кода:
Код:
int f(int n)
{
    int s=0,i;
   for(i=1;i<=n;i++)
    {
        if (n%i==0) s++;
        
    }
    return s;
 
};
Можете ли объяснить прокомментировав каждую строчку кода? Ну или как минимум что тут выполняется

Последний раз редактировалось Al-chan; 24.02.2013 в 19:52.
Al-chan вне форума Ответить с цитированием
Старый 24.02.2013, 20:10   #2
Bugrimov
C/C++, Java
Участник клуба
 
Аватар для Bugrimov
 
Регистрация: 28.03.2012
Сообщений: 1,679
По умолчанию

Скажите, а этот программный код у Вас вообще компилируется.
Скажите какое задание, что нужно ввести и получить в итоге???
Ваша программа не доходит до выполнения, написанной функции, потому что условие
Код:
while (n <= 0|| n>=1018);
довольно таки сложно выполнить.

Код:
int f(int n)
{
    int s=0,i;
   for(i=1;i<=n;i++) // Цикл от 1 до введенного значения n
    {
        if (n%i==0) s++; // Если переменная n делится без остатка на i при прохождении цикла, то увеличить счетчик s на 1
        
    }
    return s; // По завершении цикла вернуть результат s основной функции main
 
}
"Keep it simple" - придерживайтесь простоты!
Уильям Оккам - "Не следует множить сущее без необходимости"
Сложность - враг простоты и удобства!

Последний раз редактировалось Bugrimov; 24.02.2013 в 20:28.
Bugrimov вне форума Ответить с цитированием
Старый 24.02.2013, 20:20   #3
Al-chan
Новичок
Джуниор
 
Регистрация: 24.02.2013
Сообщений: 7
По умолчанию

Пусть х — некоторое натуральное число (1 <= x <= 1018), обладающее
следующим свойством - все простые делители этого числа не превосходят
1000. Найти количество его делителей.
Пример:
Входные данные/Выходные данные
12/6
239/2
это задание, но код не работает, подчеркивает #include
Al-chan вне форума Ответить с цитированием
Старый 24.02.2013, 20:31   #4
Bugrimov
C/C++, Java
Участник клуба
 
Аватар для Bugrimov
 
Регистрация: 28.03.2012
Сообщений: 1,679
По умолчанию

Вам не нужен цикл do while
Код:
if(1 < n || n > 1018)
{
cout<<f(n);
}
Каким компилятором пользуетесь, проще говоря в чем пишете программу?

Попробуйте этот код откомпилировать.
Код:
#include<iostream>

using namespace std;
 
int f(int n)
{
	int s = 0, i;
	for(i = 1; i <= n; i++)
	{
		if(n%i==0) s++;
	}
	return s;
}
 
void main() 
{
	int n; 
	cout << "Vvedite n: ";
	cin>>n;

	if(n > 1 || n < 1018)
		cout << "S = " << f(n) << endl;
 
}
"Keep it simple" - придерживайтесь простоты!
Уильям Оккам - "Не следует множить сущее без необходимости"
Сложность - враг простоты и удобства!

Последний раз редактировалось Bugrimov; 24.02.2013 в 20:42.
Bugrimov вне форума Ответить с цитированием
Старый 24.02.2013, 20:39   #5
Al-chan
Новичок
Джуниор
 
Регистрация: 24.02.2013
Сообщений: 7
По умолчанию

спасибо)
очень помогли))
но у меня еще 1 вопрос, библиотеки те же оставить можно?
Среда разработки Visual studio 2012 а компилятор я не помню какой(

Последний раз редактировалось Al-chan; 24.02.2013 в 21:11.
Al-chan вне форума Ответить с цитированием
Старый 24.02.2013, 20:46   #6
Bugrimov
C/C++, Java
Участник клуба
 
Аватар для Bugrimov
 
Регистрация: 28.03.2012
Сообщений: 1,679
По умолчанию

Нужно подключить только iostream, остальные не нужны.
Если помог, напишите отзыв, весы под аватаркой.
Обращайтесь!!!
"Keep it simple" - придерживайтесь простоты!
Уильям Оккам - "Не следует множить сущее без необходимости"
Сложность - враг простоты и удобства!
Bugrimov вне форума Ответить с цитированием
Старый 24.02.2013, 21:15   #7
Al-chan
Новичок
Джуниор
 
Регистрация: 24.02.2013
Сообщений: 7
По умолчанию

спасибо за помощь)))))
Al-chan вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Нужно разобрать код на php htior PHP 5 08.12.2012 17:06
необходимо разобрать код на Си++ SashaGruffs Помощь студентам 5 08.02.2012 17:32
Как на си разобрать код программы на строки.... evgpol Помощь студентам 3 20.05.2011 23:32
Код CSS не могу разобрать... misher HTML и CSS 13 26.12.2010 21:42
Подсобите разобрать код. Непонятно, что в нём происходит.. farewe11 Помощь студентам 1 11.06.2010 01:31