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

Вычислить значение целого числа - C++

Восстановить пароль Регистрация
 
dimaki
0 / 0 / 0
Регистрация: 21.12.2010
Сообщений: 17
21.12.2010, 13:44     Вычислить значение целого числа #1
Приветствую. Если напишу, что нужна помощь в решении задачи - сурово вас обману. Помощь не нужна - нужно решение. Или хотя бы пояснения на русском языке - что требуется в этой задаче и как это должно выглядеть? "Нипонятно" (с). Язык - Си.

Вычислить значение целого числа, десятичные цифры которого последовательно формируются датчиком случайных чисел. Первой генерируется младшая цифра. Количество генерируемых цифр N вводится с клавиатуры и должно находится в диапазоне от 2 до 8. В случае ввода некорректного значения N предусмотреть возможность повторного ввода. Вычисленное целое число выдать на экран.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
21.12.2010, 13:44     Вычислить значение целого числа
Посмотрите здесь:

C++ Для данного вещественного х найти значение следущей функции f, принимающей значение целого типа:
C++ Цели переменной k придать значение, равное третий от конца цифре в записи целого положительного числа x.
Для заданного целого числа n вычислить значение суммы C++
C++ Для заданного целого числа n вычислить значение суммы
Вычислить сумму квадратов чисел от 1 до введенного вами целого числа C++
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
Day
 Аватар для Day
1149 / 954 / 57
Регистрация: 29.10.2009
Сообщений: 1,384
21.12.2010, 13:57     Вычислить значение целого числа #2
C
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
main()
{  int N, M, j, k;
   int flag =1;
   while (flag) {
     cout<<"Vvedi N";
     cin >> N;
     if (N>=2 && N<=8) flag = 0;
     else cout << "Error N";
   }
   M = 0;
   for(j=0; j<N ; j++)  {
     k = random(10);
     M = 10*M +k;
   }
   cout << N;
}
dimaki
0 / 0 / 0
Регистрация: 21.12.2010
Сообщений: 17
21.12.2010, 14:20  [ТС]     Вычислить значение целого числа #3
спасибо, что так быстро, но что-то совсем не то...
Day
 Аватар для Day
1149 / 954 / 57
Регистрация: 29.10.2009
Сообщений: 1,384
21.12.2010, 15:17     Вычислить значение целого числа #4
dimaki, пардон, последняя строчка
C
1
cout << M;
А кроме этого, что не устраивает ?

Добавлено через 12 минут
Да, начинать надо с младшей цифры, а я сделал наоборот.
После M=0 надо
C
1
2
3
4
5
6
  long P = 1;
  for(j=0; j<N; j++) {
     k = P*random(10);
     M += k;
     P *= 10;   
  }
Кроме того, все числа лучше сделать long (часто это = int, но не всегда...)
dimaki
0 / 0 / 0
Регистрация: 21.12.2010
Сообщений: 17
21.12.2010, 15:31  [ТС]     Вычислить значение целого числа #5
Извиняюсь, если изначально ввёл в заблуждение. Я делаю (пытаюсь делать) в Dev-C++ с сохранением в C.
Я перевёл Ваш код насколько хватило моих познаний, программа работает, но неправильно)
Мой перевод выглядит так (не умею вставлять таблицы с кодом):

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
#include <stdlib.h>
#include <stdio.h>
 
int main()
{ 
   int N, M, j, k;
   int flag =1;
   while (flag) 
   {
     printf("Vvedi N \n");
     scanf("%d",&N);
     if (N>=2 && N<=8) flag = 0;
     else printf("Error N \n");
}
   M = 0;
   long P = 1;
   for(j=0; j<N; j++) 
   {
     k = P*rand();
     M = k;
     P *= 10;   
  }
   printf("%d", M);
   getch();
}
Я просто не могу понять задание. Что здесь требуется вообще?
Построить число, количество цифр от 2 до 8, и каждая генерируется отдельно, начиная с последней?
NNN777
299 / 157 / 19
Регистрация: 27.02.2010
Сообщений: 317
21.12.2010, 16:37     Вычислить значение целого числа #6
Задание правда непонятно сформулировано... вот один из вариантов:
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
#include <iostream>
#include <time.h>
using namespace std;
 
 int main()
{
    srand(time(NULL));
    int n, a[9], i, sum=1;
    do
    {
        cout<<"Vvedite N: ";
        cin>>n;
    }
    while (n<2||n>8);
    for (i=0; i<n; i++)
    {
        a[i]=rand()%10;
        cout<<a[i]<<" ";
    }
    sum=a[n-1];
    for (i=n-2; i>=0; i--)
    {
        sum*=10;
        sum+=a[i];
    }
    cout<<"sum= "<<sum<<endl;
    return 0;
}
P.S программа написана на С++, но, думаю, вы сможете подредактировать)...
dimaki
0 / 0 / 0
Регистрация: 21.12.2010
Сообщений: 17
21.12.2010, 17:12  [ТС]     Вычислить значение целого числа #7
Подредактировал под C - работает)
NNN777, Day спасибо за помощь.
Day
 Аватар для Day
1149 / 954 / 57
Регистрация: 29.10.2009
Сообщений: 1,384
21.12.2010, 22:41     Вычислить значение целого числа #8
dimaki,
(не умею вставлять таблицы с кодом):
Перед кодом ставишь (C) или (CPP) , после него, соответственно (/C) или (/CPP)
цитаты окружаешь (quote) ... (/quote), вместо написанных мной круглых скобок надо ставить квадратные. Где-то на форуме все эти закорючки были описаны.
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
22.12.2010, 01:45     Вычислить значение целого числа
Еще ссылки по теме:

C++ Найти максимальное значение среди разрядов целого числа a
Вычислить факториал заданного целого числа C++
Вещественные числа. Вычислить значение выражения C++

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

Или воспользуйтесь поиском по форуму:
Напильнег
480 / 120 / 10
Регистрация: 30.09.2010
Сообщений: 473
22.12.2010, 01:45     Вычислить значение целого числа #9
Цитата Сообщение от dimaki Посмотреть сообщение
Подредактировал под C - работает)
Огорчу я всех до невозможности (С) - ни один вариант не работает. Тупо потому, что термин "число из n цифр" (а не просто последовательность n цифр) подразумевает таки, что первая (старшая) цифра не равна 0, чего я не наблюдаю.

Добавлено через 26 минут
Как то так:
C++
1
2
3
4
5
6
7
8
9
  num=0; deg=1;
  for (i=n-1; i>=0; i--)
  {
    d=(i)?rand()%10:1+rand()%9;
    cout<<d<<" ";
    num=d*deg+num;
    deg*=10;
  }
  cout<<num<<endl;
Yandex
Объявления
22.12.2010, 01:45     Вычислить значение целого числа
Ответ Создать тему
Опции темы

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