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

Заполнение квадратной матрицы змейкой по горизонтали - C++

Восстановить пароль Регистрация
Другие темы раздела
C++ Приложение для доступа к БД программным путем без инструментов GUI http://www.cyberforum.ru/cpp-beginners/thread1231276.html
Вопрос задавался не раз. Извиняюсь за дублирование. Столкнулся с базами данных(делать было нечего). В качестве СУБД пробовал MS Access, в качестве клиентского приложения - приложение на Delphi. Потом "кувыркался" с СУБД phpMyAdmin и Denwer. Потом вообще потащило на Interbase. Когда я столкнулся с C++ (IDE - CodeBlocks) и понял, что нет инструментов для создания GUI(не MS Visual все же), то...
C++ Назначение оператора delete[] Для освобождения динамической памяти от массива предлагают оператор delete #include <iostream> using namespace std; int main() { int* p = new int; for(int i=0; i<10; i++) p = i; http://www.cyberforum.ru/cpp-beginners/thread1231273.html
Машина: все буквы B трансформируются в BA и все буквы A трансформируются в B C++
Однажды маленький Мирко наткнулся на забавную машину! Она состояла из очень очень большого экрана и одной кнопки. Когда он её обнаружил, на экране машины отображалась только буква А. После того как он нажал на кнопку, буква поменялась на В. Когда он ещё несколько раз нажал на кнопку, слово превратилось из В в BA, затем в BAB, затем в BABBA… Мирко понял, что машина изменяет слово таким образом,...
C++ Прибавить к элементам каждого столбца первой матрицы произведения элементов соответствующих строк второй
Даны две действительные матрицы размера 6*9. Получить новую матрицу прибавлением к элементам каждого столбца первой матрицы произведения элементов соответствующих строк второй матрицы. Вывести исходные и результирующую матрицы.
C++ Найти элементы массива с четными индексами http://www.cyberforum.ru/cpp-beginners/thread1231225.html
Написал программу которая выводит элементы массива с ЧЕТНЫМИ индексами. int main(){ int mass; int n; cin>>n; for(int i=0;i<n;i++){ cout<<""; cin>>mass; } for(int i=1;i<n;i++){
C++ Можно ли написать плагин для браузерной игры Доброе время суток,под ночь озадачился вопросом "а можно ли написать своеобразный плагин для браузерной игры" , смотрел на форумах,мне подходящее.Вот и хочу у вас , далеко не глупых людей посоветоваться,как написать плагин для браузерной игры,суть игры такова как и в других РПГ играх,игрок дерется против других реальных игроков .Моя проблема такова,когда бьет меня игрок я должен увернутся от... подробнее

Показать сообщение отдельно
Vtulhu
369 / 375 / 96
Регистрация: 12.08.2011
Сообщений: 1,610
21.07.2014, 19:46     Заполнение квадратной матрицы змейкой по горизонтали
Цитата Сообщение от Psilon Посмотреть сообщение
Vtulhu, вы уже даете наверное 10 ссылку на этот сайт за последине 24 часа. Можно уже этого не делать? назойливость лишь раздражает.
Знаете, на въезде в Нью-Йорк висит огромный плакат: "Если Вам не нравятся гей-браки - не вступайте в гей-брак!"

Цитата Сообщение от Psilon Посмотреть сообщение
Мне тоже. А насколько самоочевидный для вас такой код?
Совершенно не очевидный. Надо гуглить, как хранятся числа в double, потом преобразовывать десятичное число в битовое... Это может быть, например, очень быстрый способ проверить, что дробная часть числа больше 0.5.

Цитата Сообщение от Psilon Посмотреть сообщение
я полагаю, вы оптимизировали debug-сборку? Потому как в release компилятор обычно и сам умеет границы цикла сохранять во временные переменные. Ну и не только.
Я не уверен, что TCC умеет это делать. Но это неважно. Вы никак не поймете мою мысль. Есть вещи, которые я не буду оптимизировать, даже если буду точно знать, что компилятор за меня это не сделает. Потому что это микрооптимизация, которая ускорит программу на неизмеримо малую величину, зато усложнит ее и затуманит смысл. А есть оптимизации, которые я сделаю, и опять-таки вне зависимости от того, что там на этот счет думает компилятор. Во-первых, компиляторы бывают разные. Во-вторых, компилятор может ошибиться и "не понять", что там вообще происходит. Такие случаи бывают! А в-третьих, и это самое главное, эта оптимизация ничего не стоит. Именно в смысловом плане. Другими словами, она не ухудшит код, не затуманит его. Код останется таким же читаемым. А может, и более читаемым. Ведь есть такое понятие, как идиома. Выражение типа while( (c = *str++ ) && c != '\n' ) выглядит сложно, громоздко. Сначала. Потом это читается легко. Потому что это идиома. Она часто встречается. Выражение (i & 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
38
39
40
41
42
43
44
45
46
47
48
49
#include "greatest.h"
 
void copy_without_spaces(char* dst, const char* src)
{
    do {
        if( *src != ' ' ) {
            *dst++ = *src;
        }
    } while( *src++ );
}
 
TEST empty()
{
    char buf[1];
    copy_without_spaces(buf, "");
    ASSERT(buf[0] == '\0');
    PASS();
}
 
TEST spaces_only()
{
    char buf[1];
    copy_without_spaces(buf, "     ");
    ASSERT(buf[0] == '\0');
    PASS();
}
 
TEST a_b()
{
    char buf[3];
    copy_without_spaces(buf, "a   b");
    ASSERT_STR_EQ(buf, "ab");
    PASS();
}
 
SUITE(the_suite)
{
    RUN_TEST(empty);
    RUN_TEST(spaces_only);
    RUN_TEST(a_b);
}
 
GREATEST_MAIN_DEFS();
 
int main(int argc, char **argv) {
    GREATEST_MAIN_BEGIN();      /* command-line arguments, initialization. */
    RUN_SUITE(the_suite);
    GREATEST_MAIN_END();        /* display results */
}
Как Вы думаете, почему? Между прочим, это мой собственный код. Видите, я даже его тестами покрыл. Но потом переписал. Почему? Ну, я бы дал ссылку на статью, объясняющую это, но она опять-таки на том самом сайте...
 
Текущее время: 17:47. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru