| Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате |
| Форум программистов > C/C++: Общие вопросы > двумерный массив |
| Автор: sasha11 9.10.2007, 17:13 |
| эх, целый день бьюсь об экран головой, задача такая.. создать двумерный массив[10][10], чтобы каждый последущий элемент был в 2 раза больше предыдущего... ужос, всё что только мог.. перепробывал, нуждаюсь в помощи. int t,i,num[10][10]; for(t=0;t<10;++t){ for(i=0;i<10;++i){ num[t][i]=(t*10)+i+1; StringGrid1->Cells[i][t]=num[t][i];//вывожу результат через компонент Builder C++, в принципе не важно. } } |
| Автор: _Michael 9.10.2007, 17:30 |
| Но в чем проблема собственно? что-то из поста непонятно |
| Автор: sasha11 9.10.2007, 17:37 |
| нда, наверно в задачнике опечатка, там написананно каждое следущее число в два рааз больше предыдущего..., типа 1 2 4 8 16 32 64 и.т.д. хех, я так долго парился.., ну а если массив 5x5 или хотябы 3х3, мне уже очень интересно не решить.. а узнать способ решения.. ??? |
| Автор: _Michael 9.10.2007, 17:42 |
| способ решения чего? как умножать числа на два? и присваивать их елементам массива? |
| Автор: sasha11 9.10.2007, 17:45 |
| не... как умножать все элементы на два я знаю, но мне надо чтобы каждый елемент был в два раза больше предыдущего, хотябы массива 3х3.. типа 1 2 4 8 16 32 64 128 256 |
| Автор: Fazil6 9.10.2007, 17:46 | ||
|
| Автор: sasha11 9.10.2007, 17:50 |
| УХ !!! спасибо, теперь буду сидеть разбирать !!! |
| Автор: _Michael 9.10.2007, 17:59 |
| Fazil6, long double может уместить в себе такие большие числа? Если размер етого типа 8 байт то максимальное число 2^64-1 можно уместить. |
| Автор: mr.Anderson 9.10.2007, 18:09 | ||||
Вариант на паскале (язык все равно не указан
|
| Автор: DjoNIK 9.10.2007, 23:05 |
| mr.Anderson, а ничего, что форум по общим вопросам C++ |
| Автор: marcusmae 9.10.2007, 23:37 | ||
Хитрый раджа предложил изобретателю самому считать зёрнышки. Так что, за всю свою жизнь он немного насчитал. Отсюда мораль : сначала надо было изобрести вычислительные машины |
| Автор: 0lmer 15.10.2007, 10:25 | ||
по моему получится массив 1 2 3 4 5 6 7 8 9 10 10 12 13... и т. д. насчет влезет ли число в long double не знаю, но где то в инете видел класс который представляет числа в виде строки , туда в принципе можно спокойно 300-400 значные числа запихивать. |
| Автор: ksili 15.10.2007, 11:30 |
| я не понял, почему именно двумерный массив? По-моему вы его всё равно заполняете линейно. А вот если бы было так: 1 2 4 8 2 4 8 16 4 8 16 32 8 16 32 64 Добавлено через 1 минуту и 31 секунду long double вмещает максимум примерно 10^4932 |
| Автор: _Michael 16.10.2007, 08:29 | ||
ето и есть арифметика больших чисел, операции над ними тоже иначе реализованы, не можно ж например просто сложыть две строки как два числа, надо реализовать метод который будет посимвольно их обрабатывать. |
| Автор: zhgutov 17.10.2007, 14:31 | ||
| long double вмещает максимум примерно 10^4932 В экспоненциальной форме. Количество десятичных разрядов будет ограничено примерно 17 знаками. А нужно 31! 2^100 = 1267650600228229401496703205376)) При использовании double получится что-то вроде 1267650600228229400000000000000. Тут либо использовать 128-битную целочисленную арифметику, либо реализовать свой класс. Добавлено @ 14:39 Если не извращаться:
|
| Автор: zhgutov 17.10.2007, 15:07 | ||
А если по приколу, то без использования строк можно использовать что-то типа этого:
А дальше — как в столбик... |
| Автор: akizelokro 19.10.2007, 07:12 | ||
Либо скачать библиотеку HIME для работы с huge integers |