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

Определить количество чисел, кратных разности текущего и предыдущего чисел - C++

Восстановить пароль Регистрация
 
Lotus34
5 / 6 / 1
Регистрация: 26.10.2012
Сообщений: 124
13.11.2012, 16:03     Определить количество чисел, кратных разности текущего и предыдущего чисел #1
Есть задача-Дана последовательность целых чисел. Определить кол-во чисел кратных разности текущего и предыдущего чисел.
Написал вот такой код, но он мне не выводит ответ после того, как я ввожу 0. Не могу найти ошибку, выручите.

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
#include <iostream>
using namespace std;
#include <math.h>
#include <conio.h>
#include <windows.h>  
int main()
{
    SetConsoleCP(1251);
    SetConsoleOutputCP(1251);
        int count,x1,x,k;
        cout<<"Введите число";
        cin>>x1;
        count=0;
            for(x=x1;x!=0;)
                if(x!=0)
                {
                    cout<<"Введите след.число";
                    cin>>x;
                    k=x-x1;
                if((x%k)==0)
                            ++count;
                            x=x1;
                }
 
                else
                    cout<<"Искомое кол-во чисел="<<count;
                _getch();
                    return 0;
}
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
13.11.2012, 16:03     Определить количество чисел, кратных разности текущего и предыдущего чисел
Посмотрите здесь:

Определить количество чисел из промежутка от X до Y, кратных заданному числу C++
Определить количество элементов последовательности натуральных чисел, кратных числу м и заключенных В промежутке от l до n C++
Определить количество последовательности натуральных чисел кратных числу М и заключенных в промежутке от L до N C++
Дан двумерный массив целых чисел, найти количество чисел, кратных N C++
Определить каких положительных чисел больше в последовательности, кратных или не кратных 5? C++
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
vxg
Модератор
 Аватар для vxg
2669 / 1680 / 158
Регистрация: 13.01.2012
Сообщений: 6,279
13.11.2012, 16:20     Определить количество чисел, кратных разности текущего и предыдущего чисел #2
скобки забыли
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
for(x=x1;x!=0;)
                if(x!=0) //это вообще лишнее - цикл и так не пропустит таких чисел
                {
                    cout<<"Введите след.число";
                    cin>>x;
                    k=x-x1;
                    if((x%k)==0)
                    { //вот она, та самая скобка
                            ++count;
                            x=x1;
                    }
                    else
                        cout<<"Искомое кол-во чисел="<<count;
                }
                _getch();
                    return 0;
Добавлено через 37 секунд
...а вообще, код - жесть
Lotus34
5 / 6 / 1
Регистрация: 26.10.2012
Сообщений: 124
13.11.2012, 16:40  [ТС]     Определить количество чисел, кратных разности текущего и предыдущего чисел #3
Цитата Сообщение от vxg Посмотреть сообщение
скобки забыли
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
for(x=x1;x!=0;)
                if(x!=0) //это вообще лишнее - цикл и так не пропустит таких чисел
                {
                    cout<<"Введите след.число";
                    cin>>x;
                    k=x-x1;
                    if((x%k)==0)
                    { //вот она, та самая скобка
                            ++count;
                            x=x1;
                    }
                    else
                        cout<<"Искомое кол-во чисел="<<count;
                }
                _getch();
                    return 0;
Добавлено через 37 секунд
...а вообще, код - жесть
Жесть в смысле я туговат, и можно проще?))))

Добавлено через 11 минут
Так он мне после каждого числа выдает значение count, а мне надо чтобы он выдавала count только после введения нуля.
vxg
Модератор
 Аватар для vxg
2669 / 1680 / 158
Регистрация: 13.01.2012
Сообщений: 6,279
13.11.2012, 16:41     Определить количество чисел, кратных разности текущего и предыдущего чисел #4
можно как-то так.
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
int count, x1, x, k;
cout << "Введите число";
cin >> x1;
count = 0;
while (true)
{
    cout << "Введите след.число";
    cin >> x;
    if (!x) break;
    k = x - x1;
    if (!(x % k)) count++;
    x1 = x;
}
cout << "Искомое кол-во чисел=" << count;
_getch();
return 0;
Lotus34
5 / 6 / 1
Регистрация: 26.10.2012
Сообщений: 124
13.11.2012, 16:45  [ТС]     Определить количество чисел, кратных разности текущего и предыдущего чисел #5
А с моим кодом никак?
vxg
Модератор
 Аватар для vxg
2669 / 1680 / 158
Регистрация: 13.01.2012
Сообщений: 6,279
13.11.2012, 16:51     Определить количество чисел, кратных разности текущего и предыдущего чисел #6
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
for(x=x1;x!=0;)
{
  cout<<"Введите след.число";
  cin>>x;
  if (x)
  {
    k=x-x1;
    if((x%k)==0) ++count;
    x=x1;
  }
}
cout<<"Искомое кол-во чисел="<<count;
_getch();
return 0;
Добавлено через 1 минуту
...только зачем нам вот это присвоение в начале цикла которое все равно будет сразу же затерто вводом числа и эта проверка двойная - в цикле и в теле... неясно.

Добавлено через 1 минуту
...кроме того че то я думаю не будет работать ваш вариант потому что в конце цикла не x = x1 а наоборот должно быть
Yandex
Объявления
13.11.2012, 16:51     Определить количество чисел, кратных разности текущего и предыдущего чисел
Ответ Создать тему
Опции темы

Текущее время: 04:13. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru