Форум программистов, компьютерный форум, киберфорум
Наши страницы

Неубывающая последовательность. - C++

Войти
Регистрация
Восстановить пароль
Другие темы раздела
C++ Строки и числа в функциях. http://www.cyberforum.ru/cpp-beginners/thread110821.html
Народ, вот упражняюсь в написании функций (самая больная тема). Не могли бы вы мне помочь в решении следующих задач на языке Си? Хочу сделать себе парочку шаблонов, для будущих решений. Заранее всем...
C++ Динамические массивы помогите,пожалуйста,над срочно написать прогу))))буду оч благодарна)))))))) 1. Сформировать динамический одномерный массив, заполнить его случайными числами и вывести на печать. 2. Выполнить... http://www.cyberforum.ru/cpp-beginners/thread110816.html
Квадрат - перезагрузка операторов C++
Написал по заданию программу и выдает 1 ошибку, разъясните как ее исправить. Пишу в VS 2008 professional. Покажите пожалуйста как правильно в подправленном коде уже. Задание: 1. Квадрат:...
перестановка в матрице visual studio C++
помогите пожалуйста написать программу: дана целочисленная матрица m*n. найти матрицу, получающуюся из данной 1)перестановкой столбцов - первого с последним, второго с предпоследним и т.д...
C++ вычислить макс число из цыкла http://www.cyberforum.ru/cpp-beginners/thread110803.html
у меня есть такой код мне нада вычислить Максимальное число "y" запарилса уже думать может вы что подскажыте ? #include<iostream.h> #include<conio.h> #include<math.h> void main() { clrscr();...
C++ Составить частотный словарь вводимого текста 14. Составить частотный словарь вводимого текста. Распечатать его по алфавиту, а справа от каждого слова – частоту, с которой оно встретилось. подробнее

Показать сообщение отдельно
easybudda
Модератор
Эксперт CЭксперт С++
9695 / 5645 / 963
Регистрация: 25.07.2009
Сообщений: 10,848
31.03.2010, 18:55
Цитата Сообщение от M128K145 Посмотреть сообщение
Возвращать NULL - глупо, это может привести к большим ошибкам, логичнее возвращать отрицательное число
В книжках про программирование в UNIX часто такой подход наблюдал: в случае успеха функция возвращает 0, неудачи - какое-нибудь число, ошибки - -1
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
#include <stdio.h>
 
/*
    возвращает 0, если последовательность неубывающая,
    положительное число, если нет, -1 в случае ошибки
*/
int test(int * arr, int count){
    int i;
    if ( !arr || count < 2 )
        return -1;
    for ( i = 1; i < count && arr[i] >= arr[i-1]; ++i )
        ;
    return ( count - i ) ? i : 0;
}
 
int main(void){
    int arr1[] = { 1, 2, 3, 4, 5, 6, 7, 8, 9 };
    int arr2[] = { 1, 4, 3, 2, 5, 6, 7, 9, 8 };
    int t;
 
    if ( ( t = test(arr1, sizeof(arr1) / sizeof(*arr1)) ) < 0 ){
        fprintf(stderr, "Error!\n");
        return 1;
    }
    printf("Array #1 is %s\n", ( t ) ? "BAD" : "OK");
 
    if ( ( t = test(arr2, sizeof(arr2) / sizeof(*arr2)) ) < 0 ){
        fprintf(stderr, "Error!\n");
        return 1;
    }
    printf("Array #2 is %s\n", ( t ) ? "BAD" : "OK");
 
    return 0;
}
1
 
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru