Форум программистов, компьютерный форум, киберфорум
Наши страницы
C для начинающих
Войти
Регистрация
Восстановить пароль
 
Рейтинг 4.50/4: Рейтинг темы: голосов - 4, средняя оценка - 4.50
himiko000
0 / 0 / 0
Регистрация: 26.03.2014
Сообщений: 32
1

Реализовать алгоритм, вычисляющий N первых членов арифметической прогрессии

29.03.2014, 13:46. Просмотров 688. Ответов 8
Метки нет (Все метки)

сделала как бы начало, а вот что дальше делать не пойму
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
#include "stdafx.h"
#include <iostream>
#include <stdio.h>
#include <conio.h>
#include <math.h>
 
int main (void)
{
    int i, d, an, a1, N;
        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=0; i<N; i++)
        {
            an=a1+(d*i);
                printf("%d", an);
        }
        system("pause");
        return 0;
}
0
Лучшие ответы (1)
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
29.03.2014, 13:46
Ответы с готовыми решениями:

Реализовать алгоритм, вычисляющий N первых членов арифметической прогрессии
Реализовать алгоритм,вычисляющий N первых членов арифметической прогрессии....

Реализовать алгоритм, вычисляющий N первых членов и сумму N первых членов геометрической прогрессии.
реализовать алгоритм,вычисляющий N первых членов и сумму N первых членов...

Написать рекурсивный алгоритм, вычисляющий n-ный член арифметической прогрессии
Нужна помощь, нужно написать рекурсивный алгоритм, вычисляющий n-ный член...

Вычислить N первых членов арифметической прогрессии
можно подробно пожалуйста, очень хотелось бы понять действия

Сумма первых членов арифметической прогрессии ( Рекурсия )
Геометрической* Даны первый член и знаменатель геометрической прогрессии....

8
magirus
Почетный модератор
Эксперт по компьютерным сетямЭксперт Windows
27958 / 15680 / 959
Регистрация: 15.09.2009
Сообщений: 67,825
Записей в блоге: 78
29.03.2014, 13:48 2
а как бы само задание где?
0
himiko000
0 / 0 / 0
Регистрация: 26.03.2014
Сообщений: 32
29.03.2014, 13:49  [ТС] 3
упс, извините за не внимательность.
Реализовать алгоритм, вычисляющий N первых членов арифметической прогрессии. Вычисления прекращаются досрочно, если очередной элемент попадает в заранее заданный промежуток
0
Vtulhu
423 / 377 / 200
Регистрация: 12.08.2011
Сообщений: 1,610
29.03.2014, 14:08 4
Цитата Сообщение от himiko000 Посмотреть сообщение
C
1
2
3
4
5
6
7
include <iostream>
 
int main (void)
 
* * * * printf("Vvedite kolichestvo chlenov progressii\n");
 
* * * * system("pause");
Цитата Сообщение от himiko000 Посмотреть сообщение
сделала как бы начало, а вот что дальше делать не пойму
Уже неважно, вышеупомянутых строк достаточно, чтобы получить кол по информатике сразу за четверть.
0
himiko000
0 / 0 / 0
Регистрация: 26.03.2014
Сообщений: 32
29.03.2014, 14:09  [ТС] 5
ну раз так, значит нас на кол преподаватель и учит)
0
Vtulhu
423 / 377 / 200
Регистрация: 12.08.2011
Сообщений: 1,610
29.03.2014, 14:53 6
Лучший ответ Сообщение было отмечено himiko000 как решение

Решение

Цитата Сообщение от himiko000 Посмотреть сообщение
ну раз так, значит нас на кол преподаватель и учит)
Это печально. Советую скачать вот эту программу - http://ru.wikipedia.org/wiki/Tiny_C_Compiler

А вот решение Вашей задачи на нормальном языке С (а не на той матерщине, на которой Вас учит писать Ваш преподаватель). Использована "Дьявольская последовательность" из книги Жака Арсака "Программирование игр и головоломок".

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
30
31
#include <stdbool.h>
#include <limits.h>
#include <stdio.h>
 
#define MAX_DIABOLICAL (UINT_MAX / 3)
 
unsigned int diabolical(unsigned int p)
{
    if( p & 1 ) p = 3 * p + 1;
    return p / 2;
}
 
int main(int argc, char* argv[])
{
    char buf[10];
    puts("Enter first number for diabolical sequence (up to 999999999):");
    fgets(buf, sizeof(buf), stdin);
 
    unsigned int p = atoi(buf);
 
    while( p > 1 ) {
        if( p > MAX_DIABOLICAL ) {
            puts("ERROR: Next number is too large");
            break;
        }
        p = diabolical(p);
        printf("%d ", p);
    }
 
    return 0;
}
3
S_el
2220 / 1683 / 354
Регистрация: 15.12.2013
Сообщений: 6,690
29.03.2014, 14:54 7
himiko000, а вы уверены,что вам нужно сделать задание на C?
1
himiko000
0 / 0 / 0
Регистрация: 26.03.2014
Сообщений: 32
29.03.2014, 15:22  [ТС] 8
благодарю вас)
не трудно ли вам объяснить? просто многих операторов которые вы использовали мы еще не проходили)
0
Vtulhu
423 / 377 / 200
Регистрация: 12.08.2011
Сообщений: 1,610
29.03.2014, 15:43 9
unsigned - беззнаковый тип.

UINT_MAX - максимальное значение типа unsigned int (константа содержится в файле limits.h).

if(p & 1) - проверка на четность. Результат этого выражения либо 0 (четный), либо 1 (нечетный). Так как число 0 одновременно означает в C "ложь", а любое другое - "истина", то получается "если p нечетное".

fgets - один из самых надежных способов вводить данные. Рекомендуется использовать его, а не scanf. В данном случае мы скопировали то, что человек ввел с клавиатуры (stdin), в буфер buf, который имеет размер sizeof(buf), т.е. 10. Длина буфера должна быть на единицу больше, чем максимальная строка, которую мы собираемся вводить! Потому что fgets насильно добавляет завершающий нулевой символ (вот почему он лучше, чем все остальные способы, которые могут приводить к трудноуловимым багам).

atoi означает ascii to int. То есть эта команда превращает строку (в данном случае buf) в число.

Что еще? puts выводит строку на экран. break насильно прерывает цикл (в данном случае while).
1
29.03.2014, 15:43
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
29.03.2014, 15:43

Составить программу вычисления некоторых первых членов арифметической прогрессии
Составить программу вычисления суммы первых 180 первых членов арифметической...

Составьте программу вывода первых N членов арифметической прогрессии и вычисления суммы
Составьте программу вывода первых N членов арифметической прогрессии и...

Найти сумму членов арифметической прогрессии
найти членов арифметической прогрессии a,a+b,..., a+(n+1)d.Помогите с задачей я...


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

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

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2018, vBulletin Solutions, Inc.
Рейтинг@Mail.ru