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

Какая-то мистика с if - C++

Восстановить пароль Регистрация
Другие темы раздела
C++ Пройти массив по столбцам http://www.cyberforum.ru/cpp-beginners/thread1312208.html
Задача звучит так: нахождение номера строки, в которой расположен минимальный элемент любого столбца двумерного массива. Другими словами, нужно в каждом столбце массива найти минимальный элемент и вывести индекс строки этого элемента. Я вот не могу придумать, как пройти массив не по строкам, а по столбцам, чтобы искать минимальный в столбцах. Может кто подсказать?
C++ Список со структурой - не работает функция есть структура с городами и рейсами нужно сделать в меню функцию по изменению данных в программе вот сама функия node* modify(node *head, int number){//Изменение node *ptr = head; int count = 0; int i = 0; while (ptr){ if (ptr->data.number == number){ http://www.cyberforum.ru/cpp-beginners/thread1312192.html
C++ Сортировка массива по другим значениям
Скажем у нас есть массив А = {1,2,3} На пример для 1 массива A присвоить значение 3 , для 2 занечение 1,для 3 значение 2 после сортировки получаем А={2,3,1}. Как это сделать ?
Изобразить псевдографикой график функции C++
Всем доброго времени суток. Нужно написать программу построения графика функции y=tg(x) в интервале от -П до +П с шагом в П/10, используя обычные символы. Не могу определить индекс строки куда вписать точку графика, вообщем вот:#include "stdafx.h" #include <iostream> #include <math.h> using namespace std; int main() { int i, j;double x, y,pi; char a; for (i = 0; i<50; i++){ j =...
C++ Вычислить сумму и количество элементов массива X http://www.cyberforum.ru/cpp-beginners/thread1312164.html
Вычислить сумму и количество элементов массива X. Условия ограничения:0<=x(i)<=1 ; Массив X(100).
C++ Циклические алгоритмы Вывести на экран таблицу значений функции Y(x) и ее разложения в ряд S(x) для x, изменяющегося от a до b с шагом h = (b – a)/10 S(x)=x+x^3/3!+...+x^(2n+1)/(2n+1)! y=(e^x-e^-x)/2 подробнее

Показать сообщение отдельно
hoggy
5602 / 2232 / 411
Регистрация: 15.11.2014
Сообщений: 5,025
Завершенные тесты: 1
27.11.2014, 02:14     Какая-то мистика с if
1. operator+ реализован не корректно.
Он должен возвращать копию нового объекта, а не модифицировать левостоящий.

2. Но даже согласно действующей логике он все равно реализован не корректно.
Потому что объект модифицируется: склеивается. Но при этом значение len не изменяется.
И таким образом, после склейки данные объекта не корректны.

3. Если убрать проверку if, то это вообще получится порча памяти. Последствия не предсказуемы.

4. На онлайн компиляторе работает. Однако это чистое везение:

http://rextester.com/FVFQ40381

5. Длина не может быть отрицательной. Количество не может быть отрицательным.
Не может быть минус 2 яблока, или -10 символов в строке.

Поэтому, использование типа int для этой цели - некорректно.

На языке с++ существует специальный тип данных: size_t, который гарантирует, что в нем можно сохранить размер любого, теоретически самого большого объекта, какой только может быть на данной платформе.

Тип данных int таких гарантий не предоставляет. Рекомендую вам не использовать его для этих целей.

6. Отсутствие квалификатора const выдает дилетанта.

В реальном проекте это может вызвать общие проблемы сопровождения продуктов компании, и в особенности при взаимодействии вашего кода с кодом сторонних библиотек.
 
Текущее время: 15:27. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru