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

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

Войти
Регистрация
Восстановить пароль
 
ashta
9 / 9 / 1
Регистрация: 28.08.2012
Сообщений: 65
#1

Вывести минимальное нечетное число. Что не так? - C++

05.01.2013, 20:46. Просмотров 607. Ответов 9
Метки нет (Все метки)

Сейчас программа выводит любое минимальное число, будь-то четное или нечетное. Подскажите, пожалуйста, что исправить?


C++
1
2
3
4
5
6
7
8
9
10
11
12
13
const int size=10;
 
    int ar[size]={8,36,69,45,13,12,49,5,67,26};
    int min=ar[0];
    
    for (int i=0; i<size; i++)
    {
        if (ar[i]!=0 && ar[i]<min)
            min=ar[i];
    }
    
 
    cout<<"Minimalnoe cislo="<<min<<endl;
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
05.01.2013, 20:46
Здравствуйте! Я подобрал для вас темы с ответами на вопрос Вывести минимальное нечетное число. Что не так? (C++):

Вывести максимальное чётное и минимальное нечетное число из введенных пользователем - C++
#include &lt;iostream&gt; #include &lt;cstdlib&gt; using namespace std; int main() { int a,b,c,i,z=0,max,min; c=0; do ...

Дано целое число. Вывести его строку-описание вида «отрицательное чет-ное число», «нулевое число», «положительное нечетное число» и т. д. - C++
Дано целое число. Вывести его строку-описание вида «отрицательное чет-ное число», «нулевое число», «положительное нечетное число» и т. д. ...

что здесь не так? (из промежутка [n; m] вывести число, которое имеет наибольшее делителей) - C++
из промежутка вывести число, которое имеет наибольше делителей код: # include &lt;iostream&gt; # include &lt;conio.h&gt; using namespace std; ...

Дано вещественное число N(>0). Если N - нечетное число, то вывести произведение 1*3*...*N, если N - четное число, то вывести произведение 2*4*...*N - C++
Привет ВСЕМ!!! Помогите пожалуйста с задачкой =) Дано вещественное число N(&gt;0). Если N - нечетное число, то вывести произведение...

Вывести на экран, четное или нечетное число - C++
что бы выводило чотное оно или нет

Найти в массиве самое маленькое нечетное число и вывести его на экран - C++
Помогите написать программу: Исходными данными являются массив из 10 элементов, заполненный пользователем с клавиатуры. Написать...

9
v.a.l.i.d
413 / 378 / 10
Регистрация: 21.09.2012
Сообщений: 913
05.01.2013, 20:52 #2
C++
1
if ((ar[i] % 2 != 0) && ar[i]<min)
или так
C++
1
if (ar[i]%2 && ar[i]<min)
1
Lookiing
2 / 2 / 0
Регистрация: 17.12.2012
Сообщений: 39
05.01.2013, 22:09 #3
не будет работать .

Добавлено через 12 минут
вот мой вариант

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>
#include <fstream>
#include <cstdlib>
using namespace std ;
 
void main () 
{   
     
    int x , b , min = 10000000000 ;   
    
    cout << "Please enter numbers in array : " ; cin >> x ;
    int *a = new int [x] ;
 
    for (int i = 0 ; i < x ; i++)
    {
    cout << "Enter " << i << " element " ; 
    cin >> a[i] ; 
    }
    
    cout << endl ;
    for (int i = 0 ; i < x ; i++)
    {   
    b = a[i] % 2 ; 
    
    if (b != 0 && a[i] < min)
    min = a[i] ; 
    }
    cout << min ; 
    cin.get();
    cin.get();
}
1
Ev[G]eN
iOS/Android Developer
Эксперт С++
5106 / 1544 / 382
Регистрация: 23.01.2011
Сообщений: 3,167
05.01.2013, 22:19 #4
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
#include <iostream>
#include <cstdlib>
#include <ctime>
 
int main() {
    srand(time(0));
    const int size = 25;
    int arr[size], min = 0;
    
    std::cout << "Array: " << std::endl;
    for (int i = 0; i < size; i++) {
        std::cout << (arr[i] = rand() % 50) << " ";
        min = (arr[i] % 2) && (arr[i] < arr[min]) ? i : min;
    }
    std::cout << "\nMinimal: " << arr[min] << ";" << std::endl;
    
    system("pause");
    return 0;
}
1
ashta
9 / 9 / 1
Регистрация: 28.08.2012
Сообщений: 65
06.01.2013, 00:36  [ТС] #5
Lookiing и Ev[G]eN спасибо за решение. Мне в них ничего непонятно, т.к. мы еще видимо этого не учили. Что мне можно исправить в моем решении, чтобы заработало? Если знаете, подскажите, пожалуйста. Заранее спасибо.
Нужно вывести минимальное нечетное число.
0
Lookiing
2 / 2 / 0
Регистрация: 17.12.2012
Сообщений: 39
06.01.2013, 01:56 #6
ну у тебя вроде надо исправить минимальное значение поставь его не ar[0] а просто какое нибудь большое число и проверку что это четное число или нет .

C++
1
2
3
4
5
6
7
8
9
10
11
12
13
const int size=10;
 
    int ar[size]={8,36,69,45,13,12,49,9,67,26};
    int min=100000000;
    
    for (int i=0; i<size; i++)
    {
        if (ar[i]%2 !=0 && ar[i]<min)
            min=ar[i];
    }
    
 
    cout<<"Minimalnoe cislo="<<min<<endl;
Добавлено через 35 секунд
вот сравни со своим и увидишь что изменилось.
1
ashta
9 / 9 / 1
Регистрация: 28.08.2012
Сообщений: 65
06.01.2013, 02:15  [ТС] #7
Lookiing спасибо большое. Поняла
0
Ev[G]eN
iOS/Android Developer
Эксперт С++
5106 / 1544 / 382
Регистрация: 23.01.2011
Сообщений: 3,167
06.01.2013, 10:13 #8
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
#include <iostream>
 
using namespace std;
 
int main() {
    const int size=10;
    int ar[size]={8,36,69,45,13,12,49,5,67,26};
    int min=0;
    
    for (int i=0; i<size; i++)
    {
        if ((ar[i] % 2 != 0) && (ar[i]<ar[min]))
            min=i;
    }
    cout<<"Minimalnoe cislo="<<ar[min]<<endl;
    
    system("pause");
    return 0;
}

Не по теме:

Цитата Сообщение от Lookiing Посмотреть сообщение
int min=100000000;
доставляет

0
Schizorb
510 / 462 / 16
Регистрация: 07.04.2012
Сообщений: 869
Записей в блоге: 1
Завершенные тесты: 1
06.01.2013, 10:18 #9
Ev[G]eN, а если массив такой.

C++
1
int ar[size]={2,36,69,45,13,12,49,5,67,26};
Результат будет 2 - совсем нечетное число.
0
Ev[G]eN
iOS/Android Developer
Эксперт С++
5106 / 1544 / 382
Регистрация: 23.01.2011
Сообщений: 3,167
06.01.2013, 10:22 #10
пускай ТС клепает проверки. может хоть чему-то научится.
да и массив скорее задан по условию. для него программа и написана
0
06.01.2013, 10:22
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
06.01.2013, 10:22
Привет! Вот еще темы с ответами:

Даны целые числа a1, a2,.a10. Верно ли, что их сумма есть нечетное число - C++
Здрасте) Помогите пожалуйста. Даны целые числа a1, a2,...a10. Верно ли, что их сумма есть нечетное число. Буду благодарен...

Вывести в порядке возрастания элементы массива, целая часть которых - нечетное число - C++
в массиве 100 вещ чисел (от 3 до 35). как вывести в порядке возрастания элементы, целая часть которых нечетное число? знаю вроде только как...

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

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


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

Или воспользуйтесь поиском по форуму:
10
Ответ Создать тему
Опции темы

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