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

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

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

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

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

Ответ
 
Опции темы Поиск в этой теме
Старый 07.05.2009, 18:01   #11
Sazary
В тени
Старожил
 
Аватар для Sazary
 
Регистрация: 19.12.2008
Сообщений: 5,788
По умолчанию

Pashan, компилирую в MinGW (wxDev-C++ 7)

Неужели студия не дает? Если так, то обидно..
Вполне очевидно, чтобы что-то понять, необходимо книги читать.
Не нужно плодить бессмысленных тем. Вас Поиск избавит от многих проблем.

___________________________________ ___________________________________ _______
[=Правила форума=]_____[Поиск]_____[Литература по С++]____[Литература. Паскаль]
Sazary вне форума Ответить с цитированием
Старый 07.05.2009, 18:23   #12
|{ot
Форумчанин
 
Аватар для |{ot
 
Регистрация: 09.03.2008
Сообщений: 127
По умолчанию

У меня на ДОС-овском компиляторе все пошло...
а на счет практического применения, думаю что в таких проектах как MathCad самое оно...
|{ot вне форума Ответить с цитированием
Старый 07.05.2009, 18:26   #13
Pashan
Пользователь
 
Регистрация: 18.03.2009
Сообщений: 89
По умолчанию

В таких проектах, как MathCad, наверняка все намного серьезнее
Все что здесь писали - это просто детские забавы.
Pashan вне форума Ответить с цитированием
Старый 07.05.2009, 18:41   #14
Парсифаль
Форумчанин
 
Аватар для Парсифаль
 
Регистрация: 28.04.2009
Сообщений: 186
По умолчанию

Уверяю, практическое применение у решения к этой задаче существует.
Во всяком случае, передо мной стоит такая задача и решать через размерности заранее известного числа крайне тяжело и неэффективно.

Скоро 12 часов.... (*говорит интригующе)
Ruft ihm es zu durch alle Land', Der durch dies Wunder Gnade fand!
Hoch uber aller Welt ist Gott, Und Sein Erbarmen ist kein Spott
Парсифаль вне форума Ответить с цитированием
Старый 07.05.2009, 18:46   #15
Sazary
В тени
Старожил
 
Аватар для Sazary
 
Регистрация: 19.12.2008
Сообщений: 5,788
По умолчанию

Цитата:
Сообщение от Парсифаль
Скоро 12 часов.... (*говорит интригующе)
Хоть намекните, ваше решение чем-нибудь похоже на уже предложенные? )
Вполне очевидно, чтобы что-то понять, необходимо книги читать.
Не нужно плодить бессмысленных тем. Вас Поиск избавит от многих проблем.

___________________________________ ___________________________________ _______
[=Правила форума=]_____[Поиск]_____[Литература по С++]____[Литература. Паскаль]
Sazary вне форума Ответить с цитированием
Старый 07.05.2009, 18:55   #16
Парсифаль
Форумчанин
 
Аватар для Парсифаль
 
Регистрация: 28.04.2009
Сообщений: 186
По умолчанию

Ну вообще-то нет. Совсем не похоже)
Главное, чтобы я с синтаксисом не напутал. Если что, уверен Вы поможете исправить опечатки)
Ruft ihm es zu durch alle Land', Der durch dies Wunder Gnade fand!
Hoch uber aller Welt ist Gott, Und Sein Erbarmen ist kein Spott
Парсифаль вне форума Ответить с цитированием
Старый 07.05.2009, 22:36   #17
Парсифаль
Форумчанин
 
Аватар для Парсифаль
 
Регистрация: 28.04.2009
Сообщений: 186
По умолчанию

Полтора часа остается на решение.
Мой вариант уже готов)
А пока идем смотреть Лост (извините за то что не в тему).

Sazary, в Вашем последнем примере размерность не пользователь вводит, или я что-то неправильно понял?
Ruft ihm es zu durch alle Land', Der durch dies Wunder Gnade fand!
Hoch uber aller Welt ist Gott, Und Sein Erbarmen ist kein Spott

Последний раз редактировалось Парсифаль; 07.05.2009 в 22:48.
Парсифаль вне форума Ответить с цитированием
Старый 07.05.2009, 23:12   #18
Парсифаль
Форумчанин
 
Аватар для Парсифаль
 
Регистрация: 28.04.2009
Сообщений: 186
По умолчанию

Я тут подумал, что по России и Украине понятие 12 часов достаточно растяжимое, поэтому, вероятно, многие ложатся спать. Поэтому даю собственное решение раньше запланированного.

Код:
#include <iostream>
#include <math.h>
#include <conio.h>

using namespace std;

short parsifal(short*, char*, short&);

int main()
{
    short N, *nseries; // Задаем переменную размерности, а также массив, с помощью 
    //которого мы будем обращаться к нашему основному N^N массиву.
    int NN, i;//Задаем каунтер (i) и переменную, чтобы понять сколько места надо высвободить
    //для основного массива
    char *array;//Основной массив
    cout << "Enter N: ";
    cin >> N;//Пользователь вводит желаемую размерность
    NN = int(pow(N,N));//Размерность возводится в степень себя, так как у нас н-мерный куб
    array = new char[NN];//Резервируем место под основной массив
    nseries = new short[N];//Резервируем место под массив, с помощью которого будем
    //обращаться к основному
    for (i = 0; i < NN; i++) 
      array[i] = floor(10*sin(i));//Присваиваем значения каждому элементу массива
      //в данном случае каждому меньше 10
    cout << "Enter N numbers less than " << N << endl;
    for (i = 0; i < N; i++) {
        cout << "Enter number " << i+1 << ": ";
        cin >> nseries[i]; } //Пользователь вводит координаты необходимой ячейки
    cout << "This place in the array is occupied by " << parsifal(nseries, array, N);
    //Функция парсифаль возвращает значение ячейки
    getch();
    return 0;
}

short parsifal(short* series, char* arr, short& N)//Функция принимает указатель на nseries,
//основной массив и ссылку на размерность
{
     int i;
     unsigned long sum = 0;
     for (i = 0; i < N; i++)
       sum = sum + series[i]*pow(N, N-i-1);//Здесь набор чисел, введенных пользователем
       //биективно преобразуется в число в пределах NN, с помощью которого мы можем сослаться
       //на любой элемент основного массива
     return arr[sum];
}
Ruft ihm es zu durch alle Land', Der durch dies Wunder Gnade fand!
Hoch uber aller Welt ist Gott, Und Sein Erbarmen ist kein Spott
Парсифаль вне форума Ответить с цитированием
Старый 07.05.2009, 23:25   #19
Sazary
В тени
Старожил
 
Аватар для Sazary
 
Регистрация: 19.12.2008
Сообщений: 5,788
По умолчанию

Парсифаль, насколько я вижу, принцип у нас один и тот же. Используется одномерный массив размером в N^N (в моем варианте также можно задавать разные размерности подмассивов). И обращение к элементу ведется через вычисление "реального" индекса по нескольким (N штук) виртуальных.

Так что решения у нас все-таки похожи
Вполне очевидно, чтобы что-то понять, необходимо книги читать.
Не нужно плодить бессмысленных тем. Вас Поиск избавит от многих проблем.

___________________________________ ___________________________________ _______
[=Правила форума=]_____[Поиск]_____[Литература по С++]____[Литература. Паскаль]
Sazary вне форума Ответить с цитированием
Старый 07.05.2009, 23:28   #20
Парсифаль
Форумчанин
 
Аватар для Парсифаль
 
Регистрация: 28.04.2009
Сообщений: 186
По умолчанию

Ну разве у меня не проще?))
Ruft ihm es zu durch alle Land', Der durch dies Wunder Gnade fand!
Hoch uber aller Welt ist Gott, Und Sein Erbarmen ist kein Spott
Парсифаль вне форума Ответить с цитированием
Ответ


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



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
2-х мерные массивы (С++) TheWanderer Помощь студентам 5 05.12.2008 14:35
Помогите кто может (Массивы 2-х мерные) raccooni Общие вопросы C/C++ 15 25.11.2008 23:55
помогите в QBasic'е 2-мерные массивы Sergmodern Помощь студентам 1 05.06.2007 08:39
конкурс программистов ! (первый конкурс) Alar Свободное общение 129 18.03.2007 00:50