Модераторы: bsa
  

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> (С)выдает ошибку в компиляторе, причину не могу понять 
V
    Опции темы
Volker
Дата 10.10.2017, 17:43 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 9
Регистрация: 26.9.2017

Репутация: нет
Всего: нет



Код

#include <stdio.h>
#include <locale.h>
#include <conio.h>
#include <math.h>

const int x[];
const int y[];
int main(int argc)
{
    if(argc>=4)
    {
        int i, j, k, z, v, k2, j2, z2, v2, f; 
        int x1; int y1; int x2; int y2; int x3; int y3; int y4; int x4;
        setlocale(LC_ALL, "Rus");
            
        printf("Введите количество точек: \n argc = ");
        scanf("%d", &argc);
        
        printf("Введите координаты точек: \n");
        for(i=0;i<argc;i++)
        {
            printf(" x=");
            scanf("%d", &x[i]);
            printf("\n y=");
            scanf("%d", &y[i]);
        }
        for(j=0; j<(argc-1); j++)
        {
            if(f==1) break;
            
            x1=x[j];
            y1=y[j];
            for(k=1; k<(argc+1); k++)
            {
                if(f==1) break;
                
                if(k<argc)
                {
                    x2=x[k];
                    y2=y[k];
                }
                else
                {
                    k2=k-argc;
                    x2=x[k2];
                    y2=y[k2];
                }
                for(z=2; z<(argc+2); z++)
                {
                    if(f==1) break;
                    
                    if(z<argc)
                    {
                        x3=x[z];
                        y3=y[z];
                    }
                    else
                    {
                        z2=z-argc;
                        x3=x[z2];
                        y3=y[z2];
                    }
                    
                    for(v=3; v<(argc+3); v++)
                    {    
                        if(f==1) break;
                        
                        if(v<argc)
                        {
                            x4=x[v];
                            y4=y[v];
                        }
                        else
                        {
                            v2=v-argc;
                            x4=x[v2];
                            y4=y[v2];
                        }
                        
                        if( ( (x1+x2)\2 == (x3+x4)\2 )&&( (y1+y2)\2 == (y3+y4)\2 ) )
                        {
                            if( (x1-x2)*(x3-x4)+(y1-y2)*(y3-y4)=0 )
                            {
                                printf("Среди данных точек существует ромб!");
                                f=1; break;
                            }
                        }
                        else if( ((x1+x3)\2==(x2+x4)\2)&&((y1+y3)\2==(y2+y4)\2) )
                        {
                            if( (x1-x3)*(x2-x4)+(y1-y3)*(y2-y4)=0 )
                            {
                                printf("Среди данных точек существует ромб!");
                                f=1; break;
                            }
                        }
                    }
                }
                
            }    
        }
    }
    else printf("Ошибка! \n");
    getch();
    return 0;
}

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

Это сообщение отредактировал(а) Volker - 10.10.2017, 21:33

Присоединённый файл ( Кол-во скачиваний: 4 )
Присоединённый файл  Безымянный.png 66,90 Kb
PM MAIL   Вверх
Volker
Дата 10.10.2017, 17:45 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 9
Регистрация: 26.9.2017

Репутация: нет
Всего: нет



Прилогаю сам код в файле

Присоединённый файл ( Кол-во скачиваний: 2 )
Присоединённый файл  opLR2.c 1,89 Kb
PM MAIL   Вверх
baldman88
Дата 10.10.2017, 21:42 (ссылка) |    (голосов:1) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


Профиль
Группа: Участник
Сообщений: 210
Регистрация: 18.1.2009

Репутация: 1
Всего: 7



Вам же компилятор прямо говорит, что используется неправильная управляющая последовательность. Даже номера строк пишет (. Проблема в том, что вместо знака деления (/) используется обратный слэш (\), который начинает управляющую последовательность. Плюс ко всему в некоторых if-aх вместо сравнения (==) используется присваивание (=).
PM MAIL   Вверх
Volker
Дата 10.10.2017, 22:05 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 9
Регистрация: 26.9.2017

Репутация: нет
Всего: нет



что то у меня не так со вниманием... в любом случае, большое спасибо!
разве что... не могли бы вы еще подсказать из-за чего может не работать русский язык? каракули выдает... а в остальном после некоторых махинаций, все заработало.
Код

#include <stdio.h>
#include <locale.h>
#include <conio.h>
#include <math.h>

int main(int argc, const int x[], const int y[])
{
    setlocale(LC_ALL, "RUSSIAN");
    
    printf("Введите количество точек: \n argc = ");
    scanf("%d", &argc);
    
    if(argc>=4)
    {
        int i, j, k, z, v, k2, j2, z2, v2, f=0; 
        int x1; int y1; int x2; int y2; int x3; int y3; int y4; int x4;
        setlocale(LC_ALL, "Rus");
            
        printf("Введите количество точек: \n argc = ");
        scanf("%d", &argc);
        
        printf("Введите координаты точек: \n");
        for(i=0;i<argc;i++)
        {
            printf(" x=");
            scanf("%d", &x[i]);
            printf("\n y=");
            scanf("%d", &y[i]);
        }
        for(j=0; j<(argc-1); j++)
        {
            if(f==1) break;
            
            x1=x[j];
            y1=y[j];
            for(k=1; k<(argc+1); k++)
            {
                if(f==1) break;
                
                if(k<argc)
                {
                    x2=x[k];
                    y2=y[k];
                }
                else
                {
                    k2=k-argc;
                    x2=x[k2];
                    y2=y[k2];
                }
                for(z=2; z<(argc+2); z++)
                {
                    if(f==1) break;
                    
                    if(z<argc)
                    {
                        x3=x[z];
                        y3=y[z];
                    }
                    else
                    {
                        z2=z-argc;
                        x3=x[z2];
                        y3=y[z2];
                    }
                    
                    for(v=3; v<(argc+3); v++)
                    {    
                        if(f==1) break;
                        
                        if(v<argc)
                        {
                            x4=x[v];
                            y4=y[v];
                        }
                        else
                        {
                            v2=v-argc;
                            x4=x[v2];
                            y4=y[v2];
                        }
                        
                        if( ( (x1+x2)/2 == (x3+x4)/2 )&&( (y1+y2)/2 == (y3+y4)/2 ) )
                        {
                            if( (x1-x2)*(x3-x4)+(y1-y2)*(y3-y4)==0 )
                            {
                                printf("Среди данных точек существует ромб!");
                                f=1; break;
                            }
                        }
                        else if( ((x1+x3)/2==(x2+x4)/2)&&((y1+y3)/2==(y2+y4)/2) )
                        {
                            if( (x1-x3)*(x2-x4)+(y1-y3)*(y2-y4)==0 )
                            {
                                printf("Среди данных точек существует ромб!");
                                f=1; break;
                            }
                        }
                    }
                }
                
            }    
        }
    }
    else printf("Ошибка! \n");
    getch();
    return 0;
}

кстати, что странно, без введенной библиотеки выдает немного другие каракули, более квадратные чтоли...

Присоединённый файл ( Кол-во скачиваний: 2 )
Присоединённый файл  Безымянный.png 4,29 Kb
PM MAIL   Вверх
Volker
Дата 10.10.2017, 22:50 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 9
Регистрация: 26.9.2017

Репутация: нет
Всего: нет



проблему решил изменив кодировку на ANSI.
Спасибо за помощь!
PM MAIL   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Правила форума "C/C++: Для новичков"
JackYF
bsa

Запрещается!

1. Публиковать ссылки на вскрытые компоненты

2. Обсуждать взлом компонентов и делиться вскрытыми компонентами

  • Действия модераторов можно обсудить здесь
  • С просьбами о написании курсовой, реферата и т.п. обращаться сюда
  • Вопросы по реализации алгоритмов рассматриваются здесь


Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, JackYF, bsa.

 
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | C/C++: Для новичков | Следующая тема »


 




[ Время генерации скрипта: 0.1392 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.