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

Одномерный массив - C++

Восстановить пароль Регистрация
Другие темы раздела
C++ Работа с экраном в текстовом режиме http://www.cyberforum.ru/cpp-beginners/thread81390.html
В меню с выбором пунктов Функциональными Клавишами по программе с клавиатуры в 1-е окно вводится текст с цифрами. Во 2-м окне отображаются количество букв и количество цифр. я сделал чтоб в первом окне вводились символы..но трудность : как сделать чтоб выводилось кол-во букв и цифр. Добавлено через 2 часа 27 минут Помогите плиз
C++ Вычислить максимальный по модулю элемент массива :(помогите написать программу: в одномерном массиве, состоящем из n вещественных элементов, вычислить:1) максимальный по модулю элемент массива; 2)сумма элементов массива, расположенных между первым и вторым положительными элементами. Преобразовать массив таким образом, чтобы элементы, равные нулю, распологались после всех остальных. http://www.cyberforum.ru/cpp-beginners/thread81384.html
C++ провал с генератором псевдослучайных чиел...
вот оно:#include <iostream> #include <stdio.h> #define RAND_MAX 32767 unsigned long next = 1 ; int rand(void) { next=next*1103515245+12345; return((unsigned int)(next/65536)%32768);
объявление матриц C++
Есть задача "Написать и протестировать функцию для сложения и вычитания вещественных матриц. Одним из формальных параметров должен быть признак вида операции." Возник вопрос: по задаче должны складываться и вычитаться матрицы. Но! дано N-кол-во матриц (допустим нужно сложить не 2, а 5 матриц) как объявить это кол-во матриц, что они произвольного размера ( размер вводим с клавиатуры ( A B Cи...
C++ Создать файл, в котором чередовались бы элементы исходных файлов http://www.cyberforum.ru/cpp-beginners/thread81333.html
Даны три файла целых чисел одинакового размера с именами NameA, NameB и NameC. Создать новый файл с именем NameD, в котором чередовались бы элементы исходных файлов с одним и тем же номером: A0, B0, C0, A1, B1, C1, A2, B2, C2, ... Файлы создаются програмно: for(int i=0 ;i<40;i++){a=rand()%10;cout<<a<<' ';} заполняясь рандомно. Добавлено через 1 час 27 минут Ну помогите плиз кто очень...
C++ НЕ ПОНЯТКИ С СОЗДАНИЕМ! #include <iostream> using namespace std; int SZ=10; class Base{ protected: char familia; char inichiali; char mesto_raboti; char doljnost; public: подробнее

Показать сообщение отдельно
breeve
 Аватар для breeve
73 / 73 / 14
Регистрация: 01.08.2009
Сообщений: 177
30.12.2009, 12:23     Одномерный массив
Цитата Сообщение от _pw Посмотреть сообщение
можно узнать, откуда взялась цифра 40?
Прошу прощения.. сам не знаю откуда эти 40 взялись.. Я там не один раз ошибся поэтому,
вот доработанный код пока
с выводом:
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
#include <iostream>
#include <cstdlib>
using namespace std;
#define n 100
int main()
{
        int summ = 0, a[n];
        int count=0;
        srand(time(0));
        for (int i=0; i<n; i++)
        {
            a[i]=(rand()%100)-(rand()%100);
            summ+=a[i];          
        }
        int sr=summ/n;
        cout << "sr: " <<sr<<endl;
        
        for (int i=0;i<n;i++)
        {
                if (a[i]<sr) count++;
        }
        
        cout<<"Kolichestvo men'she srednego is "<<count<<"\n";
        int min=0, max=0;
        
        int save_min = 0;
        int save_max = 0;
        for (int i=0;i<n;i++)
        {
             cout << a[i] << " ";
              if (min>a[i])
                {
                        min=a[i];
                        save_min = i;
                }
                if (max<a[i]){
                        save_max = i;
                        max=a[i];
                    }
            if((i+1)%10 == 0)
             cout << endl;
        }     
        count = 0;
        
        if(save_min < save_max)
{
        for(int i = save_min+1; i < save_max; i++)
    {
        a[i] = -150;
        count++;
    }
}
        else
{
        for(int i = save_max+1; i < save_min; i++)
    {
        a[i] = -150;
        count++;
    }
}
        int *b;
        int size = n - count;
        b = new int[size];
 
        for(int i=0, j=0; i < n;i++,j++)
        {
            if(a[i] != -150)
             b[j] = a[i];     
            else j--;
        }
        
        cout << endl <<endl;
        for (int i=0;i<size;i++)
        {
            cout << b[i] << " ";
            if((i+1)%10 == 0)
             cout << endl;
        }
        
        
        return 0;
}

Почему я приравниваю к -150 спросите вы. Поскольку в числах может быть 0 потому надо приравнивать к любому числу вне диапазона чисел в массиве..
Вот тоже самое
без вывода
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
#include <iostream>
#include <cstdlib>
using namespace std;
#define n 100
int main()
{
        int summ = 0, a[n];
        int count=0;
        srand(time(0));
        for (int i=0; i<n; i++)
        {
            a[i]=(rand()%100)-(rand()%100);
            summ+=a[i];          
        }
        int sr=summ/n;
        
        for (int i=0;i<n;i++)
        {
                if (a[i]<sr) count++;
        }
        
        cout<<"Kolichestvo men'she srednego is "<<count<<"\n";
        int min=0, max=0;
        
        int save_min = 0;
        int save_max = 0;
        for (int i=0;i<n;i++)
        {
              if (min>a[i])
                {
                        min=a[i];
                        save_min = i;
                }
                if (max<a[i]){
                        save_max = i;
                        max=a[i];
                    }
        }     
        count = 0;
        
        if(save_min < save_max)
{
        for(int i = save_min+1; i < save_max; i++)
    {
        a[i] = -150;
        count++;
    }
}
        else
{
        for(int i = save_max+1; i < save_min; i++)
    {
        a[i] = -150;
        count++;
    }
}
        int *b;
        int size = n - count;
        b = new int[size];
 
        for(int i=0, j=0; i < n;i++,j++)
        {
            if(a[i] != -150)
             b[j] = a[i];     
            else j--;
        } 
        return 0;
}
 
Текущее время: 07:51. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru