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

Массив размерностью 100 заполнить случайными числами - C++

Восстановить пароль Регистрация
Другие темы раздела
C++ Подсчитать суммарное количество подтягиваний в лесенку. Работа с файлами. http://www.cyberforum.ru/cpp-beginners/thread984502.html
1.1. Подтягивание Входной файл input.txt Выходного файл output.txt Ограничение по времени: 1 секунда Ограничение по памяти: 64 МБ Серега и Костен — заядлые спортсмены. Как обычно, они качались на турниках. В этот момент к ним подошла Маша и дала тонкий намек на то, что не отказалась бы посмотреть, как ребята играют в лесенку вплоть до N подтягиваний, а победитель получит приз. Игра в...
C++ С++ нужно написать программу, не могу справится Поле first – дробное положительное число, оклад; поле second – целое число, количество отработанных дней в месяце. Реализовать метод summa ( ) – вычисление начисленной суммы за данное количество дней для заданного месяца: оклад/дни_месяца * отработанные_дни. http://www.cyberforum.ru/cpp-beginners/thread984487.html
C++ Ошибка в структуре?
Помогите решить структуру #include <stdio.h> #include <cstdlib> #include <string.h> using namespace std; struct atc { char datarozgovora; char kodgoroda; char nazvagoroda; char vremyarazgovora;
Подскажите функцию, аналогичную ф-ции getch() C++
Так как функция getch() считывает информацию до символа новой строки, мне нужна функция, считывающая весь текст целиком. Желательно в таком контексте: ifstream fin("Task.txt"); getch(fin, input); // в данном случае считывает до '\n'
C++ Возвращаемое значение делигата http://www.cyberforum.ru/cpp-beginners/thread984462.html
Сделал делигат, который принимает до 4-х аргументов функции, которая принимает любой из типой для возвращаемого значения. Вот собственно файл Delegate.h struct VOID{}; class IArgument {public: virtual ~IArgument(){}};
C++ 2. Написать алгоритм, классифицирующий треугольники (остроугольные, прямоугольные, тупоугольные), если даны углы Написать алгоритм, классифицирующий треугольники (остроугольные, прямоугольные, тупоугольные), если даны углы. подробнее

Показать сообщение отдельно
es_
 Аватар для es_
198 / 198 / 46
Регистрация: 14.01.2013
Сообщений: 446
22.10.2013, 15:32     Массив размерностью 100 заполнить случайными числами
С виду вроде среднее задание для студентов, но при решении наступил на не мало подводных камней..
Поэтому получился некомпактный код. В принципе можно переделать покомпактнее, но думаю и так сойдёт:
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
#include "stdafx.h"
#include <iostream>
#include <stdio.h>
#include <ctime>
 
using namespace std;
int main()
{
    setlocale(LC_ALL,"Russian");
    srand(time(NULL));
    int const n=100;
    int mas[n],i,j,max=0,min=10,sred=0,istart=0,ifinish=0;
    bool y=true;
    for (i=0;i<n;i++)
    {
        mas[i]=rand() % 21 - 10;
    }
    cout<<"Рандомный массив:"<<endl;
    for (i=0;i<n;i++)
    {
        cout<<mas[i]<<" ";
        if((i+1)%10==0)
        {
            cout<<endl;
        }
    }
    for (i=0;i<n;i++)
    {
        if(mas[i]>0 && y)
        {
            istart=i;
            y=false;
        }
        if(mas[i]<=0 && !y)
        {
            ifinish=i;y=true;
            if(ifinish-istart>1)
            {
                max=mas[istart];min=mas[istart];
                for(j=istart;j<ifinish;j++)
                {
                    sred+=mas[j];
                    if(min>mas[j])
                    {
                        min=mas[j];
                    }
                    if(max<mas[j])
                    {
                        max=mas[j];
                    }
                }
                sred=sred/(ifinish-istart);
                for(j=istart;j<ifinish;j++)
                {
                    if(mas[j]==max || mas[j]==min)
                    {
                        mas[j]=sred;
                    }
                }
                sred=0;
            }
            ifinish=0;istart=0;
        }
        if (mas[i]>0 && i==n-1 && !y)
        {
            ifinish=i;
                max=mas[istart];min=mas[istart];
                for(j=istart;j<=ifinish;j++)
                {
                    sred+=mas[j];
                    if(min>mas[j])
                    {
                        min=mas[j];
                    }
                    if(max<mas[j])
                    {
                        max=mas[j];
                    }
                }
                sred=sred/((ifinish+1)-istart);
                for(j=istart;j<=ifinish;j++)
                {
                    if(mas[j]==max || mas[j]==min)
                    {
                        mas[j]=sred;
                    }
                }
                sred=0;
        }
    }
    cout<<"\nПреобразованный массив:"<<endl;
    for (i=0;i<n;i++)
    {
        cout<<mas[i]<<" ";
        if((i+1)%10==0)
        {
            cout<<endl;
        }
    }
    system("PAUSE > void");
    return 0;
}
 
Текущее время: 22:44. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru