Справочник функций

Ваш аккаунт

Войти через: 
Забыли пароль?
Регистрация
Информацию о новых материалах можно получать и без регистрации:

Почтовая рассылка

Подписчиков: -1
Последний выпуск: 19.06.2015

Помогите исправить ошибку (Массив в c++)

74K
19 ноября 2011 года
YuninDen
5 / / 15.11.2011
Проблема в том, что никак не могу заставить нижнюю функцию (is_sorted) работать. Смысл её в том, чтобы проверить упорядочен ли массив по возрастанию.

Спасибо всем откликнувшимся.

P.S. =) - Смысл в том, что я её никак в "main" не затощу. Какие значения из майн брать, вместо *array и size?

P.S.S. Код C++

Код:
#include<iostream> 
#include<locale>    //!!! Отвечает за работу с локализацией ОС
#include<iomanip>
#include<math.h>
#include<conio.h>
#include<String.h>
#include<ctype.h>
#include<stdlib.h>
#include<windows.h>
#include <vector>
#include <iterator>
#include <algorithm>
#include <numeric>


#include<fstream> // Этот файл обеспечивает работу с файлами
using namespace std;
/* если с файлом работают как главная программа, так и функции, лучше объявить его как глобальную переменную */
ifstream file("test.txt");
// Объявляем функцию, которая будет выдавать индексы:
void ShowIndex( int , float );

bool is_sorted(int *array, int size);

int main()
{  
    if(SetConsoleCP(1251)==0)
    {
        cerr<<"Fialed to set codepage!"<<endl;
    }
    if(SetConsoleOutputCP(1251)==0)
    {
        cerr<<"Failed to set OUTPUT page!"<<endl;
    }
    if(!file)
    {
        cerr<<"Файл test.txt не существует\n";
        return 0;
    }
    float n, min, max; // число, считываемое из файла, минимум и максимум
    int k=0; // количество чисел в файле


    while (1) // как бы бесконечный цикл
    {
        file>>n;
        if (file.eof()) break;
// если достигнут конец файла, выходим из цикла
        if (!k) // если считано первое число (k=0)
        {
            min = n;
            max = n;
        }
        else // если число – не первое
        {
            if (n<min) min=n;
            // если встретилось число меньше, заменяем значение min
            if (n>max) max=n;
            // если встретилось число больше, заменяем значение max
        }
        cout<<n<<' '; k++;
        /* выводим считанное число на экран и увеличиваем счетчик прочитанных чисел */
    }
    cout << endl; // завершаем вывод переводом курсора
    cout<<"Количество чисел в файле: " << k << endl;
    cout<<"Минимальный элемент: " << min<<endl;
    cout<<"Номер(а) минимального элемента: ";
    ShowIndex(k, min);
    // вызываем функцию и передаем ей количество элементов и значение min
    cout<<"Максимальный элемент: " << max <<endl;
    cout<<"Номер(а) максимального элемента: " ;
    ShowIndex(k, max);
    // вызываем функцию и передаем ей количество элементов и значение max



   

    _getch();
    return 0;
}

    bool is_sorted(int *array, int size) {  //Никак не могу заставить эту ф-ию работать
    for (int i = 0; i < size-1; i++) {
    if (array[i+1] > array)
    return false;
    }
    return true;
    }
244
19 ноября 2011 года
UAS
2.0K / / 19.07.2006
Цитата:
Проблема в том, что никак не могу заставить нижнюю функцию (is_sorted) работать.

Естественно, вы же её не вызываете.. Полагаю, Вы тупо взяли два разных исходника (поиска min и max, функция проверки упорядочивания) и не понимаете, почему соединенные они не работают.
В цикле, где min и max проверяйте больше ли текущее число больше предыдущего (для этого надо на каждой итерации запоминать значение текущей цифры).

[COLOR="#c0c0c0"]P.S.: предвижу сообщение "можно по-подробнее", означающее "напишите за меня"[/COLOR]:facepalm:

278
19 ноября 2011 года
Alexander92
1.1K / / 04.08.2008
[QUOTE=YuninDen]
Код:
#include<iostream>    
#include<locale>    //!!! Отвечает за работу с локализацией ОС
#include<iomanip>
#include<math.h>
#include<conio.h>
#include<String.h>
#include<ctype.h>
#include<stdlib.h>
#include<windows.h>
#include <vector>
#include <iterator>
#include <algorithm>
#include <numeric>

[/QUOTE]
И зачем сие извращение?:facepalm:
74K
19 ноября 2011 года
YuninDen
5 / / 15.11.2011
Смысл в том, что я не знаю как вызвать сию ф-ию в майне. И да. это извращение
Реклама на сайте | Обмен ссылками | Ссылки | Экспорт (RSS) | Контакты
Добавить статью | Добавить исходник | Добавить хостинг-провайдера | Добавить сайт в каталог