Форум программистов, компьютерный форум, киберфорум
С++ для начинающих
Войти
Регистрация
Восстановить пароль
 
Рейтинг 4.78/9: Рейтинг темы: голосов - 9, средняя оценка - 4.78
5 / 6 / 2
Регистрация: 26.10.2012
Сообщений: 126
1

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

13.11.2012, 16:03. Показов 1766. Ответов 5
Метки нет (Все метки)

Есть задача-Дана последовательность целых чисел. Определить кол-во чисел кратных разности текущего и предыдущего чисел.
Написал вот такой код, но он мне не выводит ответ после того, как я ввожу 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;
}
__________________
Помощь в написании контрольных, курсовых и дипломных работ здесь
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
13.11.2012, 16:03
Ответы с готовыми решениями:

Определить в последовательности количество чисел кратных трем, и количество чисел, кратных семи
Дано натуральное число n и целые числа x1 ,x2, … xn. Определить количество чисел xi кратных трем,...

В последовательности целых чисел определить количество чётных чисел кратных 7
Напишите программу, которая в последовательности целых чисел определяет количество чётных чисел,...

Найти произведение количества чисел не кратных 5 на количество чисел не кратных 7
задача через stdio.h С клавиатуры вводится последовательность ЦЕЛЫХ чисел. Количество чисел...

Вычислить количество чисел, кратных 3, и среднее арифметическое чисел, кратных 7
Задача 1. Использование инструкций для организации циклов (обработка целочисленных значений) ...

5
Модератор
3343 / 2120 / 347
Регистрация: 13.01.2012
Сообщений: 8,261
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 секунд
...а вообще, код - жесть
1
5 / 6 / 2
Регистрация: 26.10.2012
Сообщений: 126
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 только после введения нуля.
0
Модератор
3343 / 2120 / 347
Регистрация: 13.01.2012
Сообщений: 8,261
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;
0
5 / 6 / 2
Регистрация: 26.10.2012
Сообщений: 126
13.11.2012, 16:45  [ТС] 5
А с моим кодом никак?
0
Модератор
3343 / 2120 / 347
Регистрация: 13.01.2012
Сообщений: 8,261
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 а наоборот должно быть
0
13.11.2012, 16:51
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
13.11.2012, 16:51

На промежутке от а до b найти сумму чисел кратных k и количество чисел кратных m
На промежутке от а до b найти сумму чисел кратных k и количество чисел кратных m

Определить количество натуральных чисел кратных заданным значениям
Есть число a=20 Определить количество его чисел кратных z=2,3,4

Определить количество чисел кратных трем и не заканчивающихся нулем
Задание: Дано четыре числа. Определить сколько среди них кратных трем и не заканчиваются 0. Вот...

Определить количество чисел из промежутка от X до Y, кратных заданному числу
я только начала изучать этот язык,помогите решить задачку через FOR!пожалуйста,очень нужно...


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

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

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2022, CyberForum.ru