Форум программистов, компьютерный форум CyberForum.ru

Си++ (прединкремент и постинкремент)? - C++

Восстановить пароль Регистрация
 
Иљя_
 Аватар для Иљя_
4 / 4 / 0
Регистрация: 13.09.2011
Сообщений: 125
06.02.2014, 10:29     Си++ (прединкремент и постинкремент)? #1
1)float c; int a=1, b=2; c=a/b;
Ответ:0,5
Подскажите, если будет вот так: float c; int a=1, b=2; c=(float )a/b; то ответ будет 0? Или также 0,5? А если float не будет, то преобразование не будет? И будет 0?

2) a=3; b=2; c=++a*b++
Ответ будет 8 или 12? Тут с начало, что должно выполняться прединкремент или постинкремент?

3)Кто-нибудь знает ОПЕРАТОР/Ы через который будут работать 'символьные константы'? Подскажите!

4)a=3; b=2; c=a++*b++
Ответ: 6 правильно?

5)a=3; b=2; c=++a*++b
Ответ:12 правильно?

Простецкая задачка:
Одноклеточная амёба каждые 3 часа делится на пару клеток, мне нужно, определить, сколько клеток/амёб будет через 3,6,9,12,...., 24 часа.

Правильно ли, я составил код, посмотрите:

C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
#include "stdio.h"//библиотека отвечает за операций стандартного ввода и вывода.
 
int main ()//начало
{
int i;//переменная для времени(часов).
short ameba=0;//счётчик амёб
for (i=0; i<=24; i=i+3);//цикл с шагом от 3 до 24 включительно.
}
ameba=ameba+2;//на каждом шаге амёбка увеличивается на 2
printf ("Часы: ");//Вывод на экран.
printf ("Амёб: ");//Вывод на экран.
}
getch();//конец.
}
Правильно? Или можно код ещё меньше составить?
Лучшие ответы (1)
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
06.02.2014, 10:29     Си++ (прединкремент и постинкремент)?
Посмотрите здесь:

Какая операция быстрее, постинкремент, или преинкремент? C++
C++ Прединкремент и постинкремент в цикле for

Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
taras atavin
Ушёл с форума.
 Аватар для taras atavin
3569 / 1752 / 91
Регистрация: 24.11.2009
Сообщений: 27,619
06.02.2014, 10:35     Си++ (прединкремент и постинкремент)? #2
Теги Билл расставит? Читать тяжко.

Добавлено через 38 секунд
Цитата Сообщение от Иљя_ Посмотреть сообщение
1)float c; int a=1, b=2; c=a/b;
Ответ:0,5
Нет. Ответ здесь 0.

Добавлено через 1 минуту
Цитата Сообщение от Иљя_ Посмотреть сообщение
2) a=3; b=2; c=++a*b++
Ответ будет 8 или 12? Тут с начало, что должно выполняться прединкремент или постинкремент?
А какая разница? Результат зависит лишь от приоритета инкриментов относительно умножения.

Добавлено через 55 секунд
Цитата Сообщение от Иљя_ Посмотреть сообщение
3)Кто-нибудь знает ОПЕРАТОР/Ы через который будут работать 'символьные константы'? Подскажите!
Операторы ни как не связаны с константами.
ValeryS
Модератор
6377 / 4843 / 442
Регистрация: 14.02.2011
Сообщений: 16,060
06.02.2014, 10:52     Си++ (прединкремент и постинкремент)? #3
Цитата Сообщение от Иљя_ Посмотреть сообщение
Подскажите, если будет вот так: float c; int a=1, b=2; c=(float )a/b; то ответ будет 0? Или также 0,5? А если float не будет, то преобразование не будет? И будет 0?
с точностью до наоборот
C++
1
float c; int a=1, b=2; c=a/b;
сначала целочисленное деление т.е результат равен 0 а потом он приводится к float
C++
1
float c; int a=1, b=2; c=(float )a/b;
сначала a приводится к float потом деление, уже не целочисленное, результат 0.5

Добавлено через 1 минуту
Цитата Сообщение от Иљя_ Посмотреть сообщение
Правильно ли, я составил код, посмотрите:
нет
со скобками разберись
потом напиши сюда под тегом C++

Добавлено через 4 минуты
Цитата Сообщение от Иљя_ Посмотреть сообщение
short ameba=0;//счётчик амёб
т.е я правильно понимаю амеб нет?
и что будет удваиватся?
Цитата Сообщение от Иљя_ Посмотреть сообщение
ameba=ameba+2;//на каждом шаге амёбка увеличивается на 2
разницу между умножением и сложением знаешь
должно быть
Цитата Сообщение от Иљя_ Посмотреть сообщение
делится на пару клеток,
т.е удваиватся
была 1 стало 2 потом 4 потом 8
а у тебя?
не было вообще потом появились 2( откуда пришли?) потом 4 потом 8
SatanaXIII
Супер-модератор
Эксперт С++
 Аватар для SatanaXIII
5549 / 2563 / 233
Регистрация: 01.11.2011
Сообщений: 6,337
Завершенные тесты: 1
06.02.2014, 11:11     Си++ (прединкремент и постинкремент)? #4
Сообщение было отмечено автором темы, экспертом или модератором как ответ
1
Цитата Сообщение от Иљя_ Посмотреть сообщение
если будет вот так: float c; int a=1, b=2; c=(float )a/b; то ответ будет 0? Или также 0,5?
0.5
Цитата Сообщение от Иљя_ Посмотреть сообщение
А если float не будет, то преобразование не будет?
Не будет преобразования при делении. При присвоении будет.

2
Цитата Сообщение от Иљя_ Посмотреть сообщение
Ответ будет 8 или 12?
8
Цитата Сообщение от Иљя_ Посмотреть сообщение
с начало, что должно выполняться прединкремент или постинкремент?
Сначала пред.

3
Цитата Сообщение от Иљя_ Посмотреть сообщение
ОПЕРАТОР/Ы через который будут работать 'символьные константы'?
К примеру, оператор сложения. Работать будет.

4
Правильно

5
Правильно

6
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
#include <stdio.h>
#include <conio.h> // Чтобы работал getch()
 
int main ()
{
int i;
short ameba=1; // С единицы
for (i=0; i<=24; i=i+3) // Убрать точку с запятой
{ // Скобка в другую сторону
ameba=ameba*2; // Умножение, а не сложение
printf ("Hours: %d\n", i); // Вывод на экран часов
printf ("Amebs: %d\n", ameba); // Вывод на экран амеб
}
getch();//конец.
}
Yandex
Объявления
06.02.2014, 11:11     Си++ (прединкремент и постинкремент)?
Ответ Создать тему
Опции темы

Текущее время: 20:08. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru