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

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

Войти
Регистрация
Восстановить пароль
 
Tamplar
5 / 5 / 1
Регистрация: 02.08.2008
Сообщений: 45
#1

Помогите найти ошибку в программе - C++

25.12.2008, 22:16. Просмотров 531. Ответов 4
Метки нет (Все метки)

Задание: найти по модулю первый и второй максимальний елемент динамичного массива!


Код:
Код
 #include <math.h>
#include <iostream.h>

int main()
{
   int n,i,imax,imax2;
   float max,max2;
   float modul=0;  
   
   cout<<"Input Rozmirnist masivy\n";
   cin>>n;

   float *y = new float[n];

   cout<<"Masiv"<<endl;
//-----------------------------------------------------------
   for(i=1; i<=n; i++)  //инициализация массива
   {                                                                   
     y[i]=12.6*sin(fabs(i/2.9))-8.3*cos(1.8)*i;

     cout<<"["<<i<<"]="<<y[i]<<endl;
   }
//--------------------------------------------------
  //поиск первого максимума
   imax=1;
   max=fabs(y[1]);


   for(i=1; i<=n; i++)
   {
       modul=y[i];

       if(modul>max){
        max=modul; imax=i;}
   }
   cout<<"Maximym=["<<imax<<"]="<<max<<endl;
//---------------------------------------------------
    //поиск второго максимума
   max2=fabs(y[1]);
   modul=0;
   imax2=1;

   for(i=1;i<=n;i++)
   {
      modul=y[i];
       if(modul>max2 && max2!=max){
           max2=modul; imax2=i;}
   }
       cout<<"Maximym=["<<imax2<<"]="<<max2<<endl;
   return 0;
}
Суть проблеми: Первий и второй максимум отбражают одинаковие значения

Помогите пожалуста уже голова от етого болит
0
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
25.12.2008, 22:16
Здравствуйте! Я подобрал для вас темы с ответами на вопрос Помогите найти ошибку в программе (C++):

помогите найти ошибку в программе - C++
#include &lt;cstdlib&gt; #include &quot;CMatrix.h&quot; #include &lt;conio.h&gt; //Руссификация ostream&amp; operator&lt;&lt;(ostream &amp;stream,char* s){ ...

Помогите найти ошибку в программе - C++
Помогите мне найти ошибку) Реализовать необходимо на С++ #include &lt;iostream&gt; #include &lt;stdlib.h&gt; using namespace std; const...

Помогите найти ошибку в программе - C++
подскажите почему не работает? #include &lt;stdio.h&gt; #include &lt;conio.h&gt; void FormMassive(int A,int B,int IA,int IB,int i,int j) { ...

Помогите найти ошибку в программе - C++
вводятся фамилия имя отчество, определить самое редкое имя. Что не так, почему программа не работает? Помогите решить. #include...

Помогите найти ошибку в программе! (С++) - C++
Найти строку с минимальной суммой элементов #include&lt;iostream&gt; using namespace std; #include &quot;Rus.h&quot; int fuction (int,int,int);...

Помогите найти ошибку в моей программе - C++
#include&lt;iostream.h&gt; #include&lt;conio.h&gt; #include&lt;math.h&gt; struct uravn {double a, b, e; void define (double a1=0.0, double b1=0.0,...

Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
XuTPbIu_MuHTAu
Эксперт С++
2225 / 740 / 10
Регистрация: 27.05.2008
Сообщений: 1,508
25.12.2008, 22:20 #2
Код
   for(i=1; i<=n; i++)  //инициализация массива
Массивы нумеруются с нуля....т.е так :
Код
   for(i=0; i<n; i++)  //инициализация массива
0
Tamplar
5 / 5 / 1
Регистрация: 02.08.2008
Сообщений: 45
25.12.2008, 22:25  [ТС] #3
Поставил я нумирацыю с 0,ошибка всё таже может ето у меня что с скомпилятором что то он игнориррует етот
Код
  if(modul>max2 && max2!=max)
0
XuTPbIu_MuHTAu
Эксперт С++
2225 / 740 / 10
Регистрация: 27.05.2008
Сообщений: 1,508
25.12.2008, 22:27 #4
Он не игнорирует.
Код
  if(modul>max2 && max2!=max)
здесь ты сравниваешь max2 и max, но в max2 еще не записан тот елемент, на который
ты сейчас смотришь.нужно:
Код
 if(modul>max2 && modul!=max)
в твоей терминологии
1
Tamplar
5 / 5 / 1
Регистрация: 02.08.2008
Сообщений: 45
25.12.2008, 22:31  [ТС] #5
Ти прав теперь всё работает СПАСИБО БОЛЬШОЕ
0
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
25.12.2008, 22:31
Привет! Вот еще темы с ответами:

Структуры. Помогите найти ошибку в программе - C++
3. Сведения об экзамене содержат следующие данные: дисциплину (программирование, социология, иностранный язык, физика), дату сдачи экзамена...

Помогите найти ошибку в программе сортировки массива - C++
Помогите с++ срочно! не сортирует массив! // ConsoleApplication18.cpp: определяет точку входа для консольного приложения. // ...

Помогите найти ошибку в программе. Вычисление формулы. - C++
Написал программу, которая считает формулу, но она не работает. Компилятор ошибок не выдает, но когда вводишь х выдает что-то вроде...

Помогите найти ошибку в программе составления палиндрома числа - C++
Вот програма в которой вводится число а потом высверивается массив из этих чисел, а также составляет палиндром ( палиндром это числа типа...


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

Или воспользуйтесь поиском по форуму:
Yandex
Объявления
25.12.2008, 22:31
Ответ Создать тему
Опции темы

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