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

надо переделать программу - C++

Восстановить пароль Регистрация
 
Динар Габбасов
Заблокирован
17.11.2011, 15:29     надо переделать программу #1
помогите переделать на Си или с++
Код
Program posled;
        uses crt;
        var i,n,x1,x2,f:integer;
Begin
      clrscr;
      writeln('Введите количество членов ряда');readln(n);
      writeln('Введите первое число ряда');readln(x1);
f:=1;
      for i:=2 to n do
         begin
               writeln('Введите продолжение ряда');readln(x2);
                if (x2<x1) then begin f:=0;break;end;
x1:=x2;
         end;
         if f=1 then writeln ('Последовательность возрастающая')
                else writeln ('Последовательность не является возрастающей');
End.
вот сама задача : программа должна проверять представляют ли элементы введенного с клавиатуры массива возрастающую последовательность
Спасибо большое заранее
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
Chelioss
179 / 179 / 4
Регистрация: 08.01.2011
Сообщений: 1,131
17.11.2011, 15:37     надо переделать программу #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
27
28
29
30
31
#include <iostream>
using namespace std;
 
int main()
{
    setlocale( LC_ALL, "rus" );
        int i, n, x1, x2, f;
    cout << "Введите количество членов ряда ";
    cin >> n;
    cout << "Введите первое число ряда ";
    cin >> x1;
    f = 1;
    for( i = 2; i <= n; ++i )
    {
        cout << "Введите продолжение ряда\n";
        cin >> x2;
        if( x2 < x1 ) 
        {
            f = 0;
            break;
        }
        x1 = x2;
    }
    if( f == 1 )
        cout << "Последовательность возрастающая\n";
    else
        cout << "Последовательность не является возрастающей\n";
 
    system( "pause" ); // задержка, чтобы можно было увидеть результат работы прежде чем программа закроется
        return 0;
}
Динар Габбасов
Заблокирован
17.11.2011, 16:14  [ТС]     надо переделать программу #3
\ сам переделал таким образом но у меня ошибка выходит не подскажите почему?
плюс я не могу понять вот эту часть
f = 1;
for( i = 2; i <= n; ++i )
{
printf ("vvedite prodoljenie ryada\n");
scanf (" %i", x2);
if( x2 < x1 )
{
f = 0;
break;
}
x1 = x2;
}
if( f == 1 )

Код
#include "stdafx.h"
#include <iostream>
 
int main()
{
        int i, n, x1, x2, f;
        printf ("vvedite kollichestvo chlenov ryada");
        scanf (" %i",n);
        printf ("vvedite pervoe chislo ryada");
        scanf (" %i", x1);
        f = 1;
        for( i = 2; i <= n; ++i )
        {
                printf ("vvedite prodoljenie ryada\n");
				scanf (" %i", x2);
                if( x2 < x1 ) 
                {
                        f = 0;
                        break;
                }
                x1 = x2;
        }
        if( f == 1 )
                printf ("posledovatelnost vozrastaet\n");
        else
                printf ("posledovatelnost ubivaet\n");
 
        system( "pause" ); // задержка, чтобы можно было увидеть результат работы прежде чем программа закроется
        return 0;
}
Chelioss
179 / 179 / 4
Регистрация: 08.01.2011
Сообщений: 1,131
17.11.2011, 16:21     надо переделать программу #4
Цитата Сообщение от Динар Габбасов Посмотреть сообщение
scanf (" %i",n);
Надо функции scanf передавать не переменную n, а ее адрес. Т.е. вам надо написать не n, а &n.
В остальных scanf тоже поправьте.
Динар Габбасов
Заблокирован
17.11.2011, 16:30  [ТС]     надо переделать программу #5
я сделал но при запуске выходит надо ввести колличество членов я ввожу например 5
затем первый член я ввожу 7
следующий член я ввожу 4
и он не проверяет остальное сразу выводит что последовательность убывающая почему так?

Добавлено через 2 минуты
Цитата Сообщение от Динар Габбасов Посмотреть сообщение
f = 1;
for( i = 2; i <= n; ++i )
{
printf ("vvedite prodoljenie ryada\n");
scanf (" %i", x2);
if( x2 < x1 )
{
f = 0;
break;
}
x1 = x2;
}
if( f == 1 )
можете объяснить эту часть?
Chelioss
179 / 179 / 4
Регистрация: 08.01.2011
Сообщений: 1,131
17.11.2011, 16:40     надо переделать программу #6
Цитата Сообщение от Динар Габбасов Посмотреть сообщение
break;
Это уберите и сможете все 5 чисел ввести.
Цитата Сообщение от Динар Габбасов Посмотреть сообщение
можете объяснить эту часть?
Что тут непонятного?
Динар Габбасов
Заблокирован
17.11.2011, 16:51  [ТС]     надо переделать программу #7
Цитата Сообщение от Динар Габбасов Посмотреть сообщение
if( x2 < x1 )
{
f = 0;
break;
}
x1 = x2;
}
if( f == 1 )
можно описать что там происходит?
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
17.11.2011, 17:03     надо переделать программу
Еще ссылки по теме:

C++ надо переделать
C++ Написал программу на С++, надо переделать на С (пару строк!)
Надо переделать немного программу C++

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

Или воспользуйтесь поиском по форуму:
Chelioss
179 / 179 / 4
Регистрация: 08.01.2011
Сообщений: 1,131
17.11.2011, 17:03     надо переделать программу #8
В цикле for каждый раз проверяем: если x2 меньше x1, то к переменной f приравниваем нуль и выходим из цикла for оператором break.
В каждом проходе цикла for приравниваем к x1 переменную x2.
После работы цикла, проверяем, равно ли f единице и если равно, то выводим сообщение о возраст. посл., а если нет, то выводим сообщение о не возраст. послед.
Yandex
Объявления
17.11.2011, 17:03     надо переделать программу
Ответ Создать тему
Опции темы

Текущее время: 19:32. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru