0 / 0 / 0
Регистрация: 13.10.2013
Сообщений: 36
1

Найти ошибку в перегруженной функции

17.11.2013, 16:13. Показов 681. Ответов 12
Метки нет (Все метки)

Author24 — интернет-сервис помощи студентам
Почему-то произведению присваивется размер массива.

C++ (Qt)
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
#include "stdafx.h"
#include <iostream>
#include <fstream> 
#include <time.h> 
#include <conio.h>
using namespace std;
 
int Fun(int *p,int n)
{   int i, proizv=1;
    for(i = 0; i < n; i++)
        if (p[i]>0)
        proizv *= p[i]; 
    return p, n;
}
int Fun(int *p,int n,int imin)
{
    int sum = 0;
for (int i=0; i<imin; i++)
        sum += p[i];
       return sum;
}
 
int _tmain(int argc, _TCHAR* argv[])
{
    setlocale(LC_ALL,"russian");
 
    int *p,A,B, summ; 
    int n,j,s;
    ofstream out("fail.txt"); 
    srand(time(0));
    cout << "Число элементов массива: "; cin >> n;
            p=new int[n];
    for(j=0;j < n;p[j++]=(rand()-16384)/100); 
    for(j=0;j < n;cout << p[j++] << '\t'); cout << endl;
        cout << "Произведение положительных элементов " <<Fun(p,n)<<endl;
            int min=0, imin;
           for(int i = 0; i < n; i++)
  if (p[i] < min)
    {min = p[i];
  imin = i;}
        cout << "Минимальный элемент " <<min<<endl;
        cout<< "Номер минимального элемента: "<<imin<<endl;
       cout << "Сумма элементов до минимального элемента " <<Fun(p,n,imin)<<endl;
    system ("pause");
    return 0;
}
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
IT_Exp
Эксперт
34794 / 4073 / 2104
Регистрация: 17.06.2006
Сообщений: 32,602
Блог
17.11.2013, 16:13
Ответы с готовыми решениями:

Ввод данных в функции конструктора и использование их в перегруженной функции
Вот собственно код, как его исправить, что бы не было ошибки. Пишет что переменные не объявлены. ...

Выдаёт ошибку: Program2.pas(9) : Нет перегруженной подпрограммы с такими типами параметров
program sdfsd; var b,x,y,a,k,stoi,moze,stoi2:real; begin writeln('Введите...

Не могу нечего поделать, выбивает ошибку(Нет перегруженной подпрограммы с такими типами параметров)
var f, g, q: text; c, v: char; begin assign(f, 'f1.txt'); //text.txt - исходный файл ...

Создание перегруженной функции
Создайте перегруженные функции для вычисления абсолютной величины числа. Одна функция работает с...

12
шКодер самоучка
2282 / 1958 / 945
Регистрация: 09.10.2013
Сообщений: 4,388
Записей в блоге: 3
17.11.2013, 16:47 2
строку 13 замените на return proizv;
1
0 / 0 / 0
Регистрация: 13.10.2013
Сообщений: 36
24.11.2013, 16:13  [ТС] 3
Не работает всё равно - теперь выдаёт какое-то странное число.

Добавлено через 2 часа 21 минуту
Ошибка не исчезла, только изменилась.
0
43 / 40 / 2
Регистрация: 21.09.2009
Сообщений: 145
24.11.2013, 16:25 4
Не работает всё равно - теперь выдаёт какое-то странное число.
выдавать должно произведение положительных элементов - ваше странное число...
0
0 / 0 / 0
Регистрация: 13.10.2013
Сообщений: 36
24.11.2013, 17:42  [ТС] 5
Ну да, только оно отрицательное.
0
5499 / 4894 / 831
Регистрация: 04.06.2011
Сообщений: 13,587
24.11.2013, 20:09 6
Цитата Сообщение от A0A Посмотреть сообщение
Ну да, только оно отрицательное.
С чего бы это? Код показывайте.
0
0 / 0 / 0
Регистрация: 13.10.2013
Сообщений: 36
24.11.2013, 20:17  [ТС] 7
Он и есть, только в первой функции return p,n; изменено на return proizv;
0
43 / 40 / 2
Регистрация: 21.09.2009
Сообщений: 145
24.11.2013, 20:20 8
Цитата Сообщение от A0A Посмотреть сообщение
Он и есть, только в первой функции return p,n; изменено на return proizv;
Значит смотрите код заполнения массива
1
5499 / 4894 / 831
Регистрация: 04.06.2011
Сообщений: 13,587
24.11.2013, 20:24 9
Цитата Сообщение от A0A Посмотреть сообщение
Он и есть, только в первой функции return p,n; изменено на return proizv;
Скрин с выводом результатов покажите.
1
5499 / 4894 / 831
Регистрация: 04.06.2011
Сообщений: 13,587
24.11.2013, 20:25 10
Вот код и вывод. Где здесь отрицательное произведение?
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 <fstream> 
#include <time.h> 
#include <conio.h>
using namespace std;
 
int Fun(int *p,int n)
{   int i, proizv=1;
    for(i = 0; i < n; i++)
        if (p[i]>0)
        proizv *= p[i]; 
    return proizv;
}
int Fun(int *p,int n,int imin)
{
    int sum = 0;
for (int i=0; i<imin; i++)
        sum += p[i];
       return sum;
}
 
int main()
{
    setlocale(LC_ALL,"russian");
 
    int *p,A,B, summ; 
    int n,j,s;
    ofstream out("fail.txt"); 
    srand(time(0));
    cout << "Число элементов массива: "; cin >> n;
            p=new int[n];
    for(j=0;j < n;p[j++]=(rand()-16384)/100); 
    for(j=0;j < n;cout << p[j++] << '\t'); cout << endl;
        cout << "Произведение положительных элементов " <<Fun(p,n)<<endl;
            int min=0, imin;
           for(int i = 0; i < n; i++)
  if (p[i] < min)
    {min = p[i];
  imin = i;}
        cout << "Минимальный элемент " <<min<<endl;
        cout<< "Номер минимального элемента: "<<imin<<endl;
       cout << "Сумма элементов до минимального элемента " <<Fun(p,n,imin)<<endl;
    system ("pause");
    return 0;
}
Миниатюры
Найти ошибку в перегруженной функции  
1
0 / 0 / 0
Регистрация: 13.10.2013
Сообщений: 36
24.11.2013, 21:19  [ТС] 11
Вот
Миниатюры
Найти ошибку в перегруженной функции  
0
5499 / 4894 / 831
Регистрация: 04.06.2011
Сообщений: 13,587
24.11.2013, 21:26 12
Слишком большое число для int получается. Задайте другой тип.
1
0 / 0 / 0
Регистрация: 13.10.2013
Сообщений: 36
24.11.2013, 21:35  [ТС] 13
Изменил тип, и на всякий случай уменьшил диапазон чисел.
0
24.11.2013, 21:35
BasicMan
Эксперт
29316 / 5623 / 2384
Регистрация: 17.02.2009
Сообщений: 30,364
Блог
24.11.2013, 21:35
Помогаю со студенческими работами здесь

Ошибка вызов перегруженной функции
epswidth = ceil(-log10(eps)); stepwidth = ceil(log10(nsteps) + 1); iterwidth =...

Неоднозначный вызов перегруженной функции
Ошибка 1 error C2668: hash_helper::hash: неоднозначный вызов перегруженной функции...

Сравнение строк в перегруженной функции
Здравствуйте! есть перегруження функция Block* BlocksList::Find(string text) const { ...

Неоднозначный вызов перегруженной функции
#include &quot;stdafx.h&quot; #include &lt;cstdlib&gt; #include &lt;iostream&gt; #include &lt;math.h&gt; #include...


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

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

Новые блоги и статьи
Какой локальный веб-сервер выбрать
InfoMaster 19.01.2025
В современной веб-разработке локальные веб-серверы играют ключевую роль, предоставляя разработчикам надежную среду для создания, тестирования и отладки веб-приложений без необходимости использования. . .
Почему планшеты и iPad уже не так популярны, как раньше
InfoMaster 19.01.2025
Эра революционных инноваций История планшетных компьютеров началась задолго до того, как эти устройства стали привычными спутниками нашей повседневной жизни. В начале 1990-х годов появились первые. . .
Как самому прошить BIOS ноутбука
InfoMaster 19.01.2025
BIOS (Basic Input/ Output System) представляет собой важнейший компонент любого компьютера или ноутбука, который обеспечивает базовое взаимодействие между аппаратным и программным обеспечением. . .
Какой Linux выбрать для домашнего компьютера
InfoMaster 19.01.2025
Современные реалии выбора операционной системы В современном мире выбор операционной системы для домашнего компьютера становится все более важным решением, которое может существенно повлиять на. . .
Как объединить два словаря одним выражением в Python
InfoMaster 19.01.2025
В мире программирования на Python работа со словарями является неотъемлемой частью разработки. Словари представляют собой мощный инструмент для хранения и обработки данных в формате "ключ-значение". . . .
Как без исключения проверить существование файла в Python
InfoMaster 19.01.2025
При разработке программного обеспечения на Python часто возникает необходимость проверить существование файла перед выполнением операций с ним. Это критически важная задача, которая помогает избежать. . .
Как определить, содержит ли строка подстроку в JavaScript
InfoMaster 19.01.2025
При разработке веб-приложений часто возникает необходимость выполнять различные операции со строками, среди которых особое место занимает поиск подстрок. JavaScript предоставляет несколько встроенных. . .
Что такое метаклассы в Python
InfoMaster 19.01.2025
Метаклассы в Python представляют собой один из самых мощных и одновременно сложных механизмов языка, позволяющий программистам контролировать процесс создания классов. По своей сути, метакласс. . .
Как удалить свойство из объекта JavaScript
InfoMaster 19.01.2025
В современной веб-разработке объекты JavaScript играют фундаментальную роль в организации и структурировании данных. Они представляют собой контейнеры, которые хранят связанные данные и. . .
Какая разница между String и string в C#
InfoMaster 19.01.2025
В языке программирования C# существует интересная особенность: для работы со строками можно использовать как String, так и string. Эта двойственность часто вызывает вопросы у разработчиков, особенно. . .
Как в Git откатить репозиторий к предыдущему коммиту
InfoMaster 19.01.2025
В современной разработке программного обеспечения система контроля версий Git стала неотъемлемой частью рабочего процесса, предоставляя разработчикам мощные инструменты для управления изменениями в. . .
Как работают замыкания (closure) в JavaScript
InfoMaster 19.01.2025
В мире современной веб-разработки замыкания (closures) представляют собой один из фундаментальных концептов языка JavaScript, который часто вызывает затруднения у начинающих разработчиков, но при. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2025, CyberForum.ru