Форум программистов, компьютерный форум, киберфорум
С++ для начинающих
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.80/5: Рейтинг темы: голосов - 5, средняя оценка - 4.80
0 / 0 / 0
Регистрация: 23.09.2012
Сообщений: 15

Не понятно пару команд в программе.

25.09.2012, 15:46. Показов 1069. Ответов 11
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Есть программа, и мне не понятно пару команд, кому не трудно, опишите их принцип работы! Очень нужно! Благодарностью заранее!)
Вот программа:

C++
1
2
3
4
5
6
7
8
9
10
11
12
13
#include<iostream>
#include<conio.h>
using namespace std;
void main()
{
    setlocale(LC_ALL, "ukrainian");
    cout<<"Введiть рiк\n";
    int year=0;
    cin>>year;
    char* animalName[12]={"щура","корови","тигра","зайця","дракона","змiї","коня","вiвцi","мавпи","курки","собаки","свинi"};
    cout<<"Рiк "<<year<<" являється роком  "<<animalName[(year-1984)%12];
    getch();
}
Как работают вот эти операторы и команды:char* animalName[12]={"щура",..."свинi"};,

<<animalName[(year-1984)%12];<---И подробней как работает вот это!

и это особенно (year-1984)%12
0
IT_Exp
Эксперт
34794 / 4073 / 2104
Регистрация: 17.06.2006
Сообщений: 32,602
Блог
25.09.2012, 15:46
Ответы с готовыми решениями:

Не понятно пару моментов
В целом программа поняла, но нужно кое-что уточнить! Зачем мы str присвоили strtok(b, &quot; &quot;); ? зачем в islower(str) стоит...

Выполнение консольных команд в программе
Приветствую! Заранее сори за абстракцию вопроса. Есть интерпретатор int.exe через консоль с ним можно взаимодействовать следующим...

Выполнение консольных команд в программе и получение результата их работы
Есть такая задача, есть клиент и есть сервер, клиент посылает одну из команд cd,dir,mkdir, а сервер обробатывает и возвращает результат...

11
Просто Лис
Эксперт Python
 Аватар для Рыжий Лис
5973 / 3735 / 1099
Регистрация: 17.05.2012
Сообщений: 10,791
Записей в блоге: 9
25.09.2012, 15:58
Цитата Сообщение от vasapetrenko Посмотреть сообщение
и это особенно (year-1984)%12
здесь берется остаток от деления на 12 от (year-1984)
1
 Аватар для DiffEreD
1458 / 795 / 257
Регистрация: 21.06.2011
Сообщений: 1,740
Записей в блоге: 2
25.09.2012, 16:00
C++
1
2
char* animalName[12]={"щура",..."свинi"}; //массив указателей на строки
animalName[(year-1984)%12]; // (year-1984)%12 в зависимости от значения year будет выбрана строка из массива с индексом от 0 до 12
0
Просто Лис
Эксперт Python
 Аватар для Рыжий Лис
5973 / 3735 / 1099
Регистрация: 17.05.2012
Сообщений: 10,791
Записей в блоге: 9
25.09.2012, 16:03
Цитата Сообщение от yuron_477 Посмотреть сообщение
с индексом от 0 до 12
поправлю... до 11

Добавлено через 25 секунд
всего 12 элементов
0
0 / 0 / 0
Регистрация: 23.09.2012
Сообщений: 15
25.09.2012, 16:21  [ТС]
char* <----и можно еще об этом пару слов))
0
Просто Лис
Эксперт Python
 Аватар для Рыжий Лис
5973 / 3735 / 1099
Регистрация: 17.05.2012
Сообщений: 10,791
Записей в блоге: 9
26.09.2012, 06:18
Цитата Сообщение от vasapetrenko Посмотреть сообщение
char*
это указатель на массив символов (на строку)

Добавлено через 3 минуты
C++
1
2
  char* abc = "0123";
   char cde[] = {'0','1','2','3'};
здесь все переменные равны
0
Модератор
Эксперт по электронике
8981 / 6748 / 921
Регистрация: 14.02.2011
Сообщений: 23,871
26.09.2012, 06:28
Цитата Сообщение от Рыжий Лис Посмотреть сообщение
здесь все переменные равны
Ой ли?
в одной строка
в другой набор символов
0
 Аватар для Toshkarik
1181 / 894 / 94
Регистрация: 03.08.2011
Сообщений: 2,461
26.09.2012, 06:52
ValeryS, Ага, причем первый пример
Цитата Сообщение от Рыжий Лис Посмотреть сообщение
char* abc = "0123";
есть UB, и компиляторы не должны данный код допускать.
0
В астрале
Эксперт С++
 Аватар для ForEveR
8049 / 4806 / 655
Регистрация: 24.06.2010
Сообщений: 10,562
26.09.2012, 09:22
Toshkarik, UB это попытка изменения данных в строковом литерале. Хотя конечно хотелось, чтобы компиляторы не пропускали данный код.
0
 Аватар для Toshkarik
1181 / 894 / 94
Регистрация: 03.08.2011
Сообщений: 2,461
26.09.2012, 09:41
ForEveR, UB тут попытка присвоить char * - const char *, то есть заведомое снятие константности с константного объекта, а изменение уже и подавно.
0
Просто Лис
Эксперт Python
 Аватар для Рыжий Лис
5973 / 3735 / 1099
Регистрация: 17.05.2012
Сообщений: 10,791
Записей в блоге: 9
26.09.2012, 16:15
Цитата Сообщение от ValeryS Посмотреть сообщение
Ой ли?
в одной строка
в другой набор символов
точно. Так правильней:
C++
1
2
const char* abc = "0123";
char cde[] = {'0','1','2','3','\0'};
0
 Аватар для Toshkarik
1181 / 894 / 94
Регистрация: 03.08.2011
Сообщений: 2,461
26.09.2012, 16:33
Рыжий Лис, корректны сами записи, но не
Цитата Сообщение от Рыжий Лис Посмотреть сообщение
здесь все переменные равны
В первом случае указатель на константные данные типа char. Во втором - массив типа char. Между ними достаточно большая разница.
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
BasicMan
Эксперт
29316 / 5623 / 2384
Регистрация: 17.02.2009
Сообщений: 30,364
Блог
26.09.2012, 16:33
Помогаю со студенческими работами здесь

Дано произвольное количество команд. Нужно найти им пару
Здраствуйте, нужен вложеный универсальный цикл собственно подается на вход произвольное к-во команд нужно найди им пару ( но мне нужен...

Выполнение линукс команд в программе java
Здравствуйте товарищи программисты, у меня такой вопрос к вам. Я делаю серверное приложение на java и моя программа целиком построена на...

Не понимаю до конца почему не работает пару вещей в программе.
Суть следующая. В первой программе все работает нормально.кроме вывода результата на экран.он выводится как код ASC.а нужно обычным...

Все ли форматы команд можно использовать в СОМ-программе
Скажите, пожалуйста, все ли форматы команд можно использовать в СОМ-программе? Если не все (например, из соображений о .model tiny), то...

Сложить два числа с помощью MMX команд в программе на C
всем привет! Помогите решить задачу: нужно сложить два числа с помощью MMX комманд в программе на C. Как это сделать? Можно ли сложить...


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

Или воспользуйтесь поиском по форуму:
12
Ответ Создать тему
Новые блоги и статьи
Мысли в слух. Про "навсегда".
kumehtar 16.04.2026
Подумалось тут, что наверное очень глупо использовать во всяких своих установках понятие "навсегда". Это очень сильное понятие, и я только начинаю понимать край его смысла, не смотря на то что давно. . .
My Business CRM
MaGz GoLd 16.04.2026
Всем привет, недавно возникла потребность создать CRM, для личных нужд. Собственно программа предоставляет из себя базу данных клиентов, в которой можно фиксировать звонки, стадии сделки, а также. . .
Знаешь почему 90% людей редко бывают счастливыми?
kumehtar 14.04.2026
Потому что они ждут. Ждут выходных, ждут отпуска, ждут удачного момента. . . а удачный момент так и не приходит.
Фиксация колонок в отчете СКД
Maks 14.04.2026
Фиксация колонок в СКД отчета типа Таблица. Задача: зафиксировать три левых колонки в отчете. Процедура ПриКомпоновкеРезультата(ДокументРезультат, ДанныеРасшифровки, СтандартнаяОбработка) / / . . .
Настройки VS Code
Loafer 13.04.2026
{ "cmake. configureOnOpen": false, "diffEditor. ignoreTrimWhitespace": true, "editor. guides. bracketPairs": "active", "extensions. ignoreRecommendations": true, . . .
Оптимизация кода на разграничение прав доступа к элементам формы
Maks 13.04.2026
Алгоритм из решения ниже реализован на нетиповом документе, разработанного в конфигурации КА2. Задачи, как таковой, поставлено не было, проделанное ниже исключительно моя инициатива. Было так:. . .
Контроль заполнения и очистка дат в зависимости от значения перечислений
Maks 12.04.2026
Алгоритм из решения ниже реализован на примере нетипового документа "ПланированиеПерсонала", разработанного в конфигурации КА2. Задача: реализовать контроль корректности заполнения дат назначения. . .
Архитектура слоя интернета для сервера-слоя.
Hrethgir 11.04.2026
В продолжение https:/ / www. cyberforum. ru/ blogs/ 223907/ 10860. html Знаешь что я подумал? Раз мы все источники пишем в голове ветки, то ничего не мешает добавить в голову такой источник, который сам. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru