Форум программистов, компьютерный форум, киберфорум
С++ для начинающих
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 5.00/5: Рейтинг темы: голосов - 5, средняя оценка - 5.00
1 / 1 / 0
Регистрация: 22.10.2011
Сообщений: 14

Массив в C++ (подмога с исправлением ошибки)

19.11.2011, 07:59. Показов 1161. Ответов 13
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Проблема в том, что никак не могу заставить нижнюю функцию (is_sorted) работать. Смысл её в том, чтобы проверить упорядочен ли массив по возрастанию.

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

P.S. Код C++


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
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
#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[i])
    return false;
    }
    return true;
    }
0
IT_Exp
Эксперт
34794 / 4073 / 2104
Регистрация: 17.06.2006
Сообщений: 32,602
Блог
19.11.2011, 07:59
Ответы с готовыми решениями:

Нужен совет с исправлением ошибки
#include &lt;iostream&gt; #include &lt;fstream&gt; #include &lt;locale.h&gt; #include &lt;Windows.h&gt; #include &lt;time.h&gt; #include &lt;stdio.h&gt; using...

Проверить скрипт на ошибки с дальнейшим исправлением если это возможно
учусь на айтишника,задание было написать скрипт на вольную тему,будет оцениваться чистота работы,помогите убедиться что все верно. ...

Проверка диска с исправлением ошибок
Доброго всем времени суток. Стоит серверная программа, для работы которой запускается несколько демонов. Один из них постоянно работает с...

13
 Аватар для Rexer
167 / 166 / 46
Регистрация: 10.10.2010
Сообщений: 725
19.11.2011, 09:49
я не очень понял как вы хотите чтобы она работала..
C++
1
2
3
4
5
6
7
bool is_sorted(int *array, int size) {  //Никак не могу заставить эту ф-ию работать
    for (int i = 0; i < size-1; i++) {
    if (array[i+1] > array[i])
    return false;
    }
    return true;
    }
Если элемент i+1 больше i,то мы возвращаем 0?
я думаю вот так
C++
1
2
3
4
5
6
bool is_sorted(int *array, int size) {  //Никак не могу заставить эту ф-ию работать 
for (int i = 0; i < size-1; i++) {
    if (array[i+1] < array[i])
return false;
}
return true;    }
вроде так должно работать
1
1 / 1 / 0
Регистрация: 22.10.2011
Сообщений: 14
19.11.2011, 10:30  [ТС]
=) - Смысл в том, что я её никак в "main" не затощу. Какие значения из майн брать, вместо *array и size?
0
 Аватар для Rexer
167 / 166 / 46
Регистрация: 10.10.2010
Сообщений: 725
19.11.2011, 17:58
всмысле?те же и берите.
Значения массива то у вас изменится,размер остается таким же.
Вот и все)
Или я не прав?
1
Заблокирован
19.11.2011, 18:42
По всей видимости (логически) функция написана правильно. Но сами посмотрите, что будет, если внутри этой функции выполняяется оператор из строки 3, когда
C++
1
i ==  size-1
.
Очевидно имеем выход за границы массива.
1
Заблокирован
19.11.2011, 18:57
Цитата Сообщение от thick_int Посмотреть сообщение
Очевидно имеем выход за границы массива.
с какой стати?
1
Заблокирован
19.11.2011, 19:05
Спутал просто знак < с <=.
Тогда, как вариант.
Что нужно узнать просто упорядоченность или строгую упорядоченность?
1
Заблокирован
19.11.2011, 19:07
действительно)
1
1 / 1 / 0
Регистрация: 22.10.2011
Сообщений: 14
19.11.2011, 19:44  [ТС]
Ну просто значения *array и size до этого не фигурируют (вроде) - вопрос в том как мне их получить чтобы ф-ия работала правильно ))
0
 Аватар для Rexer
167 / 166 / 46
Регистрация: 10.10.2010
Сообщений: 725
19.11.2011, 20:46
Создаем массив и считываем туда данные,размер массива узнаем либо как при считывании i++ и запоминаем это значение ,либо как
C++
1
sizeof(array)/sizeof(int);
1
Заблокирован
19.11.2011, 20:47
Цитата Сообщение от Rexer Посмотреть сообщение
Создаем массив и считываем туда данные,размер массива узнаем либо как при считывании i++ и запоминаем это значение ,либо как
Код C++
1
sizeof(array)/sizeof(int);

Не забудьте объяснить, когда нельзя таким образом узнать размер массива
2
 Аватар для Rexer
167 / 166 / 46
Регистрация: 10.10.2010
Сообщений: 725
20.11.2011, 00:36
Уважаемый Bers,а не могли бы вы уточнить?
Когда нельзя пользоваться таким методом?
1
Заблокирован
20.11.2011, 04:23
Цитата Сообщение от Rexer Посмотреть сообщение
Уважаемый Bers,а не могли бы вы уточнить?
Когда нельзя пользоваться таким методом?
Таким способом нельзя узнать под какое количество элементов было зарезервировано памяти для динамического массива. Только для статического.
2
1 / 1 / 0
Регистрация: 22.10.2011
Сообщений: 14
20.11.2011, 14:39  [ТС]
Ну так поможете с полным кодом программы? (т.е. ввести ф-ию в майн, вызвать её оттуда с правильными значениями)

P.S. Посмотрите сколько библиотек подключил . Это извращение какое-то
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
BasicMan
Эксперт
29316 / 5623 / 2384
Регистрация: 17.02.2009
Сообщений: 30,364
Блог
20.11.2011, 14:39
Помогаю со студенческими работами здесь

Нейросеть с рандомным исправлением коэффициентов
Помогите допилить код, а то начал оптимизировать в итоге хожу по граблям. У меня уже глаз замылился. Посмотрите пожалуйста в отладчике,...

Нужна помощь с исправлением ошибок в коде
Добрый день! Нужна помощь с исправлением ошибок в коде. unit Unit1; interface uses Windows, Messages, SysUtils, Variants,...

как написать программу с исправлением ошибкой???
Вводятся две строки типа Слово1 Слово2. Необходимо исправить ошибки, связанные с неверным использованием прописных и строчных букв....

Узнать содержимое ячейки перед исправлением
Ситуация: редактирую текст в ячейке таблицы Excel. Хочу построить обработчик события Worksheet_Change. Нужно узнать содержимое ячейки 'ДО...

Возникли трудности с исправлением ошибок в программе анализа текстов
Здравствуйте, прошу помощи у гуру Delphi! Для курсовой взяла программу &quot;Анализ текстов&quot; которая считает повторяющиеся слов, количество...


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

Или воспользуйтесь поиском по форуму:
14
Ответ Создать тему
Новые блоги и статьи
Подключение Box2D v3 к SDL3 для Android: физика и отрисовка коллайдеров
8Observer8 29.01.2026
Содержание блога Box2D - это библиотека для 2D физики для анимаций и игр. С её помощью можно определять были ли коллизии между конкретными объектами. Версия v3 была полностью переписана на Си, в. . .
Инструменты COM: Сохранение данный из VARIANT в файл и загрузка из файла в VARIANT
bedvit 28.01.2026
Сохранение базовых типов COM и массивов (одномерных или двухмерных) любой вложенности (деревья) в файл, с возможностью выбора алгоритмов сжатия и шифрования. Часть библиотеки BedvitCOM Использованы. . .
Загрузка PNG с альфа-каналом на SDL3 для Android: с помощью SDL_LoadPNG (без SDL3_image)
8Observer8 28.01.2026
Содержание блога SDL3 имеет собственные средства для загрузки и отображения PNG-файлов с альфа-каналом и базовой работы с ними. В этой инструкции используется функция SDL_LoadPNG(), которая. . .
Загрузка PNG с альфа-каналом на SDL3 для Android: с помощью SDL3_image
8Observer8 27.01.2026
Содержание блога SDL3_image - это библиотека для загрузки и работы с изображениями. Эта пошаговая инструкция покажет, как загрузить и вывести на экран смартфона картинку с альфа-каналом, то есть с. . .
Влияние грибов на сукцессию
anaschu 26.01.2026
Бифуркационные изменения массы гриба происходят тогда, когда мы уменьшаем массу компоста в 10 раз, а скорость прироста биомассы уменьшаем в три раза. Скорость прироста биомассы может уменьшаться за. . .
Воспроизведение звукового файла с помощью SDL3_mixer при касании экрана Android
8Observer8 26.01.2026
Содержание блога SDL3_mixer - это библиотека я для воспроизведения аудио. В отличие от инструкции по добавлению текста код по проигрыванию звука уже содержится в шаблоне примера. Нужно только. . .
Установка Android SDK, NDK, JDK, CMake и т.д.
8Observer8 25.01.2026
Содержание блога Перейдите по ссылке: https:/ / developer. android. com/ studio и в самом низу страницы кликните по архиву "commandlinetools-win-xxxxxx_latest. zip" Извлеките архив и вы увидите. . .
Вывод текста со шрифтом TTF на Android с помощью библиотеки SDL3_ttf
8Observer8 25.01.2026
Содержание блога Если у вас не установлены Android SDK, NDK, JDK, и т. д. то сделайте это по следующей инструкции: Установка Android SDK, NDK, JDK, CMake и т. д. Сборка примера Скачайте. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru