Модераторы: Daevaorn

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Вывод слова в нужном склонении 
:(
    Опции темы
archimed7592
Дата 31.10.2007, 10:25 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Архимед
****


Профиль
Группа: Завсегдатай
Сообщений: 2531
Регистрация: 12.6.2004
Где: Moscow

Репутация: 58
Всего: 93



Цитата(Ufyljy @  31.10.2007,  10:13 Найти цитируемый пост)
Нет, мне не понятно, что от меня хотел MAKCim.

Он тебе нарисовал смайлик под названием "RTFM". Это равносильно тому, что сказать, иди ка ты, мальчик, книжку почитай.


Цитата(Ufyljy @  31.10.2007,  10:13 Найти цитируемый пост)
К сожалению у меня в методичке нету оператора "?",
поэтому и спрашиваю

Значит он тебе не нужен.


Цитата(Ufyljy @  31.10.2007,  10:13 Найти цитируемый пост)
Люди, поймите, все относительно. Везде разные системы отчета.

Что за чушь? Почти любой человек, приходящий на этот форум либо имеет определённую подготовку в вопросе, либо вопросов не задаёт, либо отправляется читать книгу. Здесь не центр обучения программированию... Разве это не понятно?


Цитата(Ufyljy @  31.10.2007,  10:13 Найти цитируемый пост)
А чем отличается унарный оператор от тринарного?

Количеством операндов.


--------------------
If you have an apple and I have an apple and we exchange apples then you and I will still each have one apple. But if you have an idea and I have an idea and we exchange these ideas, then each of us will have two ideas.
© George Bernard Shaw
PM Jabber   Вверх
zkv
Дата 31.10.2007, 11:55 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата



****


Профиль
Группа: Участник Клуба
Сообщений: 2133
Регистрация: 23.7.2006
Где: Санкт-Петербург

Репутация: 26
Всего: 92



Цитата(Ufyljy @  31.10.2007,  10:13 Найти цитируемый пост)
А чем отличается унарный оператор от тринарного?

количеством операндов:
унарные: ++x; !y; *z;
бинарные: x+y; y-z; z[x];
тернарный (почему то у нас так называли) в с++ только один: x ? y : z;

Цитата(Ufyljy @  31.10.2007,  10:13 Найти цитируемый пост)
Нет, мне не понятно, что от меня хотел MAKCim.

он сказал rtfm, и правильно сделал, в VS ответ на твой вопрос можно получить поставив курсор на знак вопроса (в тернарной операции) и нажав F1, или забить в гугле "операции в с++" или еще куева туча вариантов, а ты просишь здесь перепечатать тебе учебник. Вообщем создается впечатление, что кое кому здесь просто влом читать мануалы - отсюда такая реакция.  
Цитата(Ufyljy @  31.10.2007,  10:13 Найти цитируемый пост)
К сожалению у меня в методичке нету оператора "?",

у тебя гугл есть, можно выкинуть методичку  smile 
PM MAIL   Вверх
Ufyljy
Дата 31.10.2007, 15:58 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 61
Регистрация: 5.10.2007

Репутация: нет
Всего: 1



* ушел учить стандарт С++

> Что за чушь?
Это не чушь


Это сообщение отредактировал(а) Ufyljy - 31.10.2007, 16:09
PM MAIL   Вверх
FiMa1
Дата 31.10.2007, 16:23 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 408
Регистрация: 23.9.2006

Репутация: 5
Всего: 6



Цитата
> Тринарный условный оператор
А чем отличается унарный оператор от тринарного?

Ufyljy, это неизвестно никому, даже archimed7592. Он просто очепяталсо. Речь шла о тернарном операторе. Вот что о нем написали Керган и Ритчи:
Цитата
Инструкции 
Код
if (a > b)
    z = a;
else 
    z = b;

пересылают в z большее из двух значений a и b. Условное выражение, написанное с помощью тернарного (т. е. имеющего три операнда) оператора "? : ", представляет собой другой способ записи этой и подобных ей конструкций. В выражении 
Код
выр1 ? выр2 : выр3

первым вычисляется выражение выр1. Если его значение не нуль (истина), то вычисляется выражение выр2, и значение этого выражения становится значением всего условного выражения. В противном случае вычисляется выражение выр3 и его значение становится значением условного выражения. Следует отметить, что из выражений выр2 и выр3 вычисляется только одно из них. Таким образом, чтобы установить в z большее из a и b, можно написать 
Код
z = (a > b) ? a : b; /* z = max(a, b) */

А что бы не приходилось вот так копипастить классиков, тебя и отослали читать доки.
Цитата
ушел учить стандарт С++

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

Это сообщение отредактировал(а) FiMa1 - 31.10.2007, 16:25
PM   Вверх
MAKCim
Дата 31.10.2007, 16:32 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Воін дZэна
****


Профиль
Группа: Экс. модератор
Сообщений: 5644
Регистрация: 10.12.2005
Где: Менск, РБ

Репутация: 52
Всего: 207



Цитата(Ufyljy @  31.10.2007,  10:13 Найти цитируемый пост)
Нет, мне не понятно, что от меня хотел MAKCim.

ответы на ваши вопросы есть в любых учебниках по С
вот я и направил вас читать эти учебники

Добавлено через 1 минуту и 16 секунд



--------------------
Ах, у елі, ах, у ёлкі, ах, у елі злыя волкі ©

PM MAIL   Вверх
archimed7592
Дата 31.10.2007, 16:53 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Архимед
****


Профиль
Группа: Завсегдатай
Сообщений: 2531
Регистрация: 12.6.2004
Где: Moscow

Репутация: 58
Всего: 93



Цитата(Ufyljy @  31.10.2007,  15:58 Найти цитируемый пост)
* ушел учить стандарт С++

Вот даже как... Так это С++ был smile.

Ты бы сначала с языком ознакомился, а потом уже за Стандарт брался.


--------------------
If you have an apple and I have an apple and we exchange apples then you and I will still each have one apple. But if you have an idea and I have an idea and we exchange these ideas, then each of us will have two ideas.
© George Bernard Shaw
PM Jabber   Вверх
Ufyljy
Дата 1.11.2007, 09:43 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 61
Регистрация: 5.10.2007

Репутация: нет
Всего: 1



Благодарности: wils0n, DjoNIK, FREEDEV, Kuvaldis, Lazin, Optimus =2, SergeCpp, archimed7592 =5, FiMa1 =2, zkv, bsa, Ln78

Код

#include<stdio.h>
#include<conio.h>

#define br putchar('\n'); 
main()
{
      while(1)
      {
              int a;
              
              printf("Enter a: "); scanf("%d",&a);
              if(a == -500) break;
              int d = a % 10; int e = a % 100;
      
              int f = e >= 11 && e <= 19; 
              int g = e <= -11 && e >= -19;
              
              if((d == 1 && !f) or (d == -1 && !g))
              {
                      printf("%d rubl",a);
              }
      
              else if((d >= 2 && d <= 4 && !f) or (d <= -2 && d >= -4 && !g))
              {
                   printf("%d rublya",a);
              }
              
              else printf("%d rubley",a);
              
              br;
      }       
                       
getch();
}


Теперь и склоняет отрицательные значения, это кому надо. 

Вообще очень благодарен вам всем за то, что откликнулисьсь
Хоть и кто-то( может стебаться, юродстововать, утрировать надо мной скоко угодно, мне пох, главное научиться)  smile  

PM MAIL   Вверх
FiMa1
Дата 1.11.2007, 10:26 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 408
Регистрация: 23.9.2006

Репутация: 5
Всего: 6



Цитата(Ufyljy @ 1.11.2007,  09:43)
Код

#include<stdio.h>
#include<conio.h>

#define br putchar('\n'); 
main()
{
      while(1)
      {
              int a;
              
              printf("Enter a: "); scanf("%d",&a);
              if(a == -500) break;
              int d = a % 10; int e = a % 100;
      
              int f = e >= 11 && e <= 19; 
              int g = e <= -11 && e >= -19;
              
              if((d == 1 && !f) or (d == -1 && !g))
              {
                      printf("%d rubl",a);
              }
      
              else if((d >= 2 && d <= 4 && !f) or (d <= -2 && d >= -4 && !g))
              {
                   printf("%d rublya",a);
              }
              
              else printf("%d rubley",a);
              
              br;
      }       
                       
getch();
}

Позвольте несколько уточняющих вопросов и небольших замечаний...
  • Как конечный пользователь узнает про магическое число -500 - ключ завершения работы программы?
    Код
    printf("Enter a (input -500 to exit): ");

  • Где-то переопределен оператор or?
  • Нет проверки ввода (программа упадет при вводе символьных данных).


Это сообщение отредактировал(а) FiMa1 - 1.11.2007, 10:27
PM   Вверх
Ufyljy
  Дата 1.11.2007, 11:16 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 61
Регистрация: 5.10.2007

Репутация: нет
Всего: 1



> Как конечный пользователь узнает про магическое число -500 - ключ завершения работы программы?
Да. 
Конечный пользователь не узнает, вообще-то народ интересуют исходники, я думаю, в принципе ясно.

> Где-то переопределен оператор or?
В смысле п е р е о п р е д е л е н?

> Нет проверки ввода (программа упадет при вводе символьных данных).
Хорошо, я этим займусь немедленно

Это сообщение отредактировал(а) Ufyljy - 1.11.2007, 11:17
PM MAIL   Вверх
FiMa1
Дата 1.11.2007, 12:47 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 408
Регистрация: 23.9.2006

Репутация: 5
Всего: 6



Цитата(Ufyljy @ 1.11.2007,  11:16)
> Где-то переопределен оператор or?
В смысле п е р е о п р е д е л е н?

Я чего-то туплю или в Си действительно есть оператор or?
Цитата
Следующие идентификаторы зарезервированы в качестве ключевых слов и в другом смысле использоваться не могут: 
auto break char case char const continue default do double else enum extern float for goto if int long register return short signed sizeof static struct switch typedef union unsigned void volatile while

Цитата
Оператор логического ИЛИ
логическое-ИЛИ-выражение:
    логическое-И-выражение
    логическое-ИЛИ-выражение || логическое-И-выражение

Операторы || выполняются слева направо. Оператор || выдает 1, если по крайней мере один из операндов не равен нулю, и 0 в противном случае. В отличие от |, оператор || гарантирует, что вычисления будут проводиться слева направо: вычисляется первый операнд, включая все побочные эффекты; если он не равен 0, то значение выражения есть 1. В противном случае вычисляется правый операнд, и если он не равен 0, то значение выражения есть 1, в противном случае оно равно 0.

Операнды могут принадлежать разным типам, но операнд должен иметь либо арифметический тип, либо быть указателем. Тип результата - int.

Нет если, конечно, сделать так:
Код
#define or ||

Вот я и говорю где-то переопределен оператор or или я морально устарел...
PM   Вверх
zkv
Дата 1.11.2007, 12:57 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата



****


Профиль
Группа: Участник Клуба
Сообщений: 2133
Регистрация: 23.7.2006
Где: Санкт-Петербург

Репутация: 26
Всего: 92



Цитата(FiMa1 @  1.11.2007,  12:47 Найти цитируемый пост)
в Си действительно есть оператор or

есть, это синонимы, только в Си или С++ не знаю, совсем недавно где-то упоминали.
PM MAIL   Вверх
Lazin
Дата 1.11.2007, 13:29 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Завсегдатай
Сообщений: 3820
Регистрация: 11.12.2006
Где: paranoid oil empi re

Репутация: 41
Всего: 154



PM MAIL Skype GTalk   Вверх
FiMa1
Дата 1.11.2007, 14:15 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 408
Регистрация: 23.9.2006

Репутация: 5
Всего: 6



Цитата(Lazin @ 1.11.2007,  13:29)
топик

Большое спасибо! Вопрос снят. 
Цитата
Цитата(Ufyljy @  22.10.2007,  03:39 ) 
Насколько я знаю оператор && можно заменить на AND, оператор || на OR 
лучше ненадо, читать потом невозможно будет

Согласен, коробит, но это зависит от того с чего человек начал привыкать. А, вообще, для обычных людей OR вещь более информативная чем ||, так что определенные плюсы есть  smile .
[оффтоп:] Я вот на днях узнал, занимаясь, по просьбе, написанием макроса для MS Excel, что в VB индексация массивов начинается с 1, много плакал...
PM   Вверх
Ответ в темуСоздание новой темы Создание опроса
Правила форума "С++:Общие вопросы"
Earnest Daevaorn

Добро пожаловать!

  • Черновик стандарта C++ (за октябрь 2005) можно скачать с этого сайта. Прямая ссылка на файл черновика(4.4мб).
  • Черновик стандарта C (за сентябрь 2005) можно скачать с этого сайта. Прямая ссылка на файл черновика (3.4мб).
  • Прежде чем задать вопрос, прочтите это и/или это!
  • Здесь хранится весь мировой запас ссылок на документы, связанные с C++ :)
  • Не брезгуйте пользоваться тегами [code=cpp][/code].
  • Пожалуйста, не просите написать за вас программы в этом разделе - для этого существует "Центр Помощи".
  • C++ FAQ

Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, Earnest Daevaorn

 
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | C/C++: Общие вопросы | Следующая тема »


 




[ Время генерации скрипта: 0.0949 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.