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

С++ для начинающих

Войти
Регистрация
Восстановить пароль
 
реслин
0 / 0 / 0
Регистрация: 28.02.2011
Сообщений: 4
#1

если старшая цифра числа четная то все числа стоящие на четных позиция заменить... - C++

28.02.2011, 01:19. Просмотров 685. Ответов 1
Метки нет (Все метки)

Если старшая цифра целого числа четная, то все цифры числа, стоящие на четных позиция, заменить на двойки; если старшая цифра нечетная то все цифры стоящие на нечетных позициях единицами.
Если не трудно выложите полный код с краткими коментариями, а то лекции еще не начитали а лабу выполнять уже нужно . Заранее спасибо.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
28.02.2011, 01:19     если старшая цифра числа четная то все числа стоящие на четных позиция заменить...
Посмотрите здесь:

Вывести на экран все двухзначные числа, в которых старшая цифра отличается от младшей не больше чем на 1 - C++
Вывести на экран все двухзначные числа, в которых старшая цифра отличается от младшей не больше чем на 1.

Определить, является ли старшая цифра числа его делителем - C++
Целое длинное число А задается в диалоговом окне. Определить,является ли старшая цифра числа его делителем. Заранее спасибо.

Проверить, является ли старшая цифра числа самой большой - C++
Нужно ввести число и узнать, является ли его старшая цифра самой большой к примеру 123 старшая цифра 1-нет не является заранее...

Дан целый массив. выяснить имеются ли в нем числа, состоящие только из четных цифр. Если да, то вывести все найденные числа и их порядковые номера - C++
#include <iostream>#include <clocale>using namespace std;bool f (int num){ bool fl=false; while (num!=0) {int s=num % 10; if (s % 2==0) ...

Ввести с клавиатуры 10 чисел. Если среди них есть числа, большие 15, заменить их на 15. Напечатать все полученные числа - C++
Ввести с клавиатуры 10 чисел. Если среди них есть числа, большие 15, заменить их на 15. Напечатать все полученные числа.

Ввести с клавиатуры 10 чисел. Если среди них есть числа большие 15, заменить их на 15. Напечатать все полученные числа. - C++
Помогите решить задачу в Turdo C++, там где используется printf scanf: Ввести с клавиатуры 10 чисел. Если среди них есть числа большие...

Если числа не равны, то заменить каждое из них одним и тем же числом, равным большему из исходных, а если равны, то заменить числа нулями - C++
2)Даны целые числа m, n. Если числа не равны, то заменить каждое из них одним и тем же числом, равным большему из исходных, а если равны,...

Даны действительные числа A,B,C. Удвоить эти числа, если A>=B>=C, и заменить их абсолютными значениями, если это не так. - C++
Даны действительные числа A,B,C. Удвоить эти числа, если A>=B>=C, и заменить их абсолютными значениями, если это не так. Плюсану...

Все элементы одномерного массива, стоящие на четных местах, заменить на противоположные - C++
Всем доброго времени суток. Нужна помощь с заданиями. Сам не могу сделать, потому что нет возможности работать на Си. Заранее премного...

В массиве из 10 целых чисел заменить все элементы, стоящие на четных местах, на минимальный элемент - C++
В массиве из 10 целых чисел заменить все элементы, стоящие на четных местах, на минимальный элемент.


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

Или воспользуйтесь поиском по форуму:
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
IrineK
Заблокирован
28.02.2011, 10:17     если старшая цифра числа четная то все числа стоящие на четных позиция заменить... #2
Решение:
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
32
33
34
#include <iostream>
using namespace std;
 
int main()
{
    setlocale(LC_ALL,"");
    
    char cNum[10];//строка для работы 
    unsigned int iNumRes=0;//число-результат
    int base='0'; //ANSII код для 0, точка отсчета для перевода символов в цифры
    int i,len,cur,pos=1; 
 
    cout<<"Введите целое положительное число в диапазоне от 0 до 4294967295.\n";
    cin>>cNum;
 
    len=strlen(cNum);//длина строки (к-во цифр в числе)
    if(cNum[0]%2==0)
        for(i=1;i<len;i+=2)
            cNum[i]='2';//замена цифр на четных позициях на 2
    else
        for(i=0;i<len;i+=2)
            cNum[i]='1';//замена цифр на нечетных позициях на 1
 
    //сборка получившегося числа в одно целое:
    for(i=len-1;i>-1;i--)
    {
        cur=((int)cNum[i]-base)*pos;
        iNumRes+= cur;
        pos*=10; //сдвиг в следующий разряд
    }
 
    cout<<"Результат: "<<iNumRes<<endl;
    return 0;
}
Что касается лекций, на них надеяться особо не нужно. Программирование предполагает интенсивное самообразование

Добавлено через 53 минуты
В объявлении типов - небольшая поправочка, необходимо перенести cur в unsigned int:
В десятой строке:
C++
1
unsigned int iNumRes=0,cur;
В двенадцатой:
C++
1
int i,len,pos=1;
Yandex
Объявления
28.02.2011, 10:17     если старшая цифра числа четная то все числа стоящие на четных позиция заменить...
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru