Форум программистов, компьютерный форум, киберфорум
Наши страницы

Вычислить сумму элементов главной диагонали двумерного массива - C++

Войти
Регистрация
Восстановить пароль
Другие темы раздела
C++ создание списка http://www.cyberforum.ru/cpp-beginners/thread354380.html
Помогите плиз :wall: Односвязный линейный список Хранящиеся в списке данные типа long float Метод сортировки -- Отбор Сформировать тип звена списка для заданного типа списка. Выбрать...
C++ Сохранить html страницу В общем-то создалась такая ситуация, что нужно при помощи c++ сохранить html страницу с адреса. Тоесть даешь ему ссылку и оно сохраняет эту страницу. В какую сторону копать? Не имею не... http://www.cyberforum.ru/cpp-beginners/thread354377.html
Подскажите пожалуйста! C++
Какая задача у этого кода? // <DFM> TFORM2 = class(TForm); object Form2: TForm2 Left = 0 Top = 0 ClientHeight = 2 ClientWidth = 140 Color = clBtnFace
максимина и минимакса C++
Всем привет!) Подскажите как исправить прогу. задание: составить функцию определения максимина и минимакса прямоугольной матрицы. набросок: #include <iostream.h> #pragma hdrstop #pragma argsused...
C++ Векторы+клас http://www.cyberforum.ru/cpp-beginners/thread354336.html
Добрый вечер! Помогите пожалуйста кто-нибуть в написании или обьяснении создания програмы: Создать клас vector3D, какой задаеться троицей координат. Обязательно должны быть реализированны : 1)...
C++ как проверить цифру, на то что она является степенью тройки как проверить цифру, на то что она является степенью тройки? помогите плиз :) подробнее

Показать сообщение отдельно
-=ЮрА=-
Заблокирован
Автор FAQ
21.09.2011, 10:04
Цитата Сообщение от Serjant0007 Посмотреть сообщение
Вычислить значение N! (факториал) как сделать чтобы он сразу после ввода N выводил результат getch(); не получается запихнуть.
- рекурсию проще всего вввести
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
35
36
37
38
39
40
41
42
43
44
45
46
#include <iostream>//i/o
#include <conio.h>  //getch
 
using namespace std;
 
 
//Руссификация
ostream& operator<<(ostream &stream,char* s){
        for(char* ps=s; *ps; ps++){
                if(*ps=='ё')
                        stream<<char(241);
                else if(*ps=='Ё')
                        stream<<char(240);
                else if(*ps>=-64 && *ps<=-17)                   
                        stream<<char(*ps+64+128);
                else if(*ps<0)
                        stream<<char(*ps+64+176);
                else
                        stream<<*ps;
        }
        return stream;
}
 
unsigned long factorial(unsigned long val);
 
int main()
{
    unsigned long N;
    do
    {
        std::cout<<"Введите число : ";
        std::cin>>N;
        std::cout<<N<<"! = "<<factorial(N)<<"\r\n";
        std::cout<<"Нажмите Y для нового ввода\r\n";
    }
    while(toupper(getch()) == 'Y');
    return 0;
}
 
unsigned long factorial(unsigned long val)
{
    unsigned long ret = val;
    if(1 < (val--))//Рекурсия
        ret *= factorial(val);
    return ret;
}
[Результат работы]
Введите число : 8
8! = 40320
Нажмите Y для нового ввода

Добавлено через 7 минут
Цитата Сообщение от Serjant0007 Посмотреть сообщение
3. Написать программу, которая подводит итоги Олимпийских игр. Программа должна получить от пользователя число медалей разного достоинства, завоеванное каждой командой-участницей, вычислить общее количество медалей и соответствующее ему число очков, и после этого упорядочить список в соответствии с набранным количеством очков. Количество очков вычисляется по следующему правилу: за золотую медаль команда получает семь очков, за серебряную — шесть, за бронзовую — пять очков.
- Там похожаяя реализация измени поля структур и чуть чуть доработай алгоритм структуры !!!

Добавлено через 6 минут
Цитата Сообщение от Serjant0007 Посмотреть сообщение
for (i = 1; i <= n; i++) x *= i;
* printf("Result: %i", x);
- я вижу вычислять факториал пробовал в цикле, да так тоже можно причём без рекурсии понятней на много, добавил в программу функцию вычисления факториала в цикле factorial2 (привожу код без руссификации и хедеров они аналогичные предыдущему посту)
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
unsigned long factorial(unsigned long val);
unsigned long factorial2(unsigned long val);
 
int main()
{
    unsigned long N;
    do
    {
        std::cout<<"Введите число : ";
        std::cin>>N;
        std::cout<<N<<"! = "<<factorial(N)<<"\r\n";
        std::cout<<"Вычисление факториала без рекурсии : ";
        std::cout<<N<<"! = "<<factorial2(N)<<"\r\n";
        std::cout<<"Нажмите Y для нового ввода\r\n";
    }
    while(toupper(getch()) == 'Y');
    return 0;
}
 
unsigned long factorial(unsigned long val)
{
    unsigned long ret = val;
    if(1 < (val--))//Рекурсия
        ret *= factorial(val);
    return ret;
}
 
unsigned long factorial2(unsigned long val)
{
    unsigned long ret = val;
    for(long i = 1; i < val; i++)
        ret *= i;
    return ret;
}
[Результат работы]
Введите число : 8
8! = 40320
Вычисление факториала без рекурсии : 8! = 40320
Нажмите Y для нового ввода
2
 
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2018, vBulletin Solutions, Inc.