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

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

Войти
Регистрация
Восстановить пароль
 
Рейтинг: Рейтинг темы: голосов - 9, средняя оценка - 4.78
qretik
1 / 1 / 0
Регистрация: 24.10.2012
Сообщений: 138
#1

Выяснить образуют ли элементы массива убывающую последовательность - C++

07.12.2012, 21:07. Просмотров 1322. Ответов 12
Метки нет (Все метки)

Дан массив целых чисел Y[N]. Выяснить образуют ли элементы массива убывающую последовательность.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
07.12.2012, 21:07
Здравствуйте! Я подобрал для вас темы с ответами на вопрос Выяснить образуют ли элементы массива убывающую последовательность (C++):

Проверить, образуют ли элементы массива убывающую последовательность - C++
Есть код, но он не корректно работает. Задание звучит так: Проверить, создают ли элементы массива последовательность, которая убывает. ...

Сортировка, или нет? (Вывести индексы массива в том порядке, в котором соответствующие им элементы образуют убывающую последовательность) - C++
Всем привет. Очередная задачка. Вывести индексы массива в том порядке, в котором соответствующие им элементы образуют убывающую...

Удалить из матрицы столбцы, в которых элементы образуют убывающую последовательность - C++
Помогите пожалуйста с заданием по С++ Дана матрица размером 8х12. Удалить из нее столбцы (один или не-сколько) в которых элементы...

Добавить вектор-столбец после всех столбцов, элементы которых образуют убывающую последовательность - C++
Динамический двумерный массив, заполнить случайными числами и добавить вектор-столбец после всех столбцов, элементы которых образуют...

Visual Studio: Вывести номера столбцов матрицы, элементы которых образуют монотонно убывающую или монотонно возрастающую последовательность - C++
Здравствуйте, прошу помощи. Вопрос жизни и смерти. В программировании вообще что-то тяжко. С горем попалам сдаю. 1 курс... тяжело... ...

Проверить, образуют ли характеристики столбцов строго убывающую последовательность. - C++
Дана матрица размером n×m. Назовем характеристикой столбца сумму его положительных элементов. Проверить, образуют ли характеристики...

Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Krugera
23 / 23 / 1
Регистрация: 14.11.2011
Сообщений: 115
07.12.2012, 22:46 #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.h>
int main(int argc, char* argv[])
{
    int n;
    int mas=0;
    cout<<"vvedite kolicshestvo elementov";
    cin>>n;
    int *arr=new int [n];
    for(int i=0;i<n;i++){
        cin>>arr[i];
    }
    mas=arr[0];
    for(i=0;i<n;i++){
        if(mas>arr[i]){
        mas=arr[i];
        }
        if(mas<arr[i]){
        cout<<"ne ubivaushz pocsledovatelnost";
        break;
        }
    }
    if(mas>arr[i])
cout<<"ubivausha9 posledovatelnost"<<endl;
        return 0;
}
I.M.
564 / 547 / 5
Регистрация: 16.12.2011
Сообщений: 1,389
07.12.2012, 22:53 #3
Krugera, не скомпилится. В 14 и 23 строках необъявленная переменная i
Krugera
23 / 23 / 1
Регистрация: 14.11.2011
Сообщений: 115
07.12.2012, 22:56 #4
В 14 строке переменная уже объявлялась в строке 10, а та что в 23- объявлялась в 6. Разве нет?
I.M.
564 / 547 / 5
Регистрация: 16.12.2011
Сообщений: 1,389
07.12.2012, 22:57 #5
Krugera, нет. Область видимости переменной из 10 строки заканчивается на 12.
На 23 строке тоже i
Dani
1393 / 637 / 57
Регистрация: 11.08.2011
Сообщений: 2,282
Записей в блоге: 2
Завершенные тесты: 1
07.12.2012, 22:58 #6
Krugera, та, что объявлена в 14 строке, действует только в области видимости блока цикла, т.е. ее нельзя использовать где-то вне цикла.
Krugera
23 / 23 / 1
Регистрация: 14.11.2011
Сообщений: 115
07.12.2012, 22:58 #7
Странно, потому как у меня программа запускается, но раз вы говорите, я изменю.
Croessmah
Модератор
Эксперт CЭксперт С++
13133 / 7396 / 828
Регистрация: 27.09.2012
Сообщений: 18,227
Записей в блоге: 3
Завершенные тесты: 1
07.12.2012, 23:00 #8
Цитата Сообщение от Krugera Посмотреть сообщение
В 14 строке переменная уже объявлялась в строке 10
область видимости первой переменной i ограничена циклом for

Добавлено через 40 секунд
Цитата Сообщение от Krugera Посмотреть сообщение
Странно, потому как у меня программа запускается, но раз вы говорите, я изменю.
У Вас старый компилятор, поэтому и запускается
Krugera
23 / 23 / 1
Регистрация: 14.11.2011
Сообщений: 115
07.12.2012, 23:16 #9
Стараюсь переписать программу,но теперь возникает проблема в строке 23.
При написании вместо 23 строки
C++
1
2
3
if(mas>arr[n]){
cout<<"ubivausha9 posledovatelnost"<<endl;
    }
при подсчете не убывающей последовательности элементов выдает и что они убывают и что не убывают.При подсчете убывающих все нормально, как правильно исправить?
Про ошибку не видимости переменной после цикла спасибо - не знал . Только учусь.
Dani
1393 / 637 / 57
Регистрация: 11.08.2011
Сообщений: 2,282
Записей в блоге: 2
Завершенные тесты: 1
07.12.2012, 23:21 #10
я последовательность строго убывающей должна быть, или нет?
Krugera
23 / 23 / 1
Регистрация: 14.11.2011
Сообщений: 115
07.12.2012, 23:23 #11
Переписал код, сейчас наверное должно на всех компиляторах работать верно:
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
#include "stdafx.h"
#include <iostream.h>
int main(int argc, char* argv[])
{
    int n;
    int mas=0;
    cout<<"vvedite kolicshestvo elementov";
    cin>>n;
    int *arr=new int [n];
    for(int i=0;i<n;i++){
        cin>>arr[i];
    }
    mas=arr[0];
    for(int j=0;j<n;j++){
        if(mas>arr[j]){
        mas=arr[j];
        }
        if(mas<arr[j]){
        cout<<"ne ubivaushz pocsledovatelnost"<<endl;
        break;
        }
    }
    if(mas==arr[n-1]){
cout<<"ubivausha9 posledovatelnost"<<endl;
    }
        return 0;
}
Dani
1393 / 637 / 57
Регистрация: 11.08.2011
Сообщений: 2,282
Записей в блоге: 2
Завершенные тесты: 1
07.12.2012, 23:27 #12
Я тоже код написал, только для случая, если последовательность не строго убывающая:
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
#include <iostream>
#include <algorithm>
#include <functional>
 
int main()
{
    int a[100], b[100], n;
    std::cin >> n;
     for (int i=0; i<n; ++i)
     {
         std::cin >> a[i];
         b[i] = a[i];
     }
 
    std::sort (b, b+n, std::greater<int> ());
    std::cout << (std::equal (a, a+n, b) ? "YES" : "NO");
    return 0;
}
qretik
1 / 1 / 0
Регистрация: 24.10.2012
Сообщений: 138
07.12.2012, 23:44  [ТС] #13
Фух, спасибо вам, завтра кр, учу коды.
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
07.12.2012, 23:44
Привет! Вот еще темы с ответами:

Определить, представляют ли элементы введенного с клавиатуры массива убывающую последовательность - C++
Написать программу, которая проверяет, представляют ли элементы введенного с клавиатуры массива убывающую последовательность.

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

Проверить, образуют ли элементы массива знакочередующуюся последовательность - C++
Проверить, образуют ли элементы ненулевого массива знакочередующуюся последовательность.

Определить, образуют ли элементы целочисленного массива A (n) неубывающую последовательность - C++
Добрый вечер.очень нужна помощь.... Написать программу, определяющую, образуют ли элементы целочисленного массива A(n) неубывающую...


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

Или воспользуйтесь поиском по форуму:
Yandex
Объявления
07.12.2012, 23:44
Ответ Создать тему
Опции темы

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