2 / 2 / 2
Регистрация: 28.10.2013
Сообщений: 76
1

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

12.11.2013, 23:15. Показов 1314. Ответов 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();
}
Заранее спасибо!
__________________
Помощь в написании контрольных, курсовых и дипломных работ, диссертаций здесь
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
12.11.2013, 23:15
Ответы с готовыми решениями:

Найти произведение чисел с нулевой дробной частью, наименьшее из таких чисел, номер числа
Реализовать программу обработки массива на алгоритмическом языке С. Длина масси-ва не более 20...

Как найти сумму чисел, целая часть которых делится нацело на 3, наименьшее из таких чисел, и номер этого числа в последовательности
Всем привет! Благодарю, за то что читаете это. Я являюсь студентом в одном из вузов Белгорода. Есть...

Дана последовательность вещественных чисел {A[j]} j=1..n.Найти наибольшее из отрицательных чисел и номер этого числа в последовательности.
Дана последовательность вещественных чисел {A} j=1..n.Найти наибольшее из отрицательных чисел и...

Вывести максимальное произведение 2 чисел последовательности, таких, чтобы между ними было не менее 6 чисел
Здрасьте! Излагаю все, как есть. На вход программе подается положительное целое число N (8 &lt;= N...

4
121 / 121 / 32
Регистрация: 04.03.2013
Сообщений: 370
12.11.2013, 23:23 2
Не знаю что делает программа, но по идее в 28 строке должно быть

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

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

Добавлено через 28 минут
Цитата Сообщение от DSBM Посмотреть сообщение
Спасибо, попробую переправить.
Тем не менее, вопрос остаётся в топе.
0
121 / 121 / 32
Регистрация: 04.03.2013
Сообщений: 370
13.11.2013, 00:27 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;
    }
1
2 / 2 / 2
Регистрация: 28.10.2013
Сообщений: 76
13.11.2013, 01:14  [ТС] 5
FreeMan108
Спасибо. Немножко исправил и стало работать как часы!
0
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
13.11.2013, 01:14
Помогаю со студенческими работами здесь

Дано действительно число а.Найти среди чисел 1, 1*1/2, 1*/1/2+1/3, ... первое число, большее а, и его номер в последовательности чисел.
Прошу помочь решить задачки!:(очень нужно (Билет №2) Дано действительно число а.Найти среди...

С клавиатуры вводится N целых чисел a1, a2,….,aN. Найти сумму этих чисел. Найти номер первого четного числа последовательности чисел.
Решить задачу 3 способами: 1. Используя метки и оператор goto (не используя никакой цикл) 2....

Найти сумму и произведение всех двузначных чисел, заканчивающихся на n. Сколько таких чисел?
Вот мой код: #include &lt;iostream&gt; using namespace std; int main() { int c = 0; // Счетчик,...

Найти сумму и произведение всех двузначных чисел, заканчивающихся на n. Сколько таких чисел?
Поступил заказ, я программирую на Java, C++, C#, с паскалем на сталкивался. Задача такова: Найти...


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

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

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2022, CyberForum.ru