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

Не могу добить прогу - C++

Восстановить пароль Регистрация
 
DSBM
 Аватар для DSBM
2 / 2 / 0
Регистрация: 28.10.2013
Сообщений: 76
18.11.2013, 23:22     Не могу добить прогу #1
И снова здравствуйте.
Дано задание:
>Дана последовательность целых чисел {Aj} произвольной длины. Найти произведение чисел, не делящихся на 5, наибольшее из таких чисел, и номер этого числа в последовательности. Длина массива не более 20 элементов.
Ошибки:
>В массиве показывает числа, делящееся на 5.
>В массиве чисел, не делящихся на 5 показывает нуль.
>Умножение производит некорректно, например, результат может оказаться отрицательным.
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
#include <iostream>
#include <cstdlib>
#include <ctime>
using namespace std;
int main ()
{
    int nSize, n, Max = 0, IndexMax, multi = 1;
    
    cout << "Write quantity of numbers: ";
    cin >> nSize;
    if(nSize>0 && nSize<20) 
    {
    
    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 << "Multiplication: " << multi;
    cout << endl << "The largest of the numbers: " << Max;
    cout << endl << "The number in the sequence: " << IndexMax+1;
    cout << endl;
 
    }
    
    else
    {
    cout<< "Error. Write again."<<endl;
     }
    system ("pause");
    return 0;
}
Заранее благодарю.
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
newb_programmer
 Аватар для newb_programmer
237 / 237 / 19
Регистрация: 03.09.2011
Сообщений: 553
18.11.2013, 23:29     Не могу добить прогу #2
DSBM,
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
#include <iostream>
#include <cstdlib>
#include <ctime>
using namespace std;
int main ()
{
    int nSize, n, Max = 0, IndexMax, multi = 1;
    
    cout << "Write quantity of numbers: ";
    cin >> nSize;
    if(nSize>0 && nSize<20) {
    srand (time (NULL));
    int* n=new int[nSize];
    cout << "Array: ";
    for (int i = 0; i < nSize; i++) {
        n[i]=rand()%10;
        cout<<n[i]<<" ";
        if ( n[i]%5 != 0 ) {
            multi*= n[i];
            if (n[i]>Max)
                Max=n[i];IndexMax = i;
        }
    }
    cout << endl << "Multiplication: " << multi;
    cout << endl << "The largest of the numbers: " << Max;
    cout << endl << "The number in the sequence: " << IndexMax+1;
    cout << endl;
    }   
    else {
        cout<< "Error. Write again."<<endl;
    }
    delete [] n;
    system ("pause");
    return 0;
}
DSBM
 Аватар для DSBM
2 / 2 / 0
Регистрация: 28.10.2013
Сообщений: 76
18.11.2013, 23:49  [ТС]     Не могу добить прогу #3
Цитата Сообщение от newb_programmer Посмотреть сообщение
C++
1
2
3
    delete [] n;
    system ("pause");
    return 0;
Странно, на этих трёх ошибка вылетает.
Вроде "delete [] n;" должна закрыть "new int[nSize];", на сколько я понял, однако не хочет.
С остальными вообще не понятно, почему..
newb_programmer
 Аватар для newb_programmer
237 / 237 / 19
Регистрация: 03.09.2011
Сообщений: 553
18.11.2013, 23:56     Не могу добить прогу #4
DSBM,
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>
#include <time.h>
using namespace std;
int main ()
{
    int nSize, Max = 0, IndexMax, multi = 1;
    int* n;
    srand (time (NULL));
    cout << "Write quantity of numbers: ";
    cin >> nSize;
    if(nSize>0 && nSize<20) {
    n=new int[nSize];
    cout << "Array: ";
    for (int i = 0; i < nSize; i++) {
        n[i]=rand()%10;
        cout<<n[i]<<" ";
        if ( n[i]%5 != 0 ) {
            multi*= n[i];
            if (n[i]>Max)
                Max=n[i];IndexMax = i;
        }
    }
    cout << endl << "Multiplication: " << multi;
    cout << endl << "The largest of the numbers: " << Max;
    cout << endl << "The number in the sequence: " << IndexMax+1;
    cout << endl;
    }   
    else {
        cout<< "Error. Write again."<<endl;
    }
    delete [] n;
    system ("pause");
    return 0;
}
Yandex
Объявления
18.11.2013, 23:56     Не могу добить прогу
Ответ Создать тему
Опции темы

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