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

В массиве все элементы, стоящие после максимального, уменьшить на 1 - C++

Восстановить пароль Регистрация
Другие темы раздела
C++ Поразрядные операции http://www.cyberforum.ru/cpp-beginners/thread193426.html
Найти Поразрядные операции, в результате которой из чисел N1(ABCD) и N2(EFGH)получается минимальное число. Подсчитать число единиц в левом байте этого числа. #include <stdio.h> #include <conio.h> col_ed () { int k=0,i,MIN; for (i=0;i<16;i++) if ((MIN>>i)&&(0x1)) k++; return k; } MIN_numbe ()
C++ Сформировать массив Помогите написать программу..) Сформировать массив данных с помощью структуры. Предметная область – данные меню столовой (номер по порядку, блюдо, цена, вес порции). Отсортировать полученный список по полю «цена». Вывод результатов оформить в виде таблицы. Добавлено через 13 часов 32 минуты Спасибо. http://www.cyberforum.ru/cpp-beginners/thread193420.html
c++ C++
помогите написать программу В файле хранятся названия фильмов. Каждая строка отдельное название. Написать программу, которая читает строки из файла в массив строк, и выводит на экран названия фильмов, отсортировав их а) по убыванию количества слов в названии, б) по возрастанию количества строк в названии, в) в алфавитном порядке.
Перечесление из массивов. C++
Всем доброе время суток. Вот не могу не как докумекать над таким действием. Имеется два двух мерных массива содержащие по три целых числа напимер 3,2,9 и 5,6,7 нужно с помощью операторов цикла for,while,switch перемножить каждое из трёх чисел по очереди то есть 3х5 3х6 3х7
C++ Даны действительные числа а0 ,..., а6 http://www.cyberforum.ru/cpp-beginners/thread193387.html
Даны действительные числа а0 ,..., а6 . Получить для х=1,3,4 значения p(x+1)-p(x), где p(y) = a6 y6 + a5 y5 + ... + a0
C++ Кто может переделать в С# #include <iostream> #include <windows.h> #include <math.h> int n; // глобальная переменная (видна обоим функциям) using namespace std; int kvadrat(int n1); int main() { int i,j; char str,str1; //Формирование массива подробнее

Показать сообщение отдельно
ForEveR
Модератор
Эксперт С++
 Аватар для ForEveR
7955 / 4717 / 318
Регистрация: 24.06.2010
Сообщений: 10,525
Завершенные тесты: 3
18.11.2010, 19:34     В массиве все элементы, стоящие после максимального, уменьшить на 1
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
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
#include <iostream>
#include <fstream>
#include <string>
#include <ctime>
#include <cstdlib>
 
void fill_from_keyb(int* Arr, int n)
{
    std::cout<<"<: \n";
    for(int i=0; i<n; ++i)
        std::cin>>Arr[i];
}
 
void fill_by_rand(int* Arr, int n)
{
    int max, min;
    std::cout<<"Enter min, max values of rand\n";
    std::cin>>min>>max;
    for(int i=0; i<n; ++i)
    {
        Arr[i]=min+rand()%(max-min+1);
    }
}
 
void fill_from_file(int* Arr, int n)
{
    std::string FileName;
    std::cout<<"Enter filename\n";
    std::cin>>FileName;
    std::ifstream ifs(FileName.c_str());
    if(!ifs)
        throw std::logic_error("Can` t open file\n");
    int i=0;
    while(!ifs.eof())
    {
        if(!ifs.eof())
            ifs>>Arr[i];
    }   
}
 
void output(int* Arr, int n)
{
    std::cout<<"Array\n";
    for(int i=0; i<n; ++i)
        std::cout<<Arr[i]<<' ';
    std::cout<<'\n';
}
 
void transform(int* Arr, int n)
{
    int max=*Arr;
    int max_ind=0;
    for(int i=0; i<n; ++i)
    {
        if(Arr[i]>max)
        {
            max=Arr[i];
            max_ind=i;
        }
    }
    for(int i=max_ind+1; i<n; ++i)
    {
        Arr[i]-=1;
    }
}
 
int main()
{
        srand(static_cast<unsigned>(time(0)));
    int* Arr;
    int n;
    std::cout<<"Enter n: ";
    std::cin>>n;
    Arr=new int[n];
    int choise=0;
    std::cout<<"Enter 1 for fill array from keyboard\n"
        <<"Enter 2 for fill array from file\n"
        <<"Enter 3 for fill array by random\n";
    std::cin>>choise;
    switch(choise)
    {
    case 1:
        fill_from_keyb(Arr, n);
        break;
    case 2:
        {
            try
            {
                fill_from_file(Arr, n);
            }
            catch(const std::exception& e)
            {
                std::cerr<<e.what()<<'\n';
                return 1;
            }
        }
        break;
    case 3:
        fill_by_rand(Arr, n);
        break;
    default:
        {
            std::cout<<"There is no such option\n";
            return 1;
        }
    }
    output(Arr, n);
    transform(Arr, n);
    output(Arr, n);
    return 0;
}
 
Текущее время: 11:54. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru