Форум программистов
 
Контакты: о проблемах с регистрацией, почтой и по другим вопросам пишите сюда - alarforum@yandex.ru, проверяйте папку спам! Обязательно пройдите активизацию e-mail.

Вернуться   Форум программистов > C++ > Общие вопросы C/C++
Регистрация

Восстановить пароль
Повторная активизация e-mail


Донат для форума - использовать для поднятия настроения себе и модераторам

А ещё здесь можно купить рекламу за 25 тыс руб в месяц! ) пишите сюда - alarforum@yandex.ru

Ответ
 
Опции темы
Старый 29.03.2014, 14:30   #1
AdelinaMango
Пользователь
 
Регистрация: 26.03.2014
Сообщений: 13
Репутация: 10
Восклицание Не могу до конца понять задание

сделала как бы начало, а вот что дальше делать не пойму
Реализовать алгоритм, вычисляющий N первых членов арифметической прогрессии. Вычисления прекращаются досрочно, если очередной элемент попадает в заранее заданный промежуток
PHP код:
#include "stdafx.h"
#include <iostream>
#include <stdio.h>
#include <conio.h>
#include <math.h>
 
int main (void)
{
    
int idana1N;
        
printf("Vvedite d\n");
        
scanf_s("%d", &d);
        
printf("Vvedite kolichestvo chlenov progressii\n");
        
scanf_s("%d", &N);
        
printf("Vvedite a1\n");
        
scanf_s("%d", &a1);
 
        for (
i=0i<Ni++)
        {
            
an=a1+(d*i);
                
printf("%d"an);
        }
        
system("pause");
        return 
0;

AdelinaMango вне форума   Ответить с цитированием
Старый 29.03.2014, 15:01   #2
Streletz
Профессионал
 
Регистрация: 03.01.2014
Сообщений: 2,675
Репутация: 1095
По умолчанию

Цитата:
Вычисления прекращаются досрочно, если очередной элемент попадает в заранее заданный промежуток
Можно проверить принадлежность элемента к заданному диапазону с помощь обычного оператора If. Если элемент входит в диапазон, досрочно выходить из цикла с помощью оператора break.
Streletz вне форума   Ответить с цитированием
Старый 29.03.2014, 15:02   #3
BDA
Модератор
Заслуженный модератор
 
Аватар для BDA
 
Регистрация: 09.11.2010
Адрес: RF Moscow
Сообщений: 5,410
Репутация: 2502

icq: 438888048
По умолчанию

Код:
#include "stdafx.h"
#include <iostream>
#include <stdio.h>
#include <conio.h>
#include <math.h>
 
int
main(void)
{
    int i, d, ai, a1, N, b1, b2;
    printf("Vvedite d\n");
    scanf_s("%d", &d);
    printf("Vvedite kolichestvo chlenov progressii\n");
    scanf_s("%d", &N);
    printf("Vvedite a1\n");
    scanf_s("%d", &a1);
    printf("Vvedite otrezok [b1, b2]\n");
    scanf_s("%d%d", &b1, &b2);
    for (i = 0, ai = a1; i < N && (ai < b1 || ai > b2); ++i) {
        ai = a1 + d * i;
        printf("%d", ai);
    }
    system("pause");
    return 0;
}
Не проверял.
__________________
Пишите язык программирования - это форум программистов, а не экстрасенсов. (<= это подпись )
BDA вне форума   Ответить с цитированием
Старый 29.03.2014, 17:36   #4
Smitt&Wesson
Профессионал
 
Аватар для Smitt&Wesson
 
Регистрация: 31.05.2010
Адрес: г. Киров
Сообщений: 13,936
Репутация: 796

skype: forwardbiznes
По умолчанию

Арифметическая прогрессия, это сума всех предшествующих чисел.
1+2+3+4+5+6.....
В "форе" неверная формула.
__________________
Пиши пьяным, редактируй трезвым.
Справочник по алгоритмам С++ Builder
Smitt&Wesson вне форума   Ответить с цитированием
Старый 29.03.2014, 19:03   #5
AdelinaMango
Пользователь
 
Регистрация: 26.03.2014
Сообщений: 13
Репутация: 10
По умолчанию

Цитата:
Сообщение от Smitt&Wesson Посмотреть сообщение
Арифметическая прогрессия, это сума всех предшествующих чисел.
1+2+3+4+5+6.....
В "форе" неверная формула.
а что не верно то?
AdelinaMango вне форума   Ответить с цитированием
Старый 29.03.2014, 19:14   #6
BDA
Модератор
Заслуженный модератор
 
Аватар для BDA
 
Регистрация: 09.11.2010
Адрес: RF Moscow
Сообщений: 5,410
Репутация: 2502

icq: 438888048
По умолчанию

Имхо, все верно. Думаю, Smitt&Wesson перепутал арифметическую прогрессию и сумму арифметической прогрессии.
__________________
Пишите язык программирования - это форум программистов, а не экстрасенсов. (<= это подпись )
BDA вне форума   Ответить с цитированием
Старый 29.03.2014, 19:42   #7
AdelinaMango
Пользователь
 
Регистрация: 26.03.2014
Сообщений: 13
Репутация: 10
По умолчанию

Цитата:
Сообщение от BDA Посмотреть сообщение
Имхо, все верно. Думаю, Smitt&Wesson перепутал арифметическую прогрессию и сумму арифметической прогрессии.
согласна. вы мне очень помогли, безумно благодарна вам
AdelinaMango вне форума   Ответить с цитированием
Старый 29.03.2014, 19:58   #8
Smitt&Wesson
Профессионал
 
Аватар для Smitt&Wesson
 
Регистрация: 31.05.2010
Адрес: г. Киров
Сообщений: 13,936
Репутация: 796

skype: forwardbiznes
По умолчанию

Цитата:
Сообщение от BDA Посмотреть сообщение
Имхо, все верно. Думаю, Smitt&Wesson перепутал арифметическую прогрессию и сумму арифметической прогрессии.
Думаю, не стоит обсуждать факт существания прогрессий Гауса и пр.
Опять не прав?
Возмите доказательства Слоуна.
__________________
Пиши пьяным, редактируй трезвым.
Справочник по алгоритмам С++ Builder

Последний раз редактировалось Smitt&Wesson; 29.03.2014 в 20:02.
Smitt&Wesson вне форума   Ответить с цитированием
Старый 29.03.2014, 20:35   #9
BDA
Модератор
Заслуженный модератор
 
Аватар для BDA
 
Регистрация: 09.11.2010
Адрес: RF Moscow
Сообщений: 5,410
Репутация: 2502

icq: 438888048
По умолчанию

Цитата:
Сообщение от Википедия
Арифмети́ческая прогре́ссия — последовательность чисел (членов прогрессии), в которой каждое число, начиная со второго, получается из предыдущего добавлением к нему постоянного числа d (шага, или разности прогрессии).
"факт существания прогрессий Гауса" - нагуглил только:
http://files.school-collection.edu.r...0129719128.htm
Цитата:
Похожим образом рассуждал, согласно легенде, маленький Карл Фридрих Гаусс, по праву называвшийся «королем математиков» (princeps mathematicorum). Когда учитель в школе дал ученикам задачу просуммировать все числа от 1 до 40, ученики стали последовательно прибавлять одно число к другому, а Гаусс быстро увидел, что 1 + 40 = 2 + 39 = 3 + 38 = 4 + 37 = ... = 19 + 22 = 20 + 21. Сумма чисел каждой пары равна 41, а всего пар 40/2 = 20, и сумма всех чисел во всех парах будет равна 20 ∙ 41 = 820. Естественно, точно так же можно рассуждать при любом четном количестве чисел n: при этом пар будет n/2, а сумма чисел в каждой паре (n + 1).
То есть, он вывел формулу суммы прогрессии.
"Возмите доказательства Слоуна." - гуглил, но не нашел ничего.
__________________
Пишите язык программирования - это форум программистов, а не экстрасенсов. (<= это подпись )
BDA вне форума   Ответить с цитированием
Старый 29.03.2014, 20:49   #10
Smitt&Wesson
Профессионал
 
Аватар для Smitt&Wesson
 
Регистрация: 31.05.2010
Адрес: г. Киров
Сообщений: 13,936
Репутация: 796

skype: forwardbiznes
По умолчанию

Цитата:
Сообщение от BDA Посмотреть сообщение
"То есть, он вывел формулу суммы прогрессии.
"Возмите доказательства Слоуна." - гуглил, но не нашел ничего.
Вы меня правильнор поняли. Но, если есть желание, давайте обсудим это в параллельной ветке.
__________________
Пиши пьяным, редактируй трезвым.
Справочник по алгоритмам С++ Builder
Smitt&Wesson вне форума   Ответить с цитированием
Ответ

Опции темы

Ваши права в разделе
Вы не можете создавать новые темы
Вы не можете отвечать в темах
Вы не можете прикреплять вложения
Вы не можете редактировать свои сообщения

BB коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.

Быстрый переход

Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Не могу понять задание Орлов Никита Помощь студентам 2 09.12.2012 21:03
C++ не могу понять как сделать массив объектов одного класса в другом (задание внутри) Vladimir_Anatol Помощь студентам 2 12.03.2012 18:56
Объясните задание, не могу понять что от меня хотят) Aerial Общие вопросы C/C++ 5 11.12.2010 10:19
Не могу понять задание amandra Помощь студентам 11 16.10.2007 10:24
Не могу понять задание Юдифь Помощь студентам 2 12.12.2006 18:40


12:46.


Powered by vBulletin® Version 3.8.11
Copyright ©2000 - 2019, Jelsoft Enterprises Ltd.