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

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

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

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

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

Ответ
 
Опции темы Поиск в этой теме
Старый 03.12.2013, 13:58   #21
SaLoKiN
Форумчанин
 
Аватар для SaLoKiN
 
Регистрация: 19.09.2013
Сообщений: 597
По умолчанию

ваще в никуда стрельнул =)
Сделал сам, помоги другому!
Что-то работает не так? Дебаггер в помощь!!!
SaLoKiN вне форума Ответить с цитированием
Старый 03.12.2013, 13:59   #22
nikmoon
Форумчанин
 
Регистрация: 13.11.2013
Сообщений: 149
По умолчанию

Цитата:
Сообщение от Smogg Посмотреть сообщение
Надо ж... Сколько времени мучаю Цпп, а так и не знал, что:

Код:
	double dbl = 100.789;
	int i;
	i = dbl % 12;
Output: 1>error C2296: '%' : illegal, left operand has type 'double'

Visual Studio 2010
Не вводи людей в заблуждение! Все должно работать!!!
nikmoon вне форума Ответить с цитированием
Старый 03.12.2013, 14:04   #23
SaLoKiN
Форумчанин
 
Аватар для SaLoKiN
 
Регистрация: 19.09.2013
Сообщений: 597
По умолчанию

nikmoon
продолжаете демонстрировать свою неграмотность и это смешно. и зачем я опускаюсь до вашего уровня... я не буду более отвечать вам.
Smogg
такой же как и nikmoon?
Цитата:
В коде a[i] - не действительное число, а цифра. Что разные вещи.
наверно не так уж и долго мучаете Цпп, если для вас int есть ничто иное как цифра....
Сделал сам, помоги другому!
Что-то работает не так? Дебаггер в помощь!!!

Последний раз редактировалось SaLoKiN; 03.12.2013 в 14:10.
SaLoKiN вне форума Ответить с цитированием
Старый 03.12.2013, 14:07   #24
nikmoon
Форумчанин
 
Регистрация: 13.11.2013
Сообщений: 149
По умолчанию

Smogg описал именно то, что я пытался донести.
nikmoon вне форума Ответить с цитированием
Старый 03.12.2013, 14:29   #25
Serge_Bliznykov
Старожил
 
Регистрация: 09.01.2008
Сообщений: 26,229
По умолчанию

Цитата:
Сообщение от Smogg Посмотреть сообщение
Надо ж... Сколько времени мучаю Цпп, а так и не знал, что:

Код:
	double dbl = 100.789;
	int i;
	i = dbl % 12;
Output: 1>error C2296: '%' : illegal, left operand has type 'double'

Visual Studio 2010
Вы проверяете совсем не то, о чём писал (с) SaLoKiN

проверьте или такой код:
Код:
	int rrrnd = 100;
	double i;
	i = rrrnd % 12;
или, сомнения, что это не то же самое, тогда такой:
Код:
#include <stdio.h>
#include <stdlib.h>
#include <time.h>

int main()
{
 int i,j,n;
 double a[255],b[15][15];
 srand(time(NULL));
 scanf("%i",&n);
 for(i=0;i<n;i++)
  {
    a[i]=rand()%10;
    printf("%f ",a[i]);
  }
  printf("\n\n");
}
ведь именно об этой модификации шла речь!
Serge_Bliznykov вне форума Ответить с цитированием
Старый 03.12.2013, 14:40   #26
Smogg
Участник клуба
 
Регистрация: 14.06.2011
Сообщений: 1,138
По умолчанию

Цитата:
Сообщение от SaLoKiN Посмотреть сообщение
Smogg
такой же как и nikmoon?
Видать такой же. И мы оба пользуем Студию.
Я Вам написал ошибку, которую она выдает по этому поводу.
И эта ошибка означает только и всего лишь то, что Студийный вариант operator% не допускает использование в качестве левого операнда переменных с плавающей запятой. Что, как очевидно, не означает несуществования в природе других вариантов реализаций этого оператора.

Цитата:
наверно не так уж и долго мучаете Цпп, если для вас int есть ничто иное как цифра....
Слово состоит из букв. Слово может состоять из одной буквы. Одна буква (с человеческой точки зрения) может быть воспринята и как буква и как слово.
Я всего лишь хотел намекнуть, что a[i] % 10 всегда возвращает целое число из диапазона 0..9.
I.e. на экране оно будет отображаться как одинокая цифра.

// И меня, знаете, крайне задрало, что строка символов хранится в массиве char'ов, когда те же символы, но в ANSI-кодировке - это unsigned char. Напрочь нечитабельно в дебаггере((

Последний раз редактировалось Smogg; 03.12.2013 в 15:01. Причина: грамматика
Smogg вне форума Ответить с цитированием
Старый 03.12.2013, 14:43   #27
Serge_Bliznykov
Старожил
 
Регистрация: 09.01.2008
Сообщений: 26,229
По умолчанию

Smogg, Вы, вероятно, мой пост #25 пропустили...



p.s. я даже представить себе не мог, что из-за такой ОЧЕВИДНОЙ мелочи могут возникнуть такие жаркие споры!!!
Serge_Bliznykov вне форума Ответить с цитированием
Старый 03.12.2013, 14:55   #28
Smogg
Участник клуба
 
Регистрация: 14.06.2011
Сообщений: 1,138
По умолчанию

Цитата:
Сообщение от Serge_Bliznykov Посмотреть сообщение
Вы проверяете совсем не то, о чём писал (с) SaLoKiN

проверьте или такой код:
Код:
	int rrrnd = 100;
	double i;
	i = rrrnd % 12;
или, сомнения, что это не то же самое, тогда такой:
Код:
#include <stdio.h>
#include <stdlib.h>
#include <time.h>

int main()
{
 int i,j,n;
 double a[255],b[15][15];
 srand(time(NULL));
 scanf("%i",&n);
 for(i=0;i<n;i++)
  {
    a[i]=rand()%10;
    printf("%f ",a[i]);
  }
  printf("\n\n");
}
ведь именно об этой модификации шла речь!
Я, конечно, очень часто домысливаю за людей то, что они и не думали говорить, но здесь, вроде, обсуждается получение полноценного рандома для дабла, или не?

PS:
Цитата:
Smogg, Вы, вероятно, мой пост #25 пропустили...
Когда начинал сочинять ответ, этого поста еще не было)

Последний раз редактировалось Smogg; 03.12.2013 в 14:58.
Smogg вне форума Ответить с цитированием
Старый 03.12.2013, 15:02   #29
SaLoKiN
Форумчанин
 
Аватар для SaLoKiN
 
Регистрация: 19.09.2013
Сообщений: 597
По умолчанию

Smogg
по первых: оверквотинг ОФФ,плз
во вторых:
Цитата:
вроде, обсуждается получение полноценного рандома для дабла, или не
Тему смотрели? и вы видимо мой пост #11 пропустили.в котором уже было сказано что как раз таки задача не состояла в написании рандома.
Сделал сам, помоги другому!
Что-то работает не так? Дебаггер в помощь!!!
SaLoKiN вне форума Ответить с цитированием
Старый 03.12.2013, 15:02   #30
nikmoon
Форумчанин
 
Регистрация: 13.11.2013
Сообщений: 149
По умолчанию

Цитата:
Сообщение от Smogg
И эта ошибка означает только и всего лишь то, что Студийный вариант operator% не допускает использование в качестве левого операнда переменных с плавающей запятой. Что, как очевидно, не означает несуществования в природе других вариантов реализаций этого оператора.
Для С/С++ другой реализации быть не может. В любых компиляторах оператор % только для целочисленных типов данных.
Просто некоторые индивидуумы, которые иногда на наш уровень все-таки опускаются, не различают оператор % и оператор =

Последний раз редактировалось nikmoon; 03.12.2013 в 15:08.
nikmoon вне форума Ответить с цитированием
Ответ


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



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
проверить, является квадратная матрица латинским квадратом? +Юлия GaL+ Паскаль, Turbo Pascal, PascalABC.NET 1 04.11.2011 23:24
Непонятки с DirectX (матрица поворота, камера, матрица проекции) ROD Общие вопросы C/C++ 2 17.09.2010 17:00
TurboPascal: граф, матрица смежности и матрица инцидентности. ulala Помощь студентам 0 02.12.2009 10:11
ПОМОГИТЕ ПРОВЕРИТЬ ЗАДАЧКУ НА ПАСКАЛЕ!Матрица,2-Х мерный массив! vdv08 Помощь студентам 6 23.09.2008 13:13