Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > C/C++ программирование > Общие вопросы C/C++
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 13.10.2012, 17:47   #1
akhalex
Пользователь
 
Регистрация: 17.07.2012
Сообщений: 13
По умолчанию Как написать на С++?

Кто знает, как написать на С++ следующее выражение?
Снимок.JPG
akhalex вне форума Ответить с цитированием
Старый 13.10.2012, 17:53   #2
BDA
МегаМодератор
СуперМодератор
 
Аватар для BDA
 
Регистрация: 09.11.2010
Сообщений: 7,291
По умолчанию

Не все обозначения понимаю, так что вот, что понял:
Код:
int x[1200];
for (int i = 0; i < 1200; ++i) {
    for (int k = 0; k < 10; ++k) {
        if (k < 1) {
            x[k + 10 * i] = 1;
        } else {
            x[k + 10 * i] = 0;
        }
    }
}
Пишите язык программирования - это форум программистов, а не экстрасенсов. (<= это подпись )
BDA на форуме Ответить с цитированием
Старый 13.10.2012, 18:43   #3
akhalex
Пользователь
 
Регистрация: 17.07.2012
Сообщений: 13
По умолчанию

Цитата:
Сообщение от BDA Посмотреть сообщение
Не все обозначения понимаю, так что вот, что понял:
Код:
int x[1200];
for (int i = 0; i < 1200; ++i) {
    for (int k = 0; k < 10; ++k) {
        if (k < 1) {
            x[k + 10 * i] = 1;
        } else {
            x[k + 10 * i] = 0;
        }
    }
}
Так не работает. Нужно учитывать нижние индексы. Т.е. выражение Хk+10*i не равносильно выражению X(k+10*i)
akhalex вне форума Ответить с цитированием
Старый 13.10.2012, 18:47   #4
Somebody
Участник клуба
 
Регистрация: 08.10.2007
Сообщений: 1,185
По умолчанию

Только x[1201], i <= 1200, k <= 10.
И, если не ошибаюсь, это функция S, которая потом возвращает этот x.
Цитата:
Сообщение от akhalex Посмотреть сообщение
Так не работает. Нужно учитывать нижние индексы. Т.е. выражение Хk+10*i не равносильно выражению X(k+10*i)
В квадратных скобках вообще-то и есть индексы.
Somebody вне форума Ответить с цитированием
Старый 13.10.2012, 18:58   #5
BDA
МегаМодератор
СуперМодератор
 
Аватар для BDA
 
Регистрация: 09.11.2010
Сообщений: 7,291
По умолчанию

Цитата:
Только x[1201], i <= 1200, k <= 10
Меня смутило то, что если поставить нестрогое неравенство, то x при i = n и k = 10 и x при i = n + 1 и k = 0, это один и тот же x.
Пишите язык программирования - это форум программистов, а не экстрасенсов. (<= это подпись )
BDA на форуме Ответить с цитированием
Старый 13.10.2012, 19:42   #6
akhalex
Пользователь
 
Регистрация: 17.07.2012
Сообщений: 13
По умолчанию

В маткаде это выражение работает
Снимок4.JPG
А в С++ если набрать так, выдает ошибку
Снимок2.JPG
Снимок3.JPG
akhalex вне форума Ответить с цитированием
Старый 13.10.2012, 20:13   #7
BDA
МегаМодератор
СуперМодератор
 
Аватар для BDA
 
Регистрация: 09.11.2010
Сообщений: 7,291
По умолчанию

А ведь массив должен быть 12000, а не 1200.
Только сейчас дошло
Код:
double s[12011];
for (int i = 0; i <= 1200; ++i) {
    for (int k = 0; k <= 10; ++k) {
        if (k < 1) {
            s[k + 10 * i] = 1;
        } else {
            s[k + 10 * i] = 0;
        }
    }
}
Пишите язык программирования - это форум программистов, а не экстрасенсов. (<= это подпись )

Последний раз редактировалось BDA; 13.10.2012 в 20:17.
BDA на форуме Ответить с цитированием
Старый 13.10.2012, 20:24   #8
akhalex
Пользователь
 
Регистрация: 17.07.2012
Сообщений: 13
По умолчанию

Цитата:
Сообщение от BDA Посмотреть сообщение
А ведь массив должен быть 12000, а не 1200.
Только сейчас дошло
Код:
double s[12011];
for (int i = 0; i <= 1200; ++i) {
    for (int k = 0; k <= 10; ++k) {
        if (k < 1) {
            s[k + 10 * i] = 1;
        } else {
            s[k + 10 * i] = 0;
        }
    }
}
Действительно, ошибка была в размерности массива.
BDA, спасибо большое!!!!
akhalex вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
посоветуйте как лучше написать написать бд diakon2 Помощь студентам 7 10.11.2010 14:17
как написать концовку С++. FromHell Помощь студентам 8 03.12.2008 09:45
Как написать в коде чтобы диапазон А копировался как значение в диапазон В. Dorvir Microsoft Office Excel 12 23.05.2008 22:11
как вы думаете можно с помощью delphi написать online игру ну к примеру как muonline 0pex Свободное общение 9 28.06.2007 14:20