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

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

Войти
Регистрация
Восстановить пароль
 
Рейтинг: Рейтинг темы: голосов - 23, средняя оценка - 4.96
spruced
1 / 1 / 0
Регистрация: 07.06.2013
Сообщений: 57
#1

error C2106: '=' : left operand must be l-value выдаёт ошибку на сортировку - C++

08.06.2013, 11:23. Просмотров 3265. Ответов 4
Метки нет (Все метки)

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 "stdafx.h"
#include <iostream>
#include <math.h>
using namespace std;
 
int main()
{
 
   setlocale(LC_ALL, "Russian");
 int N,i,Buf;
cout << "введите размерность массивов N";
cin >> N;
int *x = new int[N];
for (i = 0; i < N; i++)
{
cout << "Введите  " << i <<"-ую координату x: ";
cin >> x[i];
}
int *y = new int[N];
for (i = 0; i < N; i++)
{
cout << "Введите  " << i <<"-ую координату y: ";
cin >> y[i];
}
double z;
for (i = 0; i < N; i++)
{
z=sqrt(double( x[i] * x[i] +  y[i] * y[i]));
cout << z <<" ";
}
for (i = 0; i < N; i++)
if (sqrt(double( x[i] * x[i] +  y[i] * y[i]))>sqrt(double( x[i+1] * x[i+1] +  y[i+1] * y[i+1])) )
{Buf=sqrt(double( x[i] * x[i] +  y[i] * y[i]));
sqrt(double( x[i] * x[i] +  y[i] * y[i]))=sqrt(double( x[i+1] * x[i+1] +  y[i+1] * y[i+1])) ;
sqrt(double( x[i+1] * x[i+1] +  y[i+1] * y[i+1]))=Buf;}
             
}
программа еще пока не закончена
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
08.06.2013, 11:23
Здравствуйте! Я подобрал для вас темы с ответами на вопрос error C2106: '=' : left operand must be l-value выдаёт ошибку на сортировку (C++):

Error C2106: '=' : left operand must be l-value - C++
Всем привет. Вот у меня есть такой хедер: #ifndef MATRIXX_H #define MATRIXX_H #include &lt;iostream&gt; #include &lt;conio.h&gt; #include...

Error C2106: '=' : left operand must be l-value - C++
Добрый день! Пишу программу управления колледжом. И столкнулась с этой ошибкой. У меня есть класс Department который имеет массив...

Error: lvalue required as left operand of assignment| - C++
Программа перевода с 10-ой СИ в римскую.В строках начиная с 19 пишет &quot;error: lvalue required as left operand of assignment&quot; #include...

[Error] lvalue required as left operand of assignment - C++
Задание Ошибка при компиляции. 28 14 lvalue required as left operand of assignment #include &lt;iostream&gt; #include...

Error: lvalue required as left operand of assignment. Не могу разобраться где ошибка - C++
#include &lt;stdio.h&gt; #include &lt;stdlib.h&gt; int main() { int n, count = 0; for (n = 111; n &lt; 1000; ++n) if (n / 100...

Компилятор выдаёт ошибку error C2059: syntax error : '}' - C++
Компилятор visual studio 2010 выдаёт ошибку error C2059: syntax error : '}' в строке 91. Самая последняя строка #include &lt;iostream&gt; ...

4
rangerx
1937 / 1546 / 141
Регистрация: 31.05.2009
Сообщений: 2,913
08.06.2013, 14:05 #2
Что сделать-то нужно? Отсортировать точки соответственно расстоянию до начала координат?
0
Kuzia domovenok
2050 / 1895 / 173
Регистрация: 25.03.2012
Сообщений: 6,516
Записей в блоге: 1
08.06.2013, 14:09 #3
строка 34
Цитата Сообщение от spruced Посмотреть сообщение
sqrt(double( x[i] * x[i] + *y[i] * y[i]))=sqrt(double( x[i+1] * x[i+1] + *y[i+1] * y[i+1])) ;
что это за бред?
0
Кудаив
329 / 406 / 24
Регистрация: 27.05.2012
Сообщений: 1,168
Завершенные тесты: 2
08.06.2013, 14:10 #4
C++
1
2
sqrt(double( x[i] * x[i] +  y[i] * y[i])) = sqrt(double( x[i+1] * x[i+1] +  y[i+1] * y[i+1])) ;
sqrt(double( x[i+1] * x[i+1] +  y[i+1] * y[i+1]))=Buf;
присваиваешь функции корня значение - вот тебе и ошибки
0
Kuzia domovenok
2050 / 1895 / 173
Регистрация: 25.03.2012
Сообщений: 6,516
Записей в блоге: 1
08.06.2013, 14:16 #5
Цитата Сообщение от spruced Посмотреть сообщение
Buf=sqrt(double( x[i] * x[i] + *y[i] * y[i]));
sqrt(double( x[i] * x[i] + *y[i] * y[i]))=sqrt(double( x[i+1] * x[i+1] + *y[i+1] * y[i+1])) ;
sqrt(double( x[i+1] * x[i+1] + *y[i+1] * y[i+1]))=Buf;}
бред!
надо менять только элементы массива
C++
1
2
3
4
5
6
Buf=x[i];
x[i]=x[i+1];
x[i+1]=Buf;
Buf=y[i];
y[i]=y[i+1];
y[i+1]=Buf;
Добавлено через 4 минуты
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
double* z=new double[N];
for (i = 0; i < N; i++)
{
z[i]=sqrt(double( x[i] * x[i] +  y[i] * y[i]));
cout << z[i] <<" ";
}
bool sorted=false;
while(!sorted)
  for (i = 0, sorted=true; i < N; i++)
    if (z[i]>z[i+1] )
    {
      Buf=sqrt(double( x[i] * x[i] +  y[i] * y[i]));
    sqrt(double( x[i] * x[i] +  y[i] * y[i]))=sqrt(double( x[i+1] * x[i+1] +  y[i+1] * y[i+1])) ;
    sqrt(double( x[i+1] * x[i+1] +  y[i+1] * y[i+1]))=Buf;
    Buf=z[i];
    z[i]=z[i+1];
    z[i+1]=Buf;
    sorted=false;
  }
}
1
08.06.2013, 14:16
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
08.06.2013, 14:16
Привет! Вот еще темы с ответами:

Error C2106 или error C2440 - C++
Необходимо создать односвязный список из слов строки.Ошибка в 28 и 35 строке. Код: #include &quot;stdafx.h&quot; #include &lt;conio.h&gt; #include...

Lvalue required as left operand of assignment - C++
Подскажите, пожалуйста. Можно ли так (точнее что-то подобное) сделать? template &lt;class T&gt; union help{ //для mmap, так как он...

Исправить ошибку "error C2679: binary '*' : no operator found which takes a right-hand operand of type" - C++
matiza.h #pragma once template &lt;typename N&gt; class matriza { protected: int stroka; N *mas; public: matriza()

Ошибка: lvalue required as left operand of assignment - C++
b += l * b; выдает ошибку в этой строке: lvalue required as left operand of assignment


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

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

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