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

Проблемы с циклами - C++

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

Напсиал сей код, но не все с ним гладко.

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;
            for(x!=0;x=x1;)
                if(x!=0)
                {
                    cout<<"Введите след.число";
                    cin>>x;
                        k=x-x1;
                    if(x%k=0)
                            count++;
                        else
                            x=x1;
            }
 
                else
                    cout<< "Искомое кол-во чисел="<<count;
                _getch();
                    return 0;
}



А выдает ошибки :
1>d:\учеба\осн.программирования\лаба2\лаба2\1.cpp(13) : warning C4552: !=: оператор не имеет результата; требуется оператор с побочным действием
1>d:\учеба\осн.программирования\лаба2\лаба2\1.cpp(19) : error C2106: =: левый операнд должен быть левосторонним значением


Не могу понять, какое условие задать в цикл, и почему не работает %.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
10.11.2012, 10:29     Проблемы с циклами
Посмотрите здесь:

C++ 3 зaдaчи с циклами
C++ Проблема циклами
задачи с циклами C++
C++ ошибка с циклами
C++ Задача с циклами
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
v.a.l.i.d
 Аватар для v.a.l.i.d
412 / 377 / 10
Регистрация: 21.09.2012
Сообщений: 913
10.11.2012, 10:37     Проблемы с циклами #2
Цитата Сообщение от Lotus34 Посмотреть сообщение
if(x%k=0)
так это не сравнение, а присваивание. надо два равно поставить
C++
1
if (x%k==0)
а дальше не знаю как праильно
PitBool
 Аватар для PitBool
12 / 12 / 6
Регистрация: 31.10.2012
Сообщений: 45
10.11.2012, 10:41     Проблемы с циклами #3
Цикл for записан не правильно. Сначала должна быть инициализация, а потом уже условие и модификация.
Должно быть так:
C++
1
for(x=x1;x!=0;)
Дальше в условии if ты не сравниваешь, а присваиваешь. Должно быть так:
C++
1
if((x%k)==0)
Lotus34
5 / 6 / 1
Регистрация: 26.10.2012
Сообщений: 124
10.11.2012, 11:14  [ТС]     Проблемы с циклами #4
Спасибо, вроде разобрался)
ZaMaZaN4iK
Мой лучший друг-отладчик!
 Аватар для ZaMaZaN4iK
163 / 163 / 9
Регистрация: 24.06.2012
Сообщений: 662
Записей в блоге: 5
Завершенные тесты: 1
10.11.2012, 11:23     Проблемы с циклами #5
вот я написал, может вам подойдет:
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
#include <iostream>
 
int main()
{
    const int size=6;
    int mas[size]={1,2,6,4,7,8},count=0;
    for(int i=1;i<size;i++)
    {
            if(mas[i]%(mas[i]-mas[i-1])==0)
            count++;
    }
    std::cout<<count<<std::endl;
    system("PAUSE");
    return 0;
}
Yandex
Объявления
10.11.2012, 11:23     Проблемы с циклами
Ответ Создать тему
Опции темы

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