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

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

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

опять не могу найти ошибку =\ - C++

31.12.2011, 18:39. Просмотров 444. Ответов 4
Метки нет (Все метки)

C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
#include <iostream>
 
using std::cout;
using std::endl;
 
int main()
{
    for (int i=1;i<=1000000;i++)
    {
        int b=0;
        for (int a=1;a<=(i-1);a++)
        {
            if (i%a!==0)
            b==b+a;
            if (b==i)
            cout << i << endl;
            }
            }
            return 0;
            system("pause");
            }
недавно начал изучать с++, и решил сделать программу, по выводу на экран совершенных чисел
программа на паскале есть:
Pascal
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
var
  I,a,b,x,x1:integer;
begin
  writeLn('vvedite diapozon chisel');
  ReadLn(x,x1);
  for I:=x to x1 do
   begin
     b:=0;
     for a:=1 to i-1 do
      if (i mod a)=0 then
      b:=b+a;
     if b=I then
     WriteLn(i);
   end;
  ReadLn;
end.
сижу уже битые полчаса...пытаюсь найти ошибку, путем сравнения обоих программ, но нифига

заранее спасибо!
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
31.12.2011, 18:39
Я подобрал для вас темы с готовыми решениями и ответами на вопрос опять не могу найти ошибку =\ (C++):

Найти слова, повторяющиеся более одного раза, не могу найти ошибку - C++
#include &lt;iostream&gt; using namespace std; void obr1(char **s, char **mas, int n, int m) { int i; int k; char *tm; for(i...

Массивы. Посчитать количество положительных, найти минимальное, удалить строку с минимальным (Не могу найти ошибку) - C++
// Заданы матрицы X(8;4),Y(5;5),Z(6;9). // Для каждой из матриц определить строку, в которой находится наименьшее // количество...

Не могу найти ошибку - C++
В общем суть программы состоит в том чтобы решить нелинейное уравнение x3+x2-4x-4=0 двумя методами хорд и итераций, есть исходник , вот...

Не могу найти ошибку - C++
ошибка в строке 24..не могу исправить. Помогите, пожалуйста. #include &lt;math.h&gt; #include &lt;stdio.h&gt; #include &lt;iostream&gt; using...

Не могу найти ошибку - C++
Добрый день. Имеется задача: Написал код: Но вычисляет он неверно. Объясните, пожалуйста, в чем ошибка.

Не могу найти ошибку! - C++
#include &lt;iostream.h&gt; int main() { cout &lt;&lt; &quot;Hello there.\n&quot;; cout &lt;&lt; &quot;Here is 5:&quot; &lt;&lt; 5 &lt;&lt; &quot;\n&quot;; cout &lt;&lt; &quot;The manipulator end1...

4
Диман56
22 / 22 / 0
Регистрация: 07.11.2011
Сообщений: 154
31.12.2011, 18:51 #2
1.Вместо
C++
1
2
using std::cout;
using std::endl;
можно написать
C++
1
using namespace std;
2.Где ввод диапазона на С, который есть в Паскале?
3.Вы в for, который на С, каждый раз объявляете переменную b:=0;
4.Вы во вложенном for на С, каждый раз объявляете переменную а.
5.
C++
1
if (i%a!==0)
-что такое? Надо
C++
1
(i%a==0)
6. Что за?
C++
1
b==b+a;
Надо
C++
1
b=b+a;
7.Вы каждый раз объявляете переменную i.
Вроде пока что всё. Помните: =-знак присваивания, ==-знак проверки на равенство!!

Добавлено через 4 минуты
В общем, надо примерно так:
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 <iostream>
 
using namespace std;
 
int main()
{
int x,x1,i,a,b;
cout<<"Введите диапазон"<<endl;
cin>>x,x1;
    for (i=x;i<=x1;i++)
    {
        b=0;
        for (a=1;a<=(i-1);a++)
        {
            if (i%a==0)
            b=b+a;
            if (b==i)
            cout << i << endl;
            }
            }
            return 0;
            system("pause");
            }
1
Drendi1024
0 / 0 / 0
Регистрация: 27.12.2011
Сообщений: 5
31.12.2011, 19:07  [ТС] #3
спасибо большое)
я же говорю, я только учусь

странно, что программа выводит по нескольку раз одни и те же числа, а потом закрывается (не срабатывает system(pause))
0
Dekio
Фрилансер
Эксперт С++
5837 / 1218 / 214
Регистрация: 23.11.2010
Сообщений: 3,377
Записей в блоге: 1
01.01.2012, 03:35 #4
Цитата Сообщение от Диман56 Посмотреть сообщение
return 0; system("pause");
Думать надо, что писать
0
Диман56
22 / 22 / 0
Регистрация: 07.11.2011
Сообщений: 154
01.01.2012, 15:22 #5

Не по теме:

I m sorry

Надо только
C++
1
system("pause");
0
01.01.2012, 15:22
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
01.01.2012, 15:22
Привет! Вот еще темы с ответами:

Не могу найти ошибку - C++
#include &quot;stdafx.h&quot; #include &lt;conio.h&gt; class Sum { public: int sum1 (int x1, int x2) { return x1 + x2; ...

Не могу найти ошибку - C++
Здравствуйте, есть задача: Написать программу которая по введенному числу и месяцу рассчитывает день недели и выводит ответ на экран....

Не могу найти ошибку - C++
Сумму элементов последовательности, расположенных между первым и вторым положительными элементами. При помощи итераторов. Если нету...

Не могу найти ошибку! - C++
Пробую что-то вычудить..... не могу найти ошибку (просто интересно) #include &lt;iostream&gt; using namespace std; ...


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

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

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