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

С++ для начинающих

Войти
Регистрация
Восстановить пароль
 
Рейтинг: Рейтинг темы: голосов - 37, средняя оценка - 4.62
CapitainJack
0 / 0 / 0
Регистрация: 20.02.2011
Сообщений: 6
#1

Определить, является ли вводимая последовательность геометрической прогрессией - C++

20.02.2011, 16:55. Просмотров 5017. Ответов 13
Метки нет (Все метки)

С клавиатуры вводятся вещественные числа. Признак конца ввода – 0. Определить, является ли вводимая последовательность геометрической прогрессией.

Как записать код программы в с++???
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
20.02.2011, 16:55
Здравствуйте! Я подобрал для вас темы с ответами на вопрос Определить, является ли вводимая последовательность геометрической прогрессией (C++):

Определить, является ли целочисленный массив арифметической или геометрической прогрессией. - C++
Определить, является ли целочисленный массив арифметической или геометрической прогрессией.

Определить, является ли вводимая последовательность упорядоченной по убыванию. - C++
Помогите, пожалуйста, решить задачку на C/C++: С клавиатуры вводятся вещественные числа. Признак конца ввода – 0. Определить, является...

Определить является ли последовательность арифметической прогрессией - C++
#include <iostream> using namespace std; const int n = 10; int main() { int a; int i, imax=0, imin=0;

Определить, является ли данная последовательность арифметической прогрессией - C++
Помогите пожалуйста с задачей Даны натуральное N и последовательность, состоящая из N целых чисел. Определить, является ли данная...

Является ли одномерный массив геометрической прогрессией? - C++
Задан размер массива вещественных чисел и значения его элементов. Определить, являются ли его элементы членами геометрической прогрессии и...

Найти самую длинную подпоследовательность, которая является арифметической или геометрической прогрессией - C++
В заданной последовательности целых чисел (без 0) найти самую длинную подпоследовательность, которая является арифметической или...

13
Топорик
7 / 7 / 1
Регистрация: 15.02.2011
Сообщений: 19
20.02.2011, 17:17 #2
Вот так. Только протестируй её.
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
#include "stdafx.h"
#include "iostream"
using namespace std;
 
int _tmain(int argc, _TCHAR* argv[])
{
double mas[100]={0},del=0;
int i,j,flag=1;
    for(i=0;;i++)
    {
        cin>>mas[i];
        if(mas[i]==0)
            break;
    }
del=mas[0]/mas[1];
    for(j=0;j<(i-1);j++)
        if((mas[j]/mas[j+1])==del);
        else
            flag=0;
    if(flag==0)
        cout<<"This not progressiv\n";
    else 
        cout<<"This is progressiv\n";
system("PAUSE");
    return 0;
}
0
CapitainJack
0 / 0 / 0
Регистрация: 20.02.2011
Сообщений: 6
20.02.2011, 17:45  [ТС] #3
Вышенапичанный код не работает! Караул!

Добавлено через 58 секунд
можно это записать попроще без разных библиотек типо
#include "stdafx.h" и массивов???

Добавлено через 52 секунды
Используя только оператор while...
0
Топорик
7 / 7 / 1
Регистрация: 15.02.2011
Сообщений: 19
20.02.2011, 18:07 #4
В visual studio 2010 все работает.
Библиотеку stdafx.h вписывает компилятор.
Без массивов нельзя. For поменяй на while, если так хочется
0
CapitainJack
0 / 0 / 0
Регистрация: 20.02.2011
Сообщений: 6
20.02.2011, 18:40  [ТС] #5
Надо сделать примерно так...

#include<iostream.h>
void main(){
int n,min s=0;
cin>>n;
while(n!=0){

и так далее...
поможет кто нибудь???
0
tro9an
3 / 3 / 0
Регистрация: 30.11.2010
Сообщений: 65
Завершенные тесты: 1
20.02.2011, 19:02 #6
чел не наглей, за тебя уже всё сделали.
если надо через while, то просто поменяй цикл for на while
0
CapitainJack
0 / 0 / 0
Регистрация: 20.02.2011
Сообщений: 6
20.02.2011, 19:15  [ТС] #7
tro9an, а что толку из того что сделали? сам попробуй в билдере запустить и увидешь что компилятор ошибку выдаст
0
Vandris
63 / 63 / 13
Регистрация: 19.01.2011
Сообщений: 94
20.02.2011, 19:15 #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
25
26
27
28
29
30
31
32
33
/*С клавиатуры вводятся вещественные числа. Признак конца ввода – 0.
Определить, является ли вводимая последовательность геометрической прогрессией.
 
без массивов*/
 
#include <iostream>
 
int main()
{
    setlocale(2, ".1251");
    long cur, prev, ratio;
    std::cin >> prev >> cur;
    if (!prev || !cur)
    {
        std::cout << "Ввод закончен!";
        return 0;
    }
    ratio = cur/prev;
    while (1e-3) //просто бесконечный цикл, не спрашивайте про 1e-3, вместо него можно поставить любое число, кроме 0 =)
    {
        std::cin >> prev;
        if (!prev)
            break;
        if ((prev/cur) != ratio)
        {
            std::cout << "Это не прогрессия!";
            return 0;
        }
        std::swap(prev, cur);
    }
    std::cout << "Это прогрессия!";
    return 0;
}
0
DAgot_
22 / 22 / 1
Регистрация: 03.01.2010
Сообщений: 68
20.02.2011, 19:17 #9
Вот без массивов и с 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
30
31
32
33
34
35
36
37
38
39
40
41
#include    <iostream>
 
int main(){
 
    double a, b, c = 1, d;
    bool no = true;
 
    std::cout << "Enter number:\t";
    std::cin >> a;
    std::cout << "\n";
 
    std::cout << "Enter number:\t";
    std::cin >> b;
    std::cout << "\n";
 
    d = a / b;
 
    while (c != 0){
 
        std::cout << "Enter number:\t";
        std::cin >> c;
        std::cout << "\n";
 
        if(c != 0){
            if(b / c != d)
                no = true;
            else
                no = false;
        }
 
        b = c;
 
    }
 
    if(!no)
        std::cout << "Yes" << "\n";
    else
        std::cout << "No" << "\n";
 
    return 0;
}
Говнокод тот ещё, но вроде работает.
1
asics
Freelance
Эксперт С++
2848 / 1783 / 144
Регистрация: 09.09.2010
Сообщений: 3,841
20.02.2011, 19:17 #10
Цитата Сообщение от Vandris Посмотреть сообщение
C++
1
std::swap
+
C++
1
#nclude <algorithm>
0
CapitainJack
0 / 0 / 0
Регистрация: 20.02.2011
Сообщений: 6
20.02.2011, 19:49  [ТС] #11
Цитата Сообщение от DAgot_ Посмотреть сообщение
Вот без массивов и с 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
30
31
32
33
34
35
36
37
38
39
40
41
#include    <iostream>
 
int main(){
 
    double a, b, c = 1, d;
    bool no = true;
 
    std::cout << "Enter number:\t";
    std::cin >> a;
    std::cout << "\n";
 
    std::cout << "Enter number:\t";
    std::cin >> b;
    std::cout << "\n";
 
    d = a / b;
 
    while (c != 0){
 
        std::cout << "Enter number:\t";
        std::cin >> c;
        std::cout << "\n";
 
        if(c != 0){
            if(b / c != d)
                no = true;
            else
                no = false;
        }
 
        b = c;
 
    }
 
    if(!no)
        std::cout << "Yes" << "\n";
    else
        std::cout << "No" << "\n";
 
    return 0;
}
Говнокод тот ещё, но вроде работает.

а как записисать это без пространства имен - std ???

например:
std::cout << "Hello, world!" << std::endl;


а надо:

cout << "Hello, world!" <<endl;


просто если я начал стирать "std::" и программа работать бросает тогда....помогите плиз...
0
tro9an
3 / 3 / 0
Регистрация: 30.11.2010
Сообщений: 65
Завершенные тесты: 1
20.02.2011, 19:56 #12
в самом вверху напиши using namespace std;
0
CapitainJack
0 / 0 / 0
Регистрация: 20.02.2011
Сообщений: 6
20.02.2011, 19:58  [ТС] #13
Цитата Сообщение от DAgot_ Посмотреть сообщение
Вот без массивов и с 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
30
31
32
33
34
35
36
37
38
39
40
41
#include    <iostream>
 
int main(){
 
    double a, b, c = 1, d;
    bool no = true;
 
    std::cout << "Enter number:\t";
    std::cin >> a;
    std::cout << "\n";
 
    std::cout << "Enter number:\t";
    std::cin >> b;
    std::cout << "\n";
 
    d = a / b;
 
    while (c != 0){
 
        std::cout << "Enter number:\t";
        std::cin >> c;
        std::cout << "\n";
 
        if(c != 0){
            if(b / c != d)
                no = true;
            else
                no = false;
        }
 
        b = c;
 
    }
 
    if(!no)
        std::cout << "Yes" << "\n";
    else
        std::cout << "No" << "\n";
 
    return 0;
}
Говнокод тот ещё, но вроде работает.
а как будет выглядить алгортим данной программы ввиде блок схемы???
0
Vandris
63 / 63 / 13
Регистрация: 19.01.2011
Сообщений: 94
20.02.2011, 20:01 #14
asics, у меня gcc 4.5.1 и без algorithm компилирует я даже начал было думать что std::swap в iostream, а проверять все лень было
0
20.02.2011, 20:01
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
20.02.2011, 20:01
Привет! Вот еще темы с ответами:

Проверить, является ли последовательность прогрессией или нет? - C++
Дан последовательность из N целых чисел (N задаётся с клавиатуры). Проверить, является ли данная последовательность прогрессией или нет?...

Заполнить массив геометрической прогрессией 2, 6, 18, 54... - C++
Дано одномерный массив размерностью N, заполнить массив геометрической прогрессией 2, 6 , 18 , 54 ...Зарание огромное спасибо))

Вывести значения членов ряда, образованных геометрической прогрессией - C++
Задача 6. Написать алгоритм или программу, которая выводит значения членов ряда, образованных геометрической прогрессией. Начальный...

Вводится последовательность из N вещественных чисел. Определить, является ли последовательность знакочередующе - C++
Вводится последовательность из N вещественных чисел. Определить, является ли последовательность знакочередующейся. не пойму как сделать,...


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

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

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