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

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

Войти
Регистрация
Восстановить пароль
 
DSBM
2 / 2 / 0
Регистрация: 28.10.2013
Сообщений: 76
#1

Пофиксите баг? Найти произведение чисел последовательности, не делящихся на 5, наибольшее из таких чисел, и его номер - C++

12.11.2013, 23:15. Просмотров 582. Ответов 4
Метки нет (Все метки)

Привет, форумчане!
Помогите отладить программу?
Что должна делать:
>Дана последовательность целых чисел {Aj} произвольной длины. Найти произведение чисел, не делящихся на 5, наибольшее из таких чисел, и номер этого числа в последовательности.
Что делает:
>Генерирует последовательность определенных чисел (то есть даже не генерирует, а по сути выводит определенное количество элементов из общего списка), за наибольшее число принимает последнее выведенное и номер числа выдает плохо. Номер числа I в последовательности из n элементов получается считает, как I=In-1.
Делал в Dev-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
# include <stdio.h>
# include <stdlib.h>
 
main()
{
int b[70], max=0, nomer, k=0, n, i, prv=0;
float pr=1;
rand();
 
while (prv==0)
{
 
printf(" Vvedite kolichestvo elementov v massive ( ot 1 do 20): ");
scanf("%d", &n);
if (n>0 && n<21)
{
prv=1;
for (i=0; i<n; i++)
{
b[i]=rand()+1;
printf("%d\n", b[i]);
}
for(i=0; i<n; i++)
{
if(b[i]%2!=0)
{
if ((b[i]) % 5!= 0);
{
max=b[i];
nomer=i;
}
k=k+1;
pr*=b[i];
}
}
if (k>0)
{
printf(" Proizvedenie = %5.0f\n", pr);
printf(" Naibolshee iz nih : %d\n", max);
printf(" Nomer etogo chisla v posledovatelnosti : %d\n", nomer);
}
else
printf(" Net takih chisel!\n");
}
else
printf(" Chislo zadano vne diapozona. Vvedite zanovo.\n");
}
getch();
}
Заранее спасибо!
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
12.11.2013, 23:15     Пофиксите баг? Найти произведение чисел последовательности, не делящихся на 5, наибольшее из таких чисел, и его номер
Посмотрите здесь:

C++ В последовательности целых положительных чисел определить максимальное четное число и его порядковый номер.
Циклы: Задано натуральное число n. Найти количество натуральных чисел, не превышающих n и не делящихся ни на одно из чисел 2, 3, 5 C++
C++ Найти произведение чисел, делящихся нацело на 3 и не делящихся нацело на 5
C++ Заданная последовательность целых чисел. Найти количество чисел, делящихся на 3 и 5 без остатка
Найти произведение нечетных чисел, делящихся на 3 C++
Найти произведение чисел, не делящихся на 5 C++
Найти произведение чисел из нечётных позиций последовательности C++
Найти наибольшее число в заданной последовательности целых чисел C++
C++ Найти наибольшее число в последовательности чисел
C++ Найти наибольшее число среди отрицательных чисел заданной последовательности
C++ Вводится последовательность из N целых чисел, найти наибольшее четное число в последовательности
Определить, имеются ли в заданной последовательности 4 подряд идущих числа, кратных 7; найти сумму таких чисел C++

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

Или воспользуйтесь поиском по форуму:
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
FreeMan108
120 / 120 / 6
Регистрация: 04.03.2013
Сообщений: 370
12.11.2013, 23:23     Пофиксите баг? Найти произведение чисел последовательности, не делящихся на 5, наибольшее из таких чисел, и его номер #2
Не знаю что делает программа, но по идее в 28 строке должно быть

C++
1
if (((b[i]) % 5!= 0) && (b[i] < max));
DSBM
2 / 2 / 0
Регистрация: 28.10.2013
Сообщений: 76
12.11.2013, 23:54  [ТС]     Пофиксите баг? Найти произведение чисел последовательности, не делящихся на 5, наибольшее из таких чисел, и его номер #3
Цитата Сообщение от FreeMan108 Посмотреть сообщение
Не знаю что делает программа, но по идее в 28 строке должно быть

C++
1
if (((b[i]) % 5!= 0) && (b[i] < max));
Спасибо, попробую переправить.

Добавлено через 28 минут
Цитата Сообщение от DSBM Посмотреть сообщение
Спасибо, попробую переправить.
Тем не менее, вопрос остаётся в топе.
FreeMan108
120 / 120 / 6
Регистрация: 04.03.2013
Сообщений: 370
13.11.2013, 00:27     Пофиксите баг? Найти произведение чисел последовательности, не делящихся на 5, наибольшее из таких чисел, и его номер #4
Короче вот

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 <iostream.h>
#include <cstdlib>
#include <ctime>
 
int main ()
{
    int nSize, n, Max = 0, IndexMax, multi = 1;
    
    cout << "Write quantity of numbers: ";
    cin >> nSize;
    
    srand (time (NULL));
    
    cout << "Array: ";
    for (int i = 0; i < nSize; i++)
    {
        n = rand () % 100;
        if (n % 5 != 0)
          multi *= n;
        if ( (n > Max) && (n % 5 != 0) ) {
          Max = n;
          IndexMax = i;
          }
        cout << n << " ";
        }
    
    cout << endl << "1: " << multi;
    cout << endl << "2: " << Max;
    cout << endl << "3: " << IndexMax+1;
    cout << endl;
    
    system ("pause");
    return 0;
    }
DSBM
2 / 2 / 0
Регистрация: 28.10.2013
Сообщений: 76
13.11.2013, 01:14  [ТС]     Пофиксите баг? Найти произведение чисел последовательности, не делящихся на 5, наибольшее из таких чисел, и его номер #5
FreeMan108
Спасибо. Немножко исправил и стало работать как часы!
Yandex
Объявления
13.11.2013, 01:14     Пофиксите баг? Найти произведение чисел последовательности, не делящихся на 5, наибольшее из таких чисел, и его номер
Ответ Создать тему
Опции темы

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