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

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

Войти
Регистрация
Восстановить пароль
 
Alex_Reilly
0 / 0 / 0
Регистрация: 04.12.2011
Сообщений: 26
#1

Не работает функция по причине temp'a. Не знаю как исправить - C++

04.12.2011, 19:09. Просмотров 677. Ответов 9
Метки нет (Все метки)

C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
void Mass_Function_Replace(double massive[], int n)
{ 
double temp;
for(int i =0; i < n-1; i++)
{
if(abs(massive[i])>1)
double temp;
temp = massive[i];
massive[i] = massive[i+1];
massive[i+1] = temp;
}
 
cout <<"\nMassive has been replaced correctly\n";
for (int i = 0; i < n; i ++)
cout <<"\n"<< setw(n) << massive[i] <<endl;
Вот эта функция должна просто сортировать..Но мне пишет что ошибка и вроде в Темпе...
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
04.12.2011, 19:09
Здравствуйте! Я подобрал для вас темы с ответами на вопрос Не работает функция по причине temp'a. Не знаю как исправить (C++):

По какой-то причине не работает функция - C++
Доброго времени суток, уважаемый форум. #include &lt;iostream&gt; using namespace std; class Rectangle { public: ...

Не знаю как исправить ошибку - C++
Всем привет! В общем делал задание на перегрузку операторов, вот код: #include &quot;stdafx.h&quot; #include &lt;iostream&gt; using...

Ошибка, не знаю как исправить - C++
Добрый вечер всем!! У меня возник небольшой вопрос по поводу моей программы... Мне необходимо протестировать различные методы...

Не знаю как исправить ошибку - C++
при выводе всего списка не выдает верную информацию. Не могу понять что не так, помогите. Заранее спасибо. #include &lt;stdio.h&gt; ...

Не знаю как исправить ошыбку в коде - C++
Ошыбка, наверное, в том что я в классе roslunu описываю ф-ию get_name, где пам'ять под name выделена динамически, а в следующих классах...

Error LNK2019 не знаю как исправить - C++
Всем привет! Решаю уравнение Фредгольма второго рода методом Галеркина. Если рассматривать вещественнозначный случай, то все работает...

9
Smillles7
25 / 25 / 1
Регистрация: 23.04.2011
Сообщений: 130
04.12.2011, 19:11 #2
как минимум переопределение temp-а
убери double temp; после if
0
Chelioss
180 / 180 / 4
Регистрация: 08.01.2011
Сообщений: 1,133
04.12.2011, 19:25 #3
Цитата Сообщение от Smillles7 Посмотреть сообщение
как минимум переопределение temp-а
Нет тут переопределения.
Ошибка заключается в том, что скобки не правильно расставлены.
Должно так быть:
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
void Mass_Function_Replace(double massive[], int n)
 { 
 for(int i =0; i < n-1; i++)
         if(abs(massive[i])>1)
                  {
                         double temp;
                         temp = massive[i];
                         massive[i] = massive[i+1];
                         massive[i+1] = temp;
                  }
 
 cout <<"\nMassive has been replaced correctly\n";
 for (int i = 0; i < n; i ++)
 cout <<"\n"<< setw(n) << massive[i] <<endl;
}
0
Smillles7
25 / 25 / 1
Регистрация: 23.04.2011
Сообщений: 130
04.12.2011, 19:27 #4
Цитата Сообщение от Chelioss Посмотреть сообщение
Нет тут переопределения.
если бы отсутствовала скобка, не думаю чтоб компилятор жаловался на temp

Добавлено через 52 секунды
оп....
Не могу понять, как найти сумму
0
Chelioss
180 / 180 / 4
Регистрация: 08.01.2011
Сообщений: 1,133
04.12.2011, 19:28 #5
Цитата Сообщение от Smillles7 Посмотреть сообщение
если бы отсутствовала скобка, не думаю чтоб компилятор жаловался на temp
Компилятор жалуется из-за того, что скобки криво расставлены.
Создавать объекты в разных блоках и с одинаковым именем можно.
0
Smillles7
25 / 25 / 1
Регистрация: 23.04.2011
Сообщений: 130
04.12.2011, 19:30 #6
но скобка все же у него есть)) значит дело не в ней)
ага сказал нет тут переопределения и убрал второй double temp
0
Chelioss
180 / 180 / 4
Регистрация: 08.01.2011
Сообщений: 1,133
04.12.2011, 19:53 #7
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
void Mass_Function_Replace(double massive[], int n)
 { 
double temp;
 for(int i =0; i < n-1; i++)
         if(abs(massive[i])>1)
                  {
                         double temp;
                         temp = massive[i];
                         massive[i] = massive[i+1];
                         massive[i+1] = temp;
                  }
 
 cout <<"\nMassive has been replaced correctly\n";
 for (int i = 0; i < n; i ++)
 cout <<"\n"<< setw(n) << massive[i] <<endl;
}
Это же основы. Как такое можно не знать...
0
Alex_Reilly
0 / 0 / 0
Регистрация: 04.12.2011
Сообщений: 26
04.12.2011, 19:54  [ТС] #8
Поменял код. На вот этот
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
void Mass_Function_Replace(double massive[], int n)
{       
    
  
    for (int i = 1; i < n-1; i++)
    {
      if(abs(massive[i])>1)
      {
        int temp;
        temp = massive[i];
        massive[i] = massive[i+1];
        massive[i+1] = temp;
      }
    }
 
 
 
  cout<<"\nThis is your massive now:";
    for (int i = 0; i < n; i ++)
        cout <<"\n"<< setw(n) << massive[i] <<endl;
 
 
}
Теперь при введении: 1, -2, 0.2, 0.3, -3. Он сортирует:1, 0.2, 0.3, -3,-2. Почему единица перед ними????
0
Chelioss
180 / 180 / 4
Регистрация: 08.01.2011
Сообщений: 1,133
04.12.2011, 19:59 #9
Цитата Сообщение от Alex_Reilly Посмотреть сообщение
Вот эта функция должна просто сортировать.
Вы не правильно сортируете.

Добавлено через 44 секунды
Читайте хотя бы http://ru.wikipedia.org/wiki/%D1%EE%...F0%FC%EA%EE%EC
0
Alex_Reilly
0 / 0 / 0
Регистрация: 04.12.2011
Сообщений: 26
04.12.2011, 20:18  [ТС] #10
Ктонибудь поможет или будет на википедию ссылки кидать?
0
04.12.2011, 20:18
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
04.12.2011, 20:18
Привет! Вот еще темы с ответами:

Не знаю как исправить ошибку в программе - C++
Добрый день. Вот код программы: #pragma argsused #include &lt;iostream.h&gt; #include &lt;time.h&gt; #include &lt;conio.h&gt; void insert (int...

Много ошибок и не знаю , как исправить - C++
Вот они &lt; для вложений используйте встроенные возможности форума /&gt; , а вот сам код программы. Объясните в чём проблема и , как её...

Не знаю как исправить ошыбку в коде - C++
Выбивает вот-это error C2679: бинарный &quot;=&quot;: не найден оператор, принимающий правый операнд типа &quot;flower (__cdecl *)(void)&quot; (или приемлемое...

Работа со структурой, не знаю как исправить - C++
помогите пожалуйста есть структура и массив структуры надо данные массива передать в функцию помогите исправить ошибки, в работе со...


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

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

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