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

Ошибка - C++

Восстановить пароль Регистрация
 
frank_lampard
-8 / 2 / 0
Регистрация: 23.09.2012
Сообщений: 145
21.05.2013, 21:43     Ошибка #1
В чем ошибка?
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
#include<iostream>
#include<stdio.h>
#include<ctime>
#include<cmath>
using namespace std;
double dist(int *a, int i1, int i2){
       return sqrt((a[i1]-a[i2])*(a[i1]-a[i2])+(a[i1+1]-a[i2+1])*(a[i1+1]-a[i2+1]));
}
int main()
{
    srand(time(0));
    int n;
    cout<<"n="; cin>>n;
    int *a=new int[2*n];
    for (int i=0; i<2*n; i++)
    {
        a[i]=rand()%200-100;
        if (i%2==0) cout<<a[i]<<"\t";
        else cout<<a[i]<<"\n";
    }
    int max1=0, max2=2*n-2;
    for (int i=0; i<2*n-1; i+=2)
        for (int j=i+2; j<2*n-1; j+=2)
        {
            if (dist(a,max1,max2)<dist(a,i,j))
            {
               max1=i;
               max2=j;
            }
 
            }
        }
 
    cout<<endl<<"max distance "<<dist(a, max1, max2)<<":\nx1="<<a[max1]<<, "y1="<<a[max1+1]<<"\nx2="<<a[max2]<<, "y2="<<a[max2+1]<<;
    system("pause");
    return 0;
}
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
21.05.2013, 21:43     Ошибка
Посмотрите здесь:

С++ ошибка в проге, но не могу понять какая ошибка( C++

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

Или воспользуйтесь поиском по форуму:
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
ssXXss
263 / 185 / 10
Регистрация: 15.01.2011
Сообщений: 668
21.05.2013, 21:46     Ошибка #2
C++
1
2
3
4
5
6
7
8
9
10
11
12
 for (int i=0; i<2*n-1; i+=2)
{// наверное пропустил
        for (int j=i+2; j<2*n-1; j+=2)
        {
               if (dist(a,max1,max2)<dist(a,i,j))
               {
                 max1=i;
                 max2=j;
               }
 
          }
 }
frank_lampard
-8 / 2 / 0
Регистрация: 23.09.2012
Сообщений: 145
21.05.2013, 22:00  [ТС]     Ошибка #3
ssXXss, всё равно ошибка.
ssXXss
263 / 185 / 10
Регистрация: 15.01.2011
Сообщений: 668
21.05.2013, 22:48     Ошибка #4
что за ошибка ?
frank_lampard
-8 / 2 / 0
Регистрация: 23.09.2012
Сообщений: 145
21.05.2013, 22:55  [ТС]     Ошибка #5
Вот

Ошибка
ssXXss
263 / 185 / 10
Регистрация: 15.01.2011
Сообщений: 668
21.05.2013, 23:06     Ошибка #6
C++
1
cout<<endl<<"max distance "<<dist(a, max1, max2)<<":\nx1="<<a[max1]<<,(????) "y1="<<a[max1+1]<<"\nx2="<<a[max2]<<,(????) "y2="<<a[max2+1]<<;
проверь синтаксис
frank_lampard
-8 / 2 / 0
Регистрация: 23.09.2012
Сообщений: 145
21.05.2013, 23:15  [ТС]     Ошибка #7
Не могу понять вас, что вместо вопросов прописывать?
ssXXss
263 / 185 / 10
Регистрация: 15.01.2011
Сообщений: 668
21.05.2013, 23:22     Ошибка #8
убрать запятую перед вопросами <<,(????)
frank_lampard
-8 / 2 / 0
Регистрация: 23.09.2012
Сообщений: 145
21.05.2013, 23:27  [ТС]     Ошибка #9
Большое спасибо. И еще ; убрать надо. Можно еще узнать, как сделать, чтобы результат оставался дольше на экране? Остаются только координаты точек, а максимальные значения убираются сразу.
ssXXss
263 / 185 / 10
Регистрация: 15.01.2011
Сообщений: 668
21.05.2013, 23:37     Ошибка #10
для начала было бы не плохо оформить код так что бы всем было понятно чего вы добиваетесь,
к примеру
C++
1
2
 if (i%2==0) cout<<a[i]<<"\t";
        else cout<<a[i]<<"\n";
можно записать так :
C++
1
2
3
4
 if (i%2==0) 
    cout<<a[i]<<"\t";
 else 
    cout<<a[i]<<"\n";
а последний cout<<..... разделить на несколько, потом используя отладчик проще найти грабли.
frank_lampard
-8 / 2 / 0
Регистрация: 23.09.2012
Сообщений: 145
22.05.2013, 00:27  [ТС]     Ошибка #11
Проблема решена: нужно убрать "endl". Спасибо за помощь!
Yandex
Объявления
22.05.2013, 00:27     Ошибка
Ответ Создать тему
Опции темы

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