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

Дано натуральное число с различными цифрами. Определить, максимальная цифра числа расположена ближе к началу или концу числа - C++

Войти
Регистрация
Восстановить пароль
Другие темы раздела
C++ Непонятные символы.(Строки и указатели). http://www.cyberforum.ru/cpp-beginners/thread421127.html
Добрый вечер. Задание - Написать программу получения строки, в которой удалены все “лишние” пробелы, т.е. из нескольких подряд идущих пробелов оставить только один. #include "stdafx.h" #include <stdio.h> #include "iostream" using namespace std;
C++ Inline Assembler & C++ int main(int argc, char *argv) { perevod(); cout<<"Type Esc to Escape \n"; __asm { mov ah,01h int 21h cmp ax,01 http://www.cyberforum.ru/cpp-beginners/thread421124.html
C++ Программа, которая считывает число с клавиатуры и находит ближайшее справа число, которое является квадратом натурального числа
Написать программу, которая считывает число с клавиатуры и находит ближайшее справа число, которое является квадратом натурального числа, и выводит его на экран. Проверку "квадрат – не квадрат" оформить в виде функции.
вопрос по препроцессорной магии C++
Для того, чтобы определить макрос AT, замещающийся в процессе компиляции на строку типа "main.cpp:123", я пользуюсь следующим набором макросов: #define STRINGIFY(x) #x #define TOSTRING(x) STRINGIFY(x) #define AT __FILE__ ":" TOSTRING(__LINE__) Но я не понимаю, почему вышеприведенный вариант работает, а нижеприведенный - нет: #define STRINGIFY(x) #x #define AT __FILE__ ":"...
C++ Манипуляции с массивами. Как сделать? http://www.cyberforum.ru/cpp-beginners/thread421108.html
Товарищи, с наступающим всех! :) Очень нужна помощь. А то в новом году не допустят к сессии. :( :rtfm: Есть две небольших задачки. Алгоритмы писать не надо, просто написать какие функции надо использовать. 1) Сделать пару манипуляций с массивом. И вывести сумму элементов в MessageBox. MessageBox, в принципе не столь важен, главное работа с массивом. 2) Найти дробную часть числа. Все...
C++ Как вывести скалярное произведение двух массивов? #include <iostream> #include <stdlib.h> using namespace std; void mas_in(int* a, int size) { for(int i = 0; i < size; ++i) cin >> a; } void mas_out(int* a, int size) { подробнее

Показать сообщение отдельно
lemegeton
2923 / 1352 / 135
Регистрация: 29.11.2010
Сообщений: 2,725
31.12.2011, 20:15     Дано натуральное число с различными цифрами. Определить, максимальная цифра числа расположена ближе к началу или концу числа
C
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
#include <stdio.h>
 
int maxDigitRelativePosition(int aNumber) {
  int numberOfDigits = 0;
  int maxDigit = -1;
  int maxDigitPosition = -1;
  for (; aNumber > 0; aNumber /= 10, ++numberOfDigits) {
    int currentDigit = aNumber % 10;
    if (currentDigit > maxDigit) {
      maxDigit = currentDigit;
      maxDigitPosition = numberOfDigits;
    }
  }
  return (numberOfDigits - 1) / 2 - maxDigitPosition;
}
 
void printRelativePosition(int aNumber) {
  int relativePosition = maxDigitRelativePosition(aNumber);
  printf("Number: %d, maximum digit is on the %s.\n", aNumber,
    (relativePosition > 0) ? "right side of the number" :
    (relativePosition < 0) ? "left side of the number" : "center");
}
 
int main(int argc, char *argv[]) {
  printRelativePosition(12312);
  printRelativePosition(124312);
  printRelativePosition(121424);
  printRelativePosition(5124312);
  printRelativePosition(1214245);
  return 0;
}
 
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru