С Новым годом! Форум программистов, компьютерный форум, киберфорум
С++ для начинающих
Войти
Регистрация
Восстановить пароль
Карта форума Темы раздела Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 5.00/11: Рейтинг темы: голосов - 11, средняя оценка - 5.00
0 / 0 / 0
Регистрация: 11.09.2011
Сообщений: 41
1

Бесконечный цикл

23.11.2011, 18:48. Показов 1896. Ответов 15
Метки нет (Все метки)

Author24 — интернет-сервис помощи студентам
Народ помогите у меня зациклился цикл. Что я сделал не так вроде условие выхода есть или может другой цикл использовать? Использовал do - whule и вот попробовал while, а результат один и тот же.
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;
 
int main()
//Выяснить, является ли заданное число m членом геометрической прогрессии, 
//первый член которой равен g, а знаменатель – z.
{
    int g, m, z, s;
    
    cout << "Vvedite pervi chlen: ";
    cin >> g;
    cout << "Vvedite znaminatel: ";
    cin >> z;
    cout << "m= ";
    cin >> m;
    
    while (g=m)
    {   
        g*=z;
    }
    cout << m << "clen progresii!" << endl;
    
    if (g!=m);
    {   
        cout << m << "ne clen progresii!" << endl;
    }
    
    return 0;
}
0
IT_Exp
Эксперт
34794 / 4073 / 2104
Регистрация: 17.06.2006
Сообщений: 32,602
Блог
23.11.2011, 18:48
Ответы с готовыми решениями:

Почему цикл на при 1 уходит в бесконечный цикл?
#define _CRT_SECURE_NO_WARNINGS #include &lt;iostream&gt; #include &lt;stdio.h&gt; #include &lt;string.h&gt; int...

Бесконечный цикл while
Здравствуйте необходимо написать бесконечный цикл while , который при запуске программы постоянно...

Бесконечный цикл
Так. Консоль CLR Вод программа: #include &quot;stdafx.h&quot; #include &quot;conio.h&quot; #include &quot;stdio.h&quot;...

бесконечный цикл
Когда пытаюсь считать строки из файла с помощью цикла, он почему то начинает повторятся бесконечно....

15
Фрилансер
Эксперт С++
5845 / 1226 / 499
Регистрация: 23.11.2010
Сообщений: 3,375
Записей в блоге: 1
23.11.2011, 18:51 2
C++
1
2
3
4
Sum:=0;
for(int i = 0; i < n; i++)
  if(arr[i]%13 == 5)
    Sum += arr[i];

Не по теме:

Зачем свой код убрали?

0
0 / 0 / 0
Регистрация: 11.09.2011
Сообщений: 41
23.11.2011, 18:53  [ТС] 3
Цитата Сообщение от Dekio Посмотреть сообщение
C++
1
2
3
4
Sum:=0;
for(int i = 0; i < n; i++)
  if(arr[i]%13 == 5)
    Sum += arr[i];

Не по теме:

Зачем свой код убрали?

Сори не тот кинул =)
0
Диссидент
Эксперт C
27707 / 17325 / 3810
Регистрация: 24.12.2010
Сообщений: 38,979
23.11.2011, 19:24 4
C
1
while (g==m)
И неужто транслятор промолчал?
0
0 / 0 / 0
Регистрация: 11.09.2011
Сообщений: 41
23.11.2011, 21:02  [ТС] 5
Цитата Сообщение от Байт Посмотреть сообщение
C
1
while (g==m)
И неужто транслятор промолчал?
Да да молчал в тряпочку... Спасибо за подсказку, но всё равно не решил её подскажите что упустил?

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
#include <iostream>
using namespace std;
 
int main()
//Выяснить, является ли заданное число m членом геометрической прогрессии, 
//первый член которой равен g, а знаменатель – z.
{
        int g, m, z, s;
        
        cout << "Vvedite pervi chlen: ";
        cin >> g;
        cout << "Vvedite znaminatel: ";
        cin >> z;
        cout << "m= ";
        cin >> m;
        
        while (g==m) // если является 
        {       
                g*=z;
        }
        cout << m << "clen progresii!" << endl;
        
        if (g!=m); // если не является 
        {       
                cout << m << "ne clen progresii!" << endl;
        }
        
        return 0;
Выводит мне что является и не является...
0
6045 / 2160 / 753
Регистрация: 10.12.2010
Сообщений: 6,005
Записей в блоге: 3
23.11.2011, 21:43 6
Цитата Сообщение от Kovar Посмотреть сообщение
C++
1
cout << m << "clen progresii!" << endl;
Понимаете ли вы что эту строчку вы увидите в любом случае? По логике она должна идти по ветке else в условном переходе.
0
Диссидент
Эксперт C
27707 / 17325 / 3810
Регистрация: 24.12.2010
Сообщений: 38,979
24.11.2011, 11:00 7
Kovar, Посмотрите внимательно на свой код. Оба сообщения будут выводиться всегда.
За исключение случая, когда g==m, z==1. Тогда, естественно, будет бесконечный цикл.
0
0 / 0 / 0
Регистрация: 11.09.2011
Сообщений: 41
24.11.2011, 13:24  [ТС] 8
Всё решал проблему Спасибо тем кто откликнулся
0
go
Эксперт С++
3646 / 1378 / 243
Регистрация: 16.04.2009
Сообщений: 4,526
24.11.2011, 18:02 9
Цитата Сообщение от Байт Посмотреть сообщение
И неужто транслятор промолчал?
А что он должен был сказать?
Ведь все верно с точки зрения синтаксиса
0
Диссидент
Эксперт C
27707 / 17325 / 3810
Регистрация: 24.12.2010
Сообщений: 38,979
25.11.2011, 12:20 10
Цитата Сообщение от go Посмотреть сообщение
А что он должен был сказать?
Ведь все верно с точки зрения синтаксиса
Уважающий себя компилятор должен выкинуть предупреждение на "if (a=b) ..." У BCB6 это W8060 Possible incorrect assigment Конечно, это предупреждение можно отключить, но я никому не советую этого делать. Такую описку вполне может допустить даже опытный программист, а последствия очень тяжелы и трудно обнаружаемы.
0
4226 / 1796 / 211
Регистрация: 24.11.2009
Сообщений: 27,562
25.11.2011, 13:26 11
Цитата Сообщение от Kovar Посмотреть сообщение
то я сделал не так вроде условие выхода есть
И какое же? Успешность присваивания? Или присваивание не ноля?

Добавлено через 2 минуты
Цитата Сообщение от Kovar Посмотреть сообщение
но всё равно не решил её
Значит ((z==1)||(z==1.0))
0
go
Эксперт С++
3646 / 1378 / 243
Регистрация: 16.04.2009
Сообщений: 4,526
25.11.2011, 15:33 12
Байт, в этом нет ничего такого, a присвоится значение b, и если b!=0, то выполнятся следующий блок команд
0
4226 / 1796 / 211
Регистрация: 24.11.2009
Сообщений: 27,562
25.11.2011, 16:25 13
Цитата Сообщение от go Посмотреть сообщение
Байт, в этом нет ничего такого, a присвоится значение b, и если b!=0, то выполнятся следующий блок команд
Но предупреждение в этом случае должно выдаваться на случай очепятки, так как чаще всё таки подразумевают сравнение, о чём и должен каждый раз "догадываться" компилятор и намекать программисту. Если программист не реагирует, тогда и только тогда "делается вывод" о том, что имелось ввиду именно присваивание и остаётся тот код, который сгенерен при компиляции с предупреждением. Иначе программист исправит ошибку и заставит компилятор всё перекомпилить.
0
Модератор
Эксперт PythonЭксперт JavaЭксперт CЭксперт С++
12832 / 7569 / 1764
Регистрация: 25.07.2009
Сообщений: 13,965
25.11.2011, 17:04 14
Цитата Сообщение от Байт Посмотреть сообщение
Уважающий себя компилятор должен выкинуть предупреждение на "if (a=b) ..."
С чего бы это?
C
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
#include <stdio.h>
    
int main(void){
    int a, b, c;
    
    a = 1;
    b = 0;
    
    if ( c = a )
        printf("C is good!\n");
    else
        printf("C is bad!\n");
    
    if ( c = b )
        printf("C is good!\n");
    else
        printf("C is bad!\n");
    
    return 0;
}
Код
C:\c_cpp\shitcode>cl abc.c
Microsoft (R) 32-bit C/C++ Optimizing Compiler Version 14.00.50727.42 for 80x86
Copyright (C) Microsoft Corporation.  All rights reserved.

abc.c
Microsoft (R) Incremental Linker Version 8.00.50727.42
Copyright (C) Microsoft Corporation.  All rights reserved.

/out:abc.exe
abc.obj

C:\c_cpp\shitcode>gcc -o abc abc.c

C:\c_cpp\shitcode>abc
C is good!
C is bad!
Это у борландовского компилятора параноя, но в прочем ингода действительно может от подобных ошибок спасать...
Если ты параноик - это ещё не значит, что за тобой не следят!
(с)
1
4226 / 1796 / 211
Регистрация: 24.11.2009
Сообщений: 27,562
25.11.2011, 17:39 15
Цитата Сообщение от Байт Посмотреть сообщение
Уважающий себя компилятор должен выкинуть предупреждение на "if (a=b)
Не себя, а программиста. Если же он уважает только себя, то точно промолчит, но может самостоятельно исправить, что уже ни в какие ворота не лезет.

Добавлено через 53 секунды
Цитата Сообщение от easybudda Посмотреть сообщение
Это у борландовского компилятора параноя, но в прочем ингода действительно может от подобных ошибок спасать...
У мелкомягкого тоже? Кто из них от кого заразился? Билдер от студии, или студия от билдера?
0
go
Эксперт С++
3646 / 1378 / 243
Регистрация: 16.04.2009
Сообщений: 4,526
25.11.2011, 18:12 16
Цитата Сообщение от taras atavin Посмотреть сообщение
У мелкомягкого тоже? Кто из них от кого заразился? Билдер от студии, или студия от билдера?
У студии нет таких предупреждений
Знаете, бывает удобно писать
C++
1
2
3
4
5
6
while ( stack = stack->next )
{
 
...
 
}
0
25.11.2011, 18:12
BasicMan
Эксперт
29316 / 5623 / 2384
Регистрация: 17.02.2009
Сообщений: 30,364
Блог
25.11.2011, 18:12
Помогаю со студенческими работами здесь

Бесконечный цикл
Здравствуйте, кто мне может объяснить почему у меня в этом участке кода бесконечный цикл, а именно,...

Бесконечный цикл
Задача: Ввести количество камней, ввести вес каждого камня, сложить камни в 2 кучки так чтобы...

Бесконечный цикл
if (!(cin &gt;&gt; Mas &gt;&gt; Rost)) { cout &lt;&lt; &quot;Ошибка\n&quot;; continue; } В общем при вводе букв...

Бесконечный цикл
#include&lt;iostream&gt; #include &quot;conio.h&quot; using namespace std; void Show(int y, int* arr) {...

Бесконечный цикл
Доброго времени суток! Написал программу в среде Visual Studio 2010 Win32 project, но в ней...

Бесконечный цикл
Как ввести программу в бесконечный цикл на C++ ? Смотрел видео где делали бесконечный цикл (НО!)...


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

Или воспользуйтесь поиском по форуму:
16
Ответ Создать тему
Блоги программистов
Как перейти с Options API на Composition API в Vue.js
BasicMan 06.01.2025
Почему переход на Composition API актуален В мире современной веб-разработки фреймворк Vue. js продолжает эволюционировать, предлагая разработчикам все более совершенные инструменты для создания. . .
Архитектура современных процессоров
inter-admin 06.01.2025
Процессор (центральный процессор, ЦП) является основным вычислительным устройством компьютера, которое выполняет обработку данных и управляет работой всех остальных компонентов системы. Архитектура. . .
История создания реляционной модели баз данных, правила Кодда
Programming 06.01.2025
Предпосылки создания реляционной модели В конце 1960-х годов компьютерная индустрия столкнулась с серьезными проблемами в области управления данными. Существовавшие на тот момент модели данных -. . .
Полезные поделки на Arduino, которые можно сделать самому
raxper 06.01.2025
Arduino как платформа для творчества Arduino представляет собой удивительную платформу для технического творчества, которая открывает безграничные возможности для создания уникальных проектов. Эта. . .
Подборка решений задач на Python
IT_Exp 06.01.2025
Целью данной подборки является предоставление возможности ознакомиться с различными задачами и их решениями на Python, что может быть полезно как для начинающих, так и для опытных программистов. . . .
С чего начать программировать микроконтроллер­­ы
raxper 06.01.2025
Введение в мир микроконтроллеров Микроконтроллеры стали неотъемлемой частью современного мира, окружая нас повсюду: от простых бытовых приборов до сложных промышленных систем. Эти маленькие. . .
Из чего собрать игровой компьютер
inter-admin 06.01.2025
Сборка игрового компьютера требует особого внимания к выбору комплектующих и их совместимости. Правильно собранный игровой ПК не только обеспечивает комфортный геймплей в современных играх, но и. . .
Обновление сайта www.historian.b­y
Reglage 05.01.2025
Обещал подвести итоги 2024 года для сайта. Однако начну с того, что изменилось за неделю. Добавил краткий урок по последовательности действий при анализе вредоносных файлов и значительно улучшил урок. . .
Как использовать GraphQL в C# с HotChocolate
Programming 05.01.2025
GraphQL — это современный подход к разработке API, который позволяет клиентам запрашивать только те данные, которые им необходимы. Это делает взаимодействие с API более гибким и эффективным по. . .
Модель полного двоичного сумматора с помощью логических операций (python)
AlexSky-coder 04.01.2025
def binSum(x:list, y:list): s=^y] p=x and y for i in range(1,len(x)): s. append((x^y)^p) p=(x and y)or(p and (x or y)) return s x=list() y=list()
Это мы не проходили, это нам не задавали...(аси­­­­­­­­­­­­­­­­­­­­­­­­­­х­р­о­н­­н­­­ы­­й счётчик с управляющим сигналом зад
Hrethgir 04.01.2025
Асинхронный счётчик на сумматорах (шестиразрядный по числу диодов на плате, но наверное разрядов будет больше - восемь или шестнадцать, а диоды на старшие), так как триггеры прошли тестирование и. . .
Руководство по созданию бота для Телеграм на Python
IT_Exp 04.01.2025
Боты для Телеграм представляют собой автоматизированные программы, которые выполняют различные задачи, взаимодействуя с пользователями через интерфейс мессенджера. В данной статье мы рассмотрим,. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2025, CyberForum.ru