Добро пожаловать! Это — архивная версия форумов на «Хакер.Ru». Она работает в режиме read-only.
 

RE: Вопросы по C/C++ (Для новичков)

Пользователи, просматривающие топик: none

Зашли как: Guest
Все форумы >> [Компилируемые языки] >> RE: Вопросы по C/C++ (Для новичков)
Имя
Сообщение << Старые топики   Новые топики >>
RE: Вопросы по C/C++ (Для новичков) - 2009-10-19 14:58:57.373333   
hrantabe

Сообщений: 203
Оценки: 0
Присоединился: 2009-08-11 11:05:12.030000

quote:

ORIGINAL: Actek

quote:

А если int result - то нормально считывает цифры до 31 ( double-ом даже даёт факториал 100 )
мне нужно лишь изменить вид результата

ты вообще не понимаешь, что ты всю логику программирования нарушаешь?
long long можно вообще-то поставить


С long long-ом не получается ( Visual Studio 6.0 ) - Пишет

quote:

——————–Configuration: Factorial v2 - Win32 Debug——————–
Compiling…
C1.CPP
e:\hrant\vb & c++\c ++\console\factorial v2\c1.cpp(10) : error C2632: 'long' followed by 'long' is illegal
Error executing cl.exe.

Factorial v2.exe - 1 error(s), 0 warning(s)
Post #: 681
RE: Вопросы по C/C++ (Для новичков) - 2009-10-19 20:53:36.710000   
Denaturat

Сообщений: 1741
Оценки: 453
Присоединился: 2008-10-27 20:50:06.380000
quote:

ORIGINAL: hrantabe

С long long-ом не получается ( Visual Studio 6.0 ) - Пишет


используй __int64

а лучше сделай вот такой typedef:

typedef unsigned __int64 uint64;

и используй uint64

впрочем, в смысле задачи это всё равно иррелевантно
Post #: 682
RE: Вопросы по C/C++ (Для новичков) - 2009-10-20 12:50:52.633333   
KuKluS

Сообщений: 36
Оценки: 0
Присоединился: 2008-03-14 12:08:28.576666
Привет, я вот только начинаю не ругайтесь, написал по учебнику вот такое
#include &lt;iostream.h&gt; #include &lt;stdafx.h&gt; void main (void); { cout &lt;&lt; "типа хело ворлд"; }
а VisualC++ при компиле пишет:
error C2447: {: отсутствует заголовок функции (возможно, используется формальный список старого типа)
я не понял что он имеет ввиду
Post #: 683
RE: Вопросы по C/C++ (Для новичков) - 2009-10-20 13:06:37.853333   
_SaZ_

Сообщений: 4329
Оценки: 398
Присоединился: 2008-01-30 02:18:05.553333
:]||||||[: БААЛЬшой баян. Гугл в помощь.

И читай, что тебе пишет компилятор.
Post #: 684
RE: Вопросы по C/C++ (Для новичков) - 2009-10-20 13:29:51.013333   
KuKluS

Сообщений: 36
Оценки: 0
Присоединился: 2008-03-14 12:08:28.576666
спасибо.
Post #: 685
RE: Вопросы по C/C++ (Для новичков) - 2009-10-20 13:42:17.876666   
D. Scandal

Сообщений: 1360
Оценки: 345
Присоединился: 2007-12-01 16:39:35.550000
KuKluS, иди сюда: http://forum.xakep.ru/m_1494975/tm.htm
Post #: 686
RE: Вопросы по C/C++ (Для новичков) - 2009-10-20 17:58:48.916666   
rgo

Сообщений: 7170
Оценки: 281
Присоединился: 2004-09-25 05:14:25
quote:

ORIGINAL: KuKluS
Привет, я вот только начинаю не ругайтесь, написал по учебнику вот такое
#include &lt;iostream.h&gt; #include &lt;stdafx.h&gt; void main (void); { cout &lt;&lt; "типа хело ворлд"; }

1. точка с запятой после `void main (void)' её там не должно быть.
2. перед этим неплохо было бы воткнуть `using namespace std;'
И просто, не стоит писать iostream.h, пиши `#include <iostream>'. У тебя учебник устаревший, написанный для плюющей на стандарты vc++6.0.
Post #: 687
RE: Вопросы по C/C++ (Для новичков) - 2009-10-20 18:06:30.363333   
Denaturat

Сообщений: 1741
Оценки: 453
Присоединился: 2008-10-27 20:50:06.380000
quote:

ORIGINAL: rgo

И просто, не стоит писать iostream.h, пиши `#include &lt;iostream&gt;'. У тебя учебник устаревший, написанный для плюющей на стандарты vc++6.0.


vc 6.0 в этом смысле стандарту соответствует, и <iostream> принимает на ура
Post #: 688
RE: Вопросы по C/C++ (Для новичков) - 2009-10-20 18:10:07.920000   
Actek

Сообщений: 604
Оценки: 0
Присоединился: 2008-02-24 10:24:14.710000
quote:

один безграмотный человек написал, тысяча повторила. а думать кого-нибудь из вас в школе учили?

смешно, люди которые занимаются олимпиадным программированием часто обращаются к этому источнику между прочим).
хотя прочитал я не сдесь.

quote:

Anyway, используй для решения хоть ряд фон Неймана, мне всё равно - я всего-то предложил написать на C++ функцию, способную посчитать 10000!. ты не можешь этого сделать?

however, мы говорили об оптимальности, а не о том что нужно юзать длинную арифметику))
Post #: 689
RE: Вопросы по C/C++ (Для новичков) - 2009-10-20 18:53:46.730000   
Smelo

Сообщений: 119
Оценки: 0
Присоединился: 2009-09-27 15:48:37.386666
народ, как узнать количество элементов динамического массива
sizeof(arr)/sizeof(Type) не предлогать =)
Post #: 690
RE: Вопросы по C/C++ (Для новичков) - 2009-10-20 19:05:25   
Actek

Сообщений: 604
Оценки: 0
Присоединился: 2008-02-24 10:24:14.710000
юзай .length
Post #: 691
RE: Вопросы по C/C++ (Для новичков) - 2009-10-20 19:15:26.103333   
Smelo

Сообщений: 119
Оценки: 0
Присоединился: 2009-09-27 15:48:37.386666
а для стандартного массива как?
length() ?
Post #: 692
RE: Вопросы по C/C++ (Для новичков) - 2009-10-20 19:17:36.196666   
Denaturat

Сообщений: 1741
Оценки: 453
Присоединился: 2008-10-27 20:50:06.380000
quote:

ORIGINAL: Actek

смешно, люди которые занимаются олимпиадным программированием часто обращаются к этому источнику между прочим).
хотя прочитал я не сдесь.


нет никакой разницы где ты это прочитал, равно как нет никакой разницы, кто читает этот источник - есть объективные критерии, которые от этого не зависят. если бы ты мог мне показать, где в вычислении факториала применяется принцип оптимальности Белмана, или просто попытался бы реализовать наконец эту бедную функцию, с тобой было бы о чём говорить. с уровнем аргументации "а мне Вася сказал" в программировании делать нечего

quote:

ORIGINAL: Actek

however, мы говорили об оптимальности, а не о том что нужно юзать длинную арифметику))


ты потерял нить диалога. исходная моя просьба остаётся в в силе - хочу считать факториал от 10000. оптимизировать функцию можно будет уже после

quote:

ORIGINAL: Actek

юзай .length


в массиве? он не про вектор говорил вообще-то, массив - плоский тип
Post #: 693
RE: Вопросы по C/C++ (Для новичков) - 2009-10-20 19:17:44.866666   
_SaZ_

Сообщений: 4329
Оценки: 398
Присоединился: 2008-01-30 02:18:05.553333

quote:

ORIGINAL: Smelo

народ, как узнать количество элементов динамического массива
sizeof(arr)/sizeof(Type) не предлогать =)


Что ты понимаешь под динамическим массивом?

Если int *a = new int[15]; - то только так:
int c = 15;
int *a = new[c];
Post #: 694
RE: Вопросы по C/C++ (Для новичков) - 2009-10-20 19:19:14.236666   
Actek

Сообщений: 604
Оценки: 0
Присоединился: 2008-02-24 10:24:14.710000
и в динамическом так же)
Post #: 695
RE: Вопросы по C/C++ (Для новичков) - 2009-10-20 19:20:23.893333   
Smelo

Сообщений: 119
Оценки: 0
Присоединился: 2009-09-27 15:48:37.386666
int arr[]={1,2,3,4,5,6}
Post #: 696
RE: Вопросы по C/C++ (Для новичков) - 2009-10-20 19:22:42.880000   
_SaZ_

Сообщений: 4329
Оценки: 398
Присоединился: 2008-01-30 02:18:05.553333
sizeof() man

Только то, что ты написал - это ни разу не динамический массив.
Post #: 697
RE: Вопросы по C/C++ (Для новичков) - 2009-10-20 19:22:51.693333   
Actek

Сообщений: 604
Оценки: 0
Присоединился: 2008-02-24 10:24:14.710000
quote:

int arr[]={1,2,3,4,5,6}

это не динамический массив))
Post #: 698
RE: Вопросы по C/C++ (Для новичков) - 2009-10-20 19:27:36.160000   
Smelo

Сообщений: 119
Оценки: 0
Присоединился: 2009-09-27 15:48:37.386666
ну кол-во элементов вычисляется динамически, логика? =)

тогда ещё вопросы
как быть в таком случае
template <typename array>
int count(array arr){
reutrn sizeof(arr)/sizeof(array); // тобишь хочу работать с разными типами массивов
}

и ещё
есть ли в сишнике реализация массивов с текстовыми ключами?
Post #: 699
RE: Вопросы по C/C++ (Для новичков) - 2009-10-20 19:29:06.403333   
Smelo

Сообщений: 119
Оценки: 0
Присоединился: 2009-09-27 15:48:37.386666
да и ещё вопрос, есть ли функции позволяющие узнать тип переменной?
Post #: 700
RE: Вопросы по C/C++ (Для новичков) - 2009-10-20 19:30:45.023333   
Actek

Сообщений: 604
Оценки: 0
Присоединился: 2008-02-24 10:24:14.710000
quote:

есть ли в сишнике реализация массивов с текстовыми ключами?

map с стринговским ключем
Post #: 701
RE: Вопросы по C/C++ (Для новичков) - 2009-10-20 19:31:30.783333   
_SaZ_

Сообщений: 4329
Оценки: 398
Присоединился: 2008-01-30 02:18:05.553333

quote:

ORIGINAL: Smelo

да и ещё вопрос, есть ли функции позволяющие узнать тип переменной?


http://www.google.com.by/search?q=RTTI

Я уверен, что тебе это не надо, лучше опиши проблему - поможем с решением.
Post #: 702
RE: Вопросы по C/C++ (Для новичков) - 2009-10-20 19:37:58.686666   
Smelo

Сообщений: 119
Оценки: 0
Присоединился: 2009-09-27 15:48:37.386666
quote:

Я уверен, что тебе это не надо, лучше опиши проблему - поможем с решением

вообще это удобно(во всяком случае в других языках)
а в данный момент, это касательно реализации count() для массива любого типа
Post #: 703
RE: Вопросы по C/C++ (Для новичков) - 2009-10-20 19:39:28.093333   
_SaZ_

Сообщений: 4329
Оценки: 398
Присоединился: 2008-01-30 02:18:05.553333
Ты достал уже флудить. Иди изучай - http://www.google.com.by/search?q=STL Все вопросы - потом.
Post #: 704
RE: Вопросы по C/C++ (Для новичков) - 2009-10-20 19:54:48.080000   
Smelo

Сообщений: 119
Оценки: 0
Присоединился: 2009-09-27 15:48:37.386666
эм, прочитать то прочитал
конкретно про то почему размер пользовательского типа не соответствует размеру переданного типа не нашёл =)
поэтому и прашивал, есть ли функция возвращающая тип переменной
Post #: 705
RE: Вопросы по C/C++ (Для новичков) - 2009-10-20 19:57:30.450000   
_SaZ_

Сообщений: 4329
Оценки: 398
Присоединился: 2008-01-30 02:18:05.553333


quote:

ORIGINAL: Smelo
почему размер пользовательского типа не соответствует размеру переданного типа не нашёл =)
поэтому и прашивал, есть ли функция возвращающая тип переменной


Расшифруй на конкретном примере. Телепаты сегодня отдыхают.
Post #: 706
RE: Вопросы по C/C++ (Для новичков) - 2009-10-20 20:01:31.020000   
Denaturat

Сообщений: 1741
Оценки: 453
Присоединился: 2008-10-27 20:50:06.380000
если размер массива известен во время компиляции (т.е. массив статический), то для определения его размера можно использовать sizeof (с учётом особенностей работы sizeof)

если размер массива во время компиляции неизвестен, то sizeof использовать уже нельзя - можно либо носить размер массива вместе с самим массивом (как это сделано в том же basic_string), либо использовать маркер конца массива и вычислять размер каждый раз по запросу (как это сделано со строками в С, см. strlen)

для работы с обобщённой функцией тебе для начала надо выписать концепт массива - набор операций/свойств, которым тип массива должен удовлетворять. после чего уже писать наиболее обобщённую версию и её специализации (перегруженные функции)

тип переменной на этапе компиляции может быть получен с помощью boost.type_of, во время выполнения (с рядом ограничений) - с помощью RTTI. для реализации обобщённой функции вычисления длинны массива информация о типе, полученная таким образом, не нужна
Post #: 707
RE: Вопросы по C/C++ (Для новичков) - 2009-10-20 20:02:05.820000   
Smelo

Сообщений: 119
Оценки: 0
Присоединился: 2009-09-27 15:48:37.386666
quote:

тогда ещё вопросы
как быть в таком случае
template &lt;typename array&gt;
int count(array arr){
return sizeof(arr)/sizeof(array); // тобишь хочу работать с разными типами массивов
}
Post #: 708
RE: Вопросы по C/C++ (Для новичков) - 2009-10-20 20:12:34.343333   
_SaZ_

Сообщений: 4329
Оценки: 398
Присоединился: 2008-01-30 02:18:05.553333
Что ты понимаешь под разными типами массивов? Тебе уже всё 100 раз написали. Включай мозг… Или ты - очередной тролль?
Post #: 709
RE: Вопросы по C/C++ (Для новичков) - 2009-10-20 20:24:37.446666   
Smelo

Сообщений: 119
Оценки: 0
Присоединился: 2009-09-27 15:48:37.386666
ну массив же типизирован под использование данных определённого типа, вот этот тип и понимаю
я уже понял что мне нужно из поста выше
тоже в гугл кину http://www.google.com/search?hl=ru&client=opera&rls=ru&hs=tvH&q=%D1%84%D0%BE%D1%80%D1%83%D0%BC%D0%BD%D1%8B%D0%B9+%D1%82%D1%80%D0%BE%D0%BB%D0%BB%D1%8C&btnG=%D0%9F%D0%BE%D0%B8%D1%81%D0%BA&lr=
Post #: 710
RE: Вопросы по C/C++ (Для новичков) - 2009-10-20 20:29:09.660000   
Denaturat

Сообщений: 1741
Оценки: 453
Присоединился: 2008-10-27 20:50:06.380000
template &lt;typename T, size_t n&gt; size_t count(T (&amp;)[n]) { &nbsp;&nbsp;&nbsp; return n; }
Post #: 711
RE: Вопросы по C/C++ (Для новичков) - 2009-10-20 20:36:47.263333   
_SaZ_

Сообщений: 4329
Оценки: 398
Присоединился: 2008-01-30 02:18:05.553333
Плюспиццот =)
Post #: 712
RE: Вопросы по C/C++ (Для новичков) - 2009-10-20 20:40:02.200000   
Smelo

Сообщений: 119
Оценки: 0
Присоединился: 2009-09-27 15:48:37.386666
жестоко =)
Post #: 713
RE: Вопросы по C/C++ (Для новичков) - 2009-10-20 20:43:31.813333   
Denaturat

Сообщений: 1741
Оценки: 453
Присоединился: 2008-10-27 20:50:06.380000
quote:

ORIGINAL: Smelo

жестоко =)


http://www.boost.org/doc/libs/1_40_0/libs/type_traits/doc/html/index.html

если берёшься работать с обобщённым программированием в C++, начни с внимательного изучения этой библиотеки
Post #: 714
RE: Вопросы по C/C++ (Для новичков) - 2009-10-22 15:34:25.670000   
Mongol4uk

Сообщений: 20
Оценки: 0
Присоединился: 2009-05-26 19:19:22.326666
Помогите написат прогу которая будет нажимать 2 клавиши одновременно: "Ctrl"+'X' через каждую секунду или меньше Я вообще незнаю что делать, напишите плиз, в Кернигане не могу найти про это =(( 
Post #: 715
RE: Вопросы по C/C++ (Для новичков) - 2009-10-22 15:46:30.940000   
nicea

Сообщений: 25
Оценки: 0
Присоединился: 2009-05-09 19:41:22.990000
do{ keybd_event(VK_CONTROL,0,0,0); keybd_event('X',0,0,0); keybd_event('X',0,KEYEVENTF_KEYUP,0); keybd_event(VK_CONTROL,0,KEYEVENTF_KEYUP,0); Sleep(1000); }while(true)
Может так?
Не забудь заголовочный файл windows.h.
Post #: 716
RE: Вопросы по C/C++ (Для новичков) - 2009-10-23 02:05:37.823333   
Denaturat

Сообщений: 1741
Оценки: 453
Присоединился: 2008-10-27 20:50:06.380000
quote:

ORIGINAL: nicea

И библиотека такая вроде нужна windows.h.


http://ru.wikipedia.org/wiki/Библиотека_(программирование)
http://ru.wikipedia.org/wiki/Заголовочный_файл

разницу чувствуешь?
Post #: 717
RE: Вопросы по C/C++ (Для новичков) - 2009-10-23 15:38:48.476666   
Таксист

Сообщений: 68
Оценки: 0
Присоединился: 2009-03-13 09:11:37.530000

quote:

ORIGINAL: Denaturat

quote:

ORIGINAL: Actek

however, мы говорили об оптимальности, а не о том что нужно юзать длинную арифметику))


ты потерял нить диалога. исходная моя просьба остаётся в в силе - хочу считать факториал от 10000. оптимизировать функцию можно будет уже после




не Actek-ое дело на плюсах, без сторонних библиотек, факториал считать. Вот на Си, другое дело :)

Post #: 718
RE: Вопросы по C/C++ (Для новичков) - 2009-10-23 17:06:44.440000   
nicea

Сообщений: 25
Оценки: 0
Присоединился: 2009-05-09 19:41:22.990000

quote:

ORIGINAL: Denaturat

quote:

ORIGINAL: nicea

И библиотека такая вроде нужна windows.h.


http://ru.wikipedia.org/wiki/Библиотека_(программирование)
http://ru.wikipedia.org/wiki/Заголовочный_файл

разницу чувствуешь?

До этого всегда думал что это библиотеки.) Ну думаю новичку это простительно.
Post #: 719
RE: Вопросы по C/C++ (Для новичков) - 2009-10-24 19:20:00.030000   
ХреновыйСтудент

Сообщений: 100
Оценки: 0
Присоединился: 2009-06-30 18:30:40.363333
quote:

Вот на Си, другое дело

почему?
Post #: 720
Страниц:  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 50 51 52 53 54 55 56 57 58 59 60
Все форумы >> [Компилируемые языки] >> RE: Вопросы по C/C++ (Для новичков)







Связаться:
Вопросы по сайту / xakep@glc.ru

Предупреждение: использование полученных знаний в противозаконных целях преследуется по закону.