powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / C++ [игнор отключен] [закрыт для гостей] / неправильно работает код
32 сообщений из 32, показаны все 2 страниц
неправильно работает код
    #34262922
lrad
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Здравствуйте Всем!
Помогите с задачей - код компилируется и компануется нормально под С++ для DOS
НО результат не тот что нужен!
Долбаюсь с ней уже 3 день....

Код: plaintext
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.
50.
51.
52.
53.
54.
55.
56.
57.
58.
59.
60.
61.
62.
63.
64.
65.
66.
67.
68.
#include<iostream.h>
#include<iomanip.h>
#include<conio.h>
//Прототипы функций
void inputmas(float[ 15 ],char);
int raschet(float [ 15 ]);
void printrez(float [ 15 ],char);

   void main()
   {
    cout <<"Задача № 1  \n";
    cout <<"Даны вещественные массивы А[15]F[15] \n";
    cout <<"Для каждого массива определить наибольшее \n";
    cout <<"из отрицательных значений" << endl;
    cout<<"\nДля вывода результатов вам нужно самостоятельно заполнить массив!\n";

   // Объявление массива и переменных
   float a[ 15 ],f[ 15 ];
   // Обращение
   inputmas(a,'a'); // в функцию в качестве аргумента
   inputmas(f,'f'); // передается массив и его имя
   // вызов функции, возращающей 1 значение

   printrez(a,'a');
   printrez(f,'f');
   return;
   }
// Определение функции ввода массива inputmas()

   void inputmas(float x[ 15 ],char name)
   {

    cout <<"Вводим массив  " << name << endl;
  int i;
  for ( i= 0 ;i< 15 ;i++)
  {
  cout <<"Введите элемент массива  " << name <<"["<<i<<"]=";
  cin >>x[i];
  }
  }
// Определение расчетной функции raschet()
 int raschet(float m[ 15 ])
   {
   int i;

   float max=m[ 0 ];
   int N= 0 ;
    // Первоначально за наибольший принимаем 1-й элемент
    for (i= 1 ;i< 15 ;i++)
    {
  if (m[i] >max&& m[i] < 0 ){max=m[i]; N=i;} // Нашли элемент значение которого
                            // больше принятого за 1 наибольшее
 }
 return N;

  }

 //     //Вывод массива и результата

 void printrez(float x[ 15 ],char name)
 {

 cout<<"Исходный массив  "<<name<<":"<<endl;
 for (int i= 0 ;i< 15 ;i++)
 cout<<setw( 5 )<<x[i];
 cout<<endl<<"Наибольшее отрицательное значение в массиве  "<<name<<" равно " <<raschet(x)<< endl;

 }
...
Рейтинг: 0 / 0
неправильно работает код
    #34262960
SnowMan2
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
А где вызов функции raschet???
...
Рейтинг: 0 / 0
неправильно работает код
    #34262962
Фотография Aklin
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
мда.. студенты, у которых в инсте нет эоементарно нормальных редакторов кода.
и дебагеров тоже нет.

хоть задание-то какое? и что именно не работает?

аффтопитезь: объект либо именован, либо не существует
...
Рейтинг: 0 / 0
неправильно работает код
    #34262968
lrad
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Задание в коде написано
Задача № 1
Даны вещественные массивы А[15]F[15]
Для каждого массива определить наибольшее
из отрицательных значений

Программа работает но выдает неверный результат

и я в 37 долбаюсь на заочном за 300 км от универа
если бы была возможность я консультировался бы там
...
Рейтинг: 0 / 0
неправильно работает код
    #34262972
Фотография Aklin
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
второй снежный прав, а я добалю: вы либо совсем не разбиретесь в коде, либо полный...

п.с. у вас рассчета саого нет.

аффтопитезь: объект либо именован, либо не существует
...
Рейтинг: 0 / 0
неправильно работает код
    #34263056
Фотография MasterZiv
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
lrad пишет:

Вот ошибки:

Индексы массивов в C/C++ начинаются с НУЛЯ.


Массивы НЕ НАДО передавать в функции по значению. По ссылке или по
указателю. Хотя это формально не ошибка, так тоже работать будет.
Также принято передавать и размер массива, а не иметь его константой.


<conio.h> вам видимо не нужно (но тоже не ошибка).


за максимальный элемент НЕЛЬЗЯ принимать первый элемент, потому что не
факт что он отрицательный. Подумайте, что здесь можно сделать.


Также возможен случай, когда ни одного отрицательного числа не будет. В
этом случае ответ должен быть "такого числа нету".


Имя массива, если уж вы его передаете, должно быть строкой. Вам пока просто
повезло, что имена массивов состоят из одной буквы (тоже не ошибка формально).
Posted via ActualForum NNTP Server 1.3
...
Рейтинг: 0 / 0
неправильно работает код
    #34263097
lrad
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
MasterZiv
Спасибо !!!

<conio.h> вам видимо не нужно (но тоже не ошибка).
я потом добавлю <getch();> чтобы программа сама не закрывалась
просто не успел еще
Также возможен случай, когда ни одного отрицательного числа не будет. В
этом случае ответ должен быть "такого числа нету".
это я тоже добавлю потом
тоесть всеми наворотами обвешать я успею - изначально хочу получить рабочий код самой программы

Aklin пишет:
вы либо совсем не разбиретесь в коде, либо полный...
Интересно, чем это я Вам насолил?
Тем что не понимаю в коде?
Для этого я и поступил учиться!!!
Я не просил готового решения!!! - только указать ошибку
что и сделал MasterZiv

MasterZiv

Еще раз спасибо огромное!!!

P.S. Я конечно понимаю, что Вас подзаеб..... студенты, но ведь можно подходить с пониманием к тем - кто хоть пытается что то делать, а не говорить:

мда.. студенты, у которых в инсте нет эоементарно нормальных редакторов кода.
и дебагеров тоже нет.

P.S.2 Извините я не хотел никого обидеть
...
Рейтинг: 0 / 0
неправильно работает код
    #34270189
lrad
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Снова я со своей задачей
переработал код как советует MasterZiv
Все равно работает неправильно
Кто-нибудь подскажите
Код: plaintext
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.
50.
51.
52.
53.
54.
55.
56.
57.
58.
59.
60.
61.
62.
63.
64.
65.
66.
67.
68.
69.
70.
#include<iostream.h>
#include<iomanip.h>
#include<conio.h>
//Прототипы функций
void inputmas(float[ 15 ],char);
float raschet(float [ 15 ]);
void printrez(float [ 15 ],char);

   void main()
   {
    cout <<"Задача № 1  \n";
    cout <<"Даны вещественные массивы А[15]F[15] \n";
    cout <<"Для каждого массива определить наибольшее \n";
    cout <<"из отрицательных значений" << endl;
    cout<<"\nДля вывода результатов вам нужно самостоятельно заполнить массив!\n";

   // Объявление массива и переменных
   float a[ 15 ],f[ 15 ];
   // Обращение
   inputmas(a,'a'); // в функцию в качестве аргумента
   inputmas(f,'f'); // передается массив и его имя
                       // вызов функции, возращающей 1 значение

   printrez(a,'a');
   printrez(f,'f');
   cout<<"Нажмите любую клавишу...";
   getch();

   return;
   }

// Определение функции ввода массива inputmas()

   void inputmas(float x[ 15 ],char name)
   {

    cout <<"Вводим массив  " << name << endl;
  int i;
  for ( i= 0 ;i< 15 ;i++)
  {
  cout <<"Введите элемент массива  " << name <<"["<<i<<"]=";
  cin >>x[i];
  }
  }
// Определение расчетной функции raschet()
float raschet(float m[ 15 ])
{
float max= 0 ;

for (int i= 0 ;i< 15 ;i++)
if (m[i]>max && m[i] < 0 )
max=m[i];

return max;
}

 //     //Вывод массива и результата

void printrez(float x[ 15 ],char name)
{
cout<<"Исходный массив "<<name<<":"<<endl;
for (int i= 0 ;i< 15 ;i++)
cout<<setw( 5 )<<x[i];

float res=raschet(x);
if(res!= 0 )
cout<<endl<<"Наибольшее отрицательное значение в массиве "<<name<<" равно " <<raschet(x)<< endl;
else
cout<<endl<<"Отрицательных значений нет";
}
...
Рейтинг: 0 / 0
неправильно работает код
    #34270207
Фотография JibSkeart
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
а не правильно работает это как ?
...
Рейтинг: 0 / 0
неправильно работает код
    #34270208
lrad
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
JibSkeartа не правильно работает это как ?
программа выдает неправильный ответ
может вместо отрицательных чисел выдать положительные
...
Рейтинг: 0 / 0
неправильно работает код
    #34270223
Slip
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
lrad
Все равно работает неправильно
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
// Определение расчетной функции raschet()
float raschet(float m[ 15 ])
{
float max= 0 ;

for (int i= 0 ;i< 15 ;i++)
if (m[i]>max && m[i] < 0 )
max=m[i];

return max;
}

max никогда не будет меняться, потому что чтобы оно изменилось нужно m[ i ]>max и m[ i ]<0, а
в начале цикла max=0. Так что надо думать дальше...
Irad
программа выдает неправильный ответ
может вместо отрицательных чисел выдать положительные

Очень странно, она должна всегда выдавать "нет отрицательных чисел"...
...
Рейтинг: 0 / 0
неправильно работает код
    #34270227
lrad
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
мой первый вариант выдавал положительные числа
второй выдает "нет отрицательных чисел"...
так и есть.
я понял что нужно указывать(float max=0;) не ноль и не первый эл-т, а первый найденный отрицательный элемент
в ентом причина?
...
Рейтинг: 0 / 0
неправильно работает код
    #34270235
Slip
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
lradя понял что нужно указывать(float max=0;) не ноль и не первый эл-т, а первый найденный отрицательный элемент
в ентом причина?
Ну вроде бы да...
...
Рейтинг: 0 / 0
неправильно работает код
    #34270369
Фотография Aklin
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
// Определение расчетной функции raschet()
float raschet(float m[ 15 ])
{
float max=0xABCD;

for (int i= 0 ;i< 15 ;i++)
{
if( m[i]< 0  )
{
if( max==0xABCD )max = m[i];
if( max<m[i] ) max = m[i];
}

return max;
}

аффтопитезь: объект либо именован, либо не существует
...
Рейтинг: 0 / 0
неправильно работает код
    #34270463
Фотография MasterZiv
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
lrad пишет:

> я понял что нужно указывать(float max=0;) не ноль и не первый эл-т, а
> первый найденный отрицательный элемент
> в ентом причина?

Надо задавать туда не первый найденный отрицательный элемент,
а элемент, который не может существовать вообще в этом массиве.
и при этом чтобы он не был бы больше или равен любому отрицательному
элементу массива.

Например можно :
-- задать изначально минимальное число float (<limits.h>). Но
это будет не очень хорошо, т.к. вполне вероятно, что такое
число может быть и в массиве, при этом алгоритм не будет работать.
Т..е это решение на 4 или на 5, но не на 5+.

-- Хранить вмесро значения искомого элемента указатель на него,
при этом в начале задать его == NULL, что будет значить,
что еще НЕ НАЙДЕН такой элемент. Это будет на 5+.
Posted via ActualForum NNTP Server 1.3
...
Рейтинг: 0 / 0
неправильно работает код
    #34270465
Фотография MasterZiv
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
lrad пишет:

> // Определение функции ввода массива inputmas()
>
> void inputmas(float x[*15*],char name)

Эта функция никогда ничего не введет, она работает со
своей локальной копией массива. Я тебе говорил про передачу
массивов по ссылкам или по указателям.
Но благодаря тому, что твой алгоритм в принципе пока не работает,
ты еще об этом даже не догадываешься.
Posted via ActualForum NNTP Server 1.3
...
Рейтинг: 0 / 0
неправильно работает код
    #34270479
lrad
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
MasterZiv
> void inputmas(float x[*15*],char name)

Эта функция никогда ничего не введет, она работает со
своей локальной копией массива. Я тебе говорил про передачу
массивов по ссылкам или по указателям.
Но благодаря тому, что твой алгоритм в принципе пока не работает,
ты еще об этом даже не догадываешься.




Но у меня массив прекрасно вводится
...
Рейтинг: 0 / 0
неправильно работает код
    #34270516
lrad
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Ура!!!
Все заработало!!!
может кому и пригодится:
Код: plaintext
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.
50.
51.
52.
53.
54.
55.
56.
57.
58.
59.
60.
61.
62.
63.
64.
65.
66.
67.
68.
69.
70.
71.
72.
73.
74.
75.
76.
77.
78.
79.
#include<iostream.h>
#include<iomanip.h>
#include<conio.h>
//Прототипы функций
void inputmas(float[ 15 ],char);
float raschet(float [ 15 ]);
void printrez(float [ 15 ],char);

   void main()
   {
    cout <<"Задача № 1  \n";
    cout <<"Даны вещественные массивы А[15]F[15] \n";
    cout <<"Для каждого массива определить наибольшее \n";
    cout <<"из отрицательных значений" << endl;
    cout<<"\nДля вывода результатов вам нужно самостоятельно заполнить массив!\n";

   // Объявление массива и переменных
   float a[ 15 ],f[ 15 ];
   // Обращение
   inputmas(a,'a'); // в функцию в качестве аргумента
   inputmas(f,'f'); // передается массив и его имя
   // вызов функции, возращающей 1 значение

   printrez(a,'a');
   printrez(f,'f');
   cout<<"Нажмите любую клавишу...";
   getch();
   return;
   }
// Определение функции ввода массива inputmas()

   void inputmas(float x[ 15 ],char name)
   {

    cout <<"Вводим массив  " << name << endl;
  int i;
  for ( i= 0 ;i< 15 ;i++)
  {
  cout <<"Введите элемент массива  " << name <<"["<<i<<"]=";
  cin >>x[i];
  }
  }
// Определение расчетной функции raschet()
 float raschet(float m[ 15 ])
{
float max=0xABCD;

for (int i= 0 ;i< 15 ;i++)
{
if( m[i]< 0  )

{
if( max==0xABCD )max = m[i];

if( max<m[i] ) max = m[i];

}


}

return max;

}

//Вывод массива и результата

 void printrez(float x[ 15 ],char name)
 {

 cout<<"Исходный массив  "<<name<<":"<<endl;
 for (int i= 0 ;i< 15 ;i++)
 cout<<setw( 5 )<<x[i];
 { if (raschet(x)< 0 )
 cout<<endl<<"Наибольшее отрицательное значение в массиве  "<<name<<" равно " <<      raschet(x)<< endl;
 else
 cout<<endl<< "В данном массиве нет отрицательных значений"<<endl;
 }
 }
...
Рейтинг: 0 / 0
неправильно работает код
    #34271630
Фотография MasterZiv
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
lrad пишет:
> // Определение расчетной функции raschet()
> float raschet(float m[*15*])
> {
> float max=0xABCD;

Это что за крокодил такой ?
float max=0xABCD;

Ты понимаешь, что при этом происходит ?

> if( max==0xABCD )max = m ;

1) Числа типа float, double НИКОГДА нельзя сравнивать с помощью '=='.
(существуют конечно несколько исключений, но они не для начинающих).

2) если программа даже работает, и выдает правильные результаты,
это еще не значит, что она сама правильная.
Posted via ActualForum NNTP Server 1.3
...
Рейтинг: 0 / 0
неправильно работает код
    #34271746
Фотография MasterZiv
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
lrad пишет:

> Но у меня массив прекрасно вводится

Да, вводится. все правильн.
Posted via ActualForum NNTP Server 1.3
...
Рейтинг: 0 / 0
неправильно работает код
    #34272505
Фотография Aklin
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
MasterZiv

хело.

ты собираешься это студенту объяснять???

кстати, зря говоришь, что НЕ сравниваются ==. сравниваются и очень даже ничего.
(проверь: a = b, b==a )
если не нравитсЯ так, приведи по указателю к инту.
...
Рейтинг: 0 / 0
неправильно работает код
    #34272680
Фотография MasterZiv
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Aklin пишет:

> кстати, зря говоришь, что НЕ сравниваются ==. сравниваются и очень даже
> ничего.

Я не говорил что не сравниваются. Я говорил что нельзя сравнивать.
Posted via ActualForum NNTP Server 1.3
...
Рейтинг: 0 / 0
неправильно работает код
    #34273023
Фотография Aklin
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
MasterZiv
Aklin пишет:

> кстати, зря говоришь, что НЕ сравниваются ==. сравниваются и очень даже
> ничего.

Я не говорил что не сравниваются. Я говорил что нельзя сравнивать.
Posted via ActualForum NNTP Server 1.3

не стоит, а не сравниваются. если hex совпадают, или режимы такие, что hex станут совпадать, то они равны.

а вот если считывать, скажем, из стоки (файла) то да, равнять нельзя, ибо 1.23 из строки и 1.23 полученные практическим путем могут быть раличны.
...
Рейтинг: 0 / 0
неправильно работает код
    #34273581
lrad
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Получается зря я радовался?
Ну чтож, приземляться тоже полезно
...я и сам гляжу, что код какой то несуразный получается - но лучше почему то не придумать.....
...
Рейтинг: 0 / 0
неправильно работает код
    #34273587
Фотография JibSkeart
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
проще все заново переписать :)
...
Рейтинг: 0 / 0
неправильно работает код
    #34273615
lrad
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Переписал функцию обработки массива
По моему лучше получилось?
Код: plaintext
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.
50.
51.
52.
53.
54.
55.
56.
57.
58.
59.
60.
61.
62.
63.
64.
65.
66.
67.
68.
69.
70.
71.
72.
73.
74.
75.
76.
77.
78.
79.
80.
81.
82.
#include<iostream.h>
#include<iomanip.h>
#include<conio.h>
//Прототипы функций
void inputmas(float[ 15 ],char);
float raschet(float [ 15 ]);
void printrez(float [ 15 ],char);

   void main()
   {
    cout <<"Задача № 1  \n";
    cout <<"Даны вещественные массивы А[15]F[15] \n";
    cout <<"Для каждого массива определить наибольшее \n";
    cout <<"из отрицательных значений" << endl;
    cout<<"\nДля вывода результатов вам нужно самостоятельно заполнить массив!\n";

   // Объявление массива и переменных
   float a[ 15 ],f[ 15 ];
   // Обращение
   inputmas(a,'a'); // в функцию в качестве аргумента
   inputmas(f,'f'); // передается массив и его имя
   // вызов функции, возращающей 1 значение

   printrez(a,'a');
   printrez(f,'f');
   cout<<"Нажмите любую клавишу...";
   getch();
   return;
   }
// Определение функции ввода массива inputmas()

   void inputmas(float x[ 15 ],char name)
   {

    cout <<"Вводим массив  " << name << endl;
  int i;
  for ( i= 0 ;i< 15 ;i++)
  {
  cout <<"Введите элемент массива  " << name <<"["<<i<<"]=";
  cin >>x[i];
  }
  }
// Определение расчетной функции raschet()
 float raschet(float m[ 15 ])
 {
      int i,max;
      max=m[ 0 ];

  if(max>= 0 )
  for (i= 0 ;i< 15 ;i++){
    if(m[i]< 0 ){
      max=m[i];
      break;
    }
  }
  if(max>= 0 ){
    cout<<endl<<" В данном массиве нет отрицательных значений "<<endl;
    return  0 ;
  }

    for (i= 0 ;i< 15 ;i++)
    if (m[i] >max && m[i] < 0 )
    max=m[i];

 return max;

}


//Вывод массива и результата

 void printrez(float x[ 15 ],char name)
 {

 cout<<"Исходный массив  "<<name<<":"<<endl;
 for (int i= 0 ;i< 15 ;i++)
 cout<<setw( 5 )<<x[i];
 { if (raschet(x)< 0 )
 cout<<endl<<"Наибольшее отрицательное значение в массиве  "<<name<<" равно " <<      raschet(x)<< endl;

 }
 }
...
Рейтинг: 0 / 0
неправильно работает код
    #34273743
Slip
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
lradПереписал функцию обработки массива
По моему лучше получилось?

А зачем так? тебе ж посоветовал
MasterZivХранить вмесро значения искомого элемента указатель на него,
при этом в начале задать его == NULL, что будет значить,
что еще НЕ НАЙДЕН такой элемент.

И красивее, и массив будет проходиться 1 раз, а не 2, как в последнем варианте...
...
Рейтинг: 0 / 0
неправильно работает код
    #34273833
mikhail_n
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
MasterZivЭта функция никогда ничего не введет, она работает со
своей локальной копией массива. Я тебе говорил про передачу
массивов по ссылкам или по указателям.
Но благодаря тому, что твой алгоритм в принципе пока не работает,
ты еще об этом даже не догадываешься.

Ну вообще-то предать в функцию массив не по ссылке, а по значению - этта нада оччень постараться. Примерчиг дадите?
...
Рейтинг: 0 / 0
неправильно работает код
    #34276616
Фотография MasterZiv
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
lrad пишет:
> Автор: "lrad"
> Переписал функцию обработки массива
> По моему лучше получилось?

Что-то я не вижу прогресса. Наоборот, деградация...

Пошто максимальное значение в int хранится ?
Posted via ActualForum NNTP Server 1.3
...
Рейтинг: 0 / 0
неправильно работает код
    #34276618
Фотография MasterZiv
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
mikhail_n пишет:
>
> Ну вообще-то предать в функцию массив не по ссылке, а по значению - этта
> нада оччень постараться. Примерчиг дадите?

Был не прав на счет этого, вспылил ... ну и все такое.
Каюсь, посыпаю голову пеплом...
Забыл я старый добрый С и что С++ должен его тоже компилировать.

Вообще интересно получается, в С++ параметры в функции передаются
всегда по значению, но если параметр - массив, параметр передается
по ссылке.
Posted via ActualForum NNTP Server 1.3
...
Рейтинг: 0 / 0
неправильно работает код
    #34276698
A. Fig Lee
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
// Определение расчетной функции raschet()
float raschet(float m[15])
{
int i, indx = -1;

for (i=0;i<sizeof(m);i++){
if (m < 0.0) {
if ((indx >= 0 && m > m[indx]) || (indx < 0)) {
indx = i;
}
}

if(indx<0){
cout<<endl<<" В данном массиве нет отрицательных значений "<<endl;
return 0.0;
}

return m[indx];

}
...
Рейтинг: 0 / 0
неправильно работает код
    #34276701
A. Fig Lee
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
// Определение расчетной функции raschet()
 float raschet(float m[ 15 ])
 {
      int i, indx = - 1 ;

  for (i= 0 ;i<sizeof(m);i++){
    if (m[i] <  0 . 0 ) {
      if ((indx >=  0  && m[i] > m[indx]) || (indx <  0 )) {
         indx = i;
      }
  }

  if(indx< 0 ){
    cout<<endl<<" В данном массиве нет отрицательных значений "<<endl;
    return  0 . 0 ;
  }

 return m[indx];

}
...
Рейтинг: 0 / 0
32 сообщений из 32, показаны все 2 страниц
Форумы / C++ [игнор отключен] [закрыт для гостей] / неправильно работает код
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]