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

Массив (одномерный и двумерный, поиск локальных максимумов и кол-ва положительных и отрицательных элементов) - C++

Восстановить пароль Регистрация
 
Рейтинг: Рейтинг темы: голосов - 14, средняя оценка - 5.00
ProDen
1 / 1 / 0
Регистрация: 02.12.2011
Сообщений: 30
02.12.2011, 18:01     Массив (одномерный и двумерный, поиск локальных максимумов и кол-ва положительных и отрицательных элементов) #1
Две задачи, которые нужно реализовать на c++ в борланде.

Вот первая (по одномерному массиву): В массиве А(n) найти и напечатать номера (индексы) локальных максимумов, то есть таких http://www.cyberforum.ru/cgi-bin/latex.cgi?{a}_{i}, что http://www.cyberforum.ru/cgi-bin/latex.cgi?{a}_{i-1}<{a}_{i}>{a}_{i+1}

А вот вторая (по двумерному массиву): Дан двумерный массив размером n на m, заполненный случайными числами. Определить, есть ли в данном массиве столбец, в котором равное количество положительных и отрицательных элементов.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
02.12.2011, 18:01     Массив (одномерный и двумерный, поиск локальных максимумов и кол-ва положительных и отрицательных элементов)
Посмотрите здесь:

Двумерный массив, кол-во строк без нулевых элементов C++
C++ Дан двумерный массив. Сформировать одномерный массив, каждый элемент которого равен среднему арифметическому четных положительных элементов соответств
Двумерный массив. Определить, есть ли в данном массиве столбец, в котором равное количество положительных и отрицательных элементов C++
C++ Найдите количество абсолютных и локальных минимумов и максимумов среди элементов одномерного массива
C++ Функция (параметр - одномерный массив). Вычислить разность между количеством отрицательных и положительных элементов
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
Петррр
 Аватар для Петррр
5917 / 3354 / 333
Регистрация: 28.10.2010
Сообщений: 5,926
02.12.2011, 18:11     Массив (одномерный и двумерный, поиск локальных максимумов и кол-ва положительных и отрицательных элементов) #2
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
#include <iostream>
#include <ctime>
 
int main()
{
    std::cout << "Size of array: ";
    int size;
    std::cin >> size;
    int *array = new int[size];
    srand(time(NULL));
    for(int i = 0; i < size; i++)
    {
        array[i] = rand() % 25;
        std::cout << array[i] << " ";
    }
    std::cout << std::endl;
    for(int i = 1; i < size - 1; i++)
        if (array[i - 1] < array[i] && array[i] > array[i + 1])
            std::cout << i << " ";
    std::cout << std::endl;
    delete [] array;
    system("pause");
    return 0;
}
ProDen
1 / 1 / 0
Регистрация: 02.12.2011
Сообщений: 30
02.12.2011, 18:24  [ТС]     Массив (одномерный и двумерный, поиск локальных максимумов и кол-ва положительных и отрицательных элементов) #3
Благодарю тебя за первую задачу, разобрался немного по ней, сейчас её под BORLANDC буду подправлять, чтобы она там заработала.

Добавлено через 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
29
30
#include <iostream.h>
#include <time.h>
#include <stdlib.h>
#include <conio.h>
 
int main()
{
        clrscr();
 
        int size;
        cout << "Razmer massiva: ";
        cin >> size;
        int *array = new int[size];
        srand(time(NULL));
        for(int i = 0; i < size; i++)
        {
                array[i] = rand() % 25;
                cout << array[i] << " ";
        }
        cout << endl;
        for(int i=1; i < size - 1; i++)
                if (array[i - 1] < array[i] && array[i] > array[i + 1])
                        cout << i << " ";
        cout << endl;
        delete [] array;
        
        getch();
 
        return 0;
}
Подправил под борланд, но при компиляции выводит ошибку в строке:
C++
1
for(int i=1; i < size - 1; i++)
Ошибка: Multiple declaration for "i"
Петррр
 Аватар для Петррр
5917 / 3354 / 333
Регистрация: 28.10.2010
Сообщений: 5,926
02.12.2011, 18:30     Массив (одномерный и двумерный, поиск локальных максимумов и кол-ва положительных и отрицательных элементов) #4
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
#include <iostream>
#include <ctime>
 
using namespace std;
 
int main()
{
    int n, m;
    cout << "Row count: ";
    cin >> n;
    cout << "Column count: ";
    cin >> m;
    srand(time(NULL));
    int **array = new int*[n];
    for(int i = 0; i < n; i++)
    {
        array[i] = new int[m];
        for(int j = 0; j < m; j++)
        {
            array[i][j] = rand() % 20 - 10;
            cout.width(4);
            cout << array[i][j];
        }
        cout << endl;
    }
    cout << "Columns: ";
    bool b = false;
    for(int i = 0; i < m; i++)
    {
        int nagetive = 0, positive = 0;
        for(int j = 0; j < n; j++)
            if (array[j][i] < 0)
                nagetive++;
            else
                if (array[j][i] > 0)
                    positive++;
        if (positive == nagetive)
        {
            b = true;
            cout << i << " ";
        }
        nagetive = positive = 0;
    }
    if (!b)
        cout << "Empty set";
    cout << endl;
    for(int i = 0; i < n; i++)
        delete [] array[i];
    delete [] array;
    system("pause");
    return 0;
}
fasked
Эксперт C++
 Аватар для fasked
4925 / 2505 / 180
Регистрация: 07.10.2009
Сообщений: 4,306
Записей в блоге: 1
02.12.2011, 18:31     Массив (одномерный и двумерный, поиск локальных максимумов и кол-ва положительных и отрицательных элементов) #5
Вторая:
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
#include <iostream>
#include <cstdlib>
 
int main() {
   const size_t rows = 10;
   const size_t cols = 10;
   
   int matrix[rows][cols];
   
   for (size_t i = 0; i < rows; ++i) {
      for (size_t j = 0; j < cols; ++j)
         matrix[i][j] = rand() % 10 - rand() % 10;
   }
   
   bool levelness = false;
   for (size_t i = 0; i < cols && !levelness; ++i) {
      size_t neg = 0;
      size_t pos = 0;
      
      for (size_t j = 0; j < rows; ++j)
         matrix[i][j] < 0 ? ++neg : ++pos;
         
      if (neg == pos)
         levelness = true;
   }
   
   for (size_t i = 0; i < rows; ++i) {
      for (size_t j = 0; j < cols; ++j)
         std::cout << std::showpos << matrix[i][j] << ' ';
         
      std::cout << std::endl;
   }
   
   std::cout << "Levelness: " << levelness << std::endl;
   return 0;
}
Петррр
 Аватар для Петррр
5917 / 3354 / 333
Регистрация: 28.10.2010
Сообщений: 5,926
02.12.2011, 18:34     Массив (одномерный и двумерный, поиск локальных максимумов и кол-ва положительных и отрицательных элементов) #6
ProDen, переводится как: множественное объявление i. Нужно вынести объявление этой переменной из циклов.

Добавлено через 2 минуты
fasked, а ноль - это положительное число?
fasked
Эксперт C++
 Аватар для fasked
4925 / 2505 / 180
Регистрация: 07.10.2009
Сообщений: 4,306
Записей в блоге: 1
02.12.2011, 18:37     Массив (одномерный и двумерный, поиск локальных максимумов и кол-ва положительных и отрицательных элементов) #7
Цитата Сообщение от Петррр Посмотреть сообщение
а ноль - это положительное число?
С точки зрения машинного представления чисел - да.
ProDen
1 / 1 / 0
Регистрация: 02.12.2011
Сообщений: 30
02.12.2011, 18:47  [ТС]     Массив (одномерный и двумерный, поиск локальных максимумов и кол-ва положительных и отрицательных элементов) #8
ох, слишком много ошибок, компилятор borland не понимает тип 'bool'
fasked
Эксперт C++
 Аватар для fasked
4925 / 2505 / 180
Регистрация: 07.10.2009
Сообщений: 4,306
Записей в блоге: 1
02.12.2011, 18:49     Массив (одномерный и двумерный, поиск локальных максимумов и кол-ва положительных и отрицательных элементов) #9
Цитата Сообщение от ProDen Посмотреть сообщение
компилятор borland не понимает тип 'bool'
Замените bool на int, false на 0, true на 1.
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
02.12.2011, 19:00     Массив (одномерный и двумерный, поиск локальных максимумов и кол-ва положительных и отрицательных элементов)
Еще ссылки по теме:

C++ С++ Программа на Одномерный массив (вывести кол-во нулевых элементов)
C++ Среднее арифметическое положительных элементов массива, произведение и кол-во отрицательных элементов
C++ Одномерный массив, подсчитать число положительных, отрицательных и нулевых элементов

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

Или воспользуйтесь поиском по форуму:
ProDen
1 / 1 / 0
Регистрация: 02.12.2011
Сообщений: 30
02.12.2011, 19:00  [ТС]     Массив (одномерный и двумерный, поиск локальных максимумов и кол-ва положительных и отрицательных элементов) #10
Всем большое спасибо в решении проблемы. Тему можно считать закрытой.
Yandex
Объявления
02.12.2011, 19:00     Массив (одномерный и двумерный, поиск локальных максимумов и кол-ва положительных и отрицательных элементов)
Ответ Создать тему
Опции темы

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