0 / 0 / 0
Регистрация: 20.02.2011
Сообщений: 6
1

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

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

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

Как записать код программы в с++???
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
20.02.2011, 16:55
Ответы с готовыми решениями:

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

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

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

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

13
7 / 7 / 2
Регистрация: 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
0 / 0 / 0
Регистрация: 20.02.2011
Сообщений: 6
20.02.2011, 17:45  [ТС] 3
Вышенапичанный код не работает! Караул!

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

Добавлено через 52 секунды
Используя только оператор while...
0
7 / 7 / 2
Регистрация: 15.02.2011
Сообщений: 19
20.02.2011, 18:07 4
В visual studio 2010 все работает.
Библиотеку stdafx.h вписывает компилятор.
Без массивов нельзя. For поменяй на while, если так хочется
0
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
4 / 4 / 1
Регистрация: 30.11.2010
Сообщений: 69
20.02.2011, 19:02 6
чел не наглей, за тебя уже всё сделали.
если надо через while, то просто поменяй цикл for на while
0
0 / 0 / 0
Регистрация: 20.02.2011
Сообщений: 6
20.02.2011, 19:15  [ТС] 7
tro9an, а что толку из того что сделали? сам попробуй в билдере запустить и увидешь что компилятор ошибку выдаст
0
66 / 65 / 29
Регистрация: 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
24 / 24 / 6
Регистрация: 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
Freelance
Эксперт С++
2891 / 1826 / 356
Регистрация: 09.09.2010
Сообщений: 3,841
20.02.2011, 19:17 10
Цитата Сообщение от Vandris Посмотреть сообщение
C++
1
std::swap
+
C++
1
#nclude <algorithm>
0
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
4 / 4 / 1
Регистрация: 30.11.2010
Сообщений: 69
20.02.2011, 19:56 12
в самом вверху напиши using namespace std;
0
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
66 / 65 / 29
Регистрация: 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
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
20.02.2011, 20:01
Помогаю со студенческими работами здесь

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

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

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

Определить, что вводимая последовательность чисел перестала возрастать
Миллионер мистер Блэк очень не любит инфляцию, которая ежегодно «съедает» 12% его состояния....


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

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

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