Форум программистов, компьютерный форум, киберфорум
C для начинающих
Войти
Регистрация
Восстановить пароль
Карта форума Темы раздела Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.57/7: Рейтинг темы: голосов - 7, средняя оценка - 4.57
0 / 0 / 0
Регистрация: 23.02.2015
Сообщений: 18
1

Программа должна вычислять введенное треугольное число и позволяя пользователю многократный ввод

22.03.2015, 18:48. Показов 1369. Ответов 7
Метки нет (Все метки)

Author24 — интернет-сервис помощи студентам
Всем привет!
Программа должна вычислять введенное треугольное число и позволяя пользователю многократный ввод.
Проблема в том что, если ввести следующее число то, она складывается с первым, например,

Треугольное число 5 = 15
Треугольное число 5 = 30 (она складывается с первым значением)
и объясните почему, если убрать второй scanf в коде то, цикл не останавливается, становиться бесконечным
C
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
#include <stdio.h>
int main ()
{
    int n, number, triangularNumber, n2;
        n2 = 0;
        triangularNumber = 0;
        printf ("What triangular number do you want? ");
        scanf("%i", &number);
        while (n2 <= number)
        {
         for (n = n2; n <= number; ++n)
            triangularNumber += n;
        printf("Triangular number %i is %i\n\n", number, triangularNumber);
        printf ("Enter next triangular number ");
        scanf("%i", &number);
        }
 
    return 0;
}
0
Лучшие ответы (1)
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
22.03.2015, 18:48
Ответы с готовыми решениями:

Программа сначала должна подсчитывать сумму ,а потом вычислять наибольшее число
Подскажите,где насобирала ошибки?сначала должен подсчитывать сумму ,а потом вычислять наибольшее...

Не работает программа, которая должна преобразовывать введенное с клавиатуры число в римскую цифру
.model tiny .286 ORG 100H .code jmp @start ...

Программа должна вычислять сколько дней продлится отпуск
Отпуск начинается в А июня и заканчивается в B июля. Программа должна вычислять сколько дней...

Программа должна вычислять значение функции cos(x) действительного аргумента x
Написать программу для вычисления значения функции cos(x) действительного аргумента x с точностью...

7
Диссидент
Эксперт C
27706 / 17322 / 3812
Регистрация: 24.12.2010
Сообщений: 38,979
22.03.2015, 20:28 2
Debi, тэги кода ставь, пожалуйста. Неужели за месяц не научился?
1
Модератор
Эксперт функциональных языков программированияЭксперт Python
36601 / 20330 / 4220
Регистрация: 12.02.2012
Сообщений: 33,644
Записей в блоге: 13
22.03.2015, 21:35 3
Цитата Сообщение от Debi Посмотреть сообщение
цикл не останавливается, становиться бесконечным
- скорее всего, потому, что n2 не меняется, а остается равной нулю.

Интереснее другое: "не останавливается" (третье лицо, мягкого знака нет, все верно) и тут же "становиться" (то же третье лицо... Зачем мягкий знак???) Как же надо не любить русский язык, чтобы так его коверкать?! Кто тебя учил?
2
Диссидент
Эксперт C
27706 / 17322 / 3812
Регистрация: 24.12.2010
Сообщений: 38,979
22.03.2015, 21:58 4
Цитата Сообщение от Catstail Посмотреть сообщение
n2 не меняется, а остается равной нулю.
Ну да. Единственный способ окончить цикл, это ввести в scanf (строка 15) 0 или отрицательное (number).
Цитата Сообщение от Catstail Посмотреть сообщение
Кто тебя учил?
Вы знаете, я в последнее время перестал обращать на это внимание. Потому что у нас на форуме (да и не только) очень много людей как-бы русскоязычных, но которых, увы! НИКТО НЕ УЧИЛ. В республиках бывшего союза (ныне - государствах) русский язык как правило, не в почете. Хоть как-то говорят, общаются, и то ладно.
ИМХО, в этом вопросе надо брать пример с наших зарубежных коллег. На каком бы чудовищном Бзйсик-Инглишь ты не говорил, тебя попытаются понять и понятно ответить. Мне кажется, именно на этом принципе английский и завоевал мир.
0
foo();
886 / 587 / 222
Регистрация: 03.07.2013
Сообщений: 1,549
Записей в блоге: 2
22.03.2015, 23:04 5
Цитата Сообщение от Debi Посмотреть сообщение
C
1
2
for (n = n2; n <= number; ++n)
    triangularNumber += n;
Математика уже не в моде?
C
1
2
3
4
5
6
int val;
do
{
    scanf("%d", &val);
    printf("triangular - %d\n", (val + 1) * val / 2);
} while (val > 0);
1
1978 / 1082 / 87
Регистрация: 29.11.2013
Сообщений: 3,353
23.03.2015, 00:07 6
Лучший ответ Сообщение было отмечено Debi как решение

Решение

Не по теме:

Цитата Сообщение от Байт Посмотреть сообщение
В республиках бывшего союза (ныне - государствах) русский язык как правило, не в почете.
у Вас искаженная информация. Я одессит, у нас украиноязычный - это либо приезжий, либо "провинциал" (из области приехал). Конечно в свете последних событий тотальной промывки мозгов появилось много местных укрозомбей, но нормальные люди (в абсолютном большинстве) на них смотрят как на прокаженных.


Цитата Сообщение от Debi Посмотреть сообщение
если убрать второй scanf в коде то, цикл не останавливается
Всё просто. В потоке ввода остается символ перевода строки, второй scanf его "съедает". Как избавиться от этой проблемы - на форуме море тем.
Цитата Сообщение от Debi Посмотреть сообщение
Проблема в том что, если ввести следующее число то, она складывается с первым
Программа маленькая. Проследите ее построчно и всё выявится. Это логическая ошибка в самом алгоритме.

Добавлено через 2 минуты

Не по теме:

Цитата Сообщение от rattrapper Посмотреть сообщение
Математика уже не в моде?
как бы уже давно =))

1
Catstail
23.03.2015, 06:41
  #7

Не по теме:

Цитата Сообщение от Байт Посмотреть сообщение
Мне кажется, именно на этом принципе английский и завоевал мир.
- сначала мир завоевала Британия (своей экономикой), Америка добавила. Британия уже не доминирует, а язык остался.

0
4226 / 1795 / 211
Регистрация: 24.11.2009
Сообщений: 27,562
23.03.2015, 06:50 8
Цитата Сообщение от Байт Посмотреть сообщение
ИМХО, в этом вопросе надо брать пример с наших зарубежных коллег. На каком бы чудовищном Бзйсик-Инглишь ты не говорил, тебя попытаются понять и понятно ответить. Мне кажется, именно на этом принципе английский и завоевал мир.
Если бы уже в ту пору даже носители английского не понимали на этом языке друг друга, то они бы не то что мир не завоевали, а даже свой остров давно бы сдали любому, кто на него позарился бы.
0
23.03.2015, 06:50
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
23.03.2015, 06:50
Помогаю со студенческими работами здесь

Функция должна вычислять число положительных элементов массива и число элементов больших вычисленного числа
Функция должна вычислять число положительных элементов массива и число элементов больших...

Программа должна вычислять значение функции exp(x) действительного аргумента x с точностью ε с использованием рекурсии.
Построить рекурсивный алгоритм, записать алгоритм в виде блок-схемы и на алгоритмическом языке....

В зависимости от введённого символа L, S, V программа должна вычислять длину окружности; площадь круга; объём цилиндра
В зависимости от введённого символа L, S, V программа должна вычислять длину окружности; площадь...

Программа должна запросить 3 натуральных числа - знаменатели трех дробей, вычислять и выводить на экран наименьший общий знаменатель.
1) Для сложения трех обыкновенных дробей со знаменателями a, b и c (1&lt;a,b,c&lt;1200) нужно найти...


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

Или воспользуйтесь поиском по форуму:
8
Ответ Создать тему
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2024, CyberForum.ru