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

С++ для начинающих

Войти
Регистрация
Восстановить пароль
 
Рейтинг: Рейтинг темы: голосов - 14, средняя оценка - 5.00
ProDen
1 / 1 / 0
Регистрация: 02.12.2011
Сообщений: 30
#1

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

02.12.2011, 18:01. Просмотров 1832. Ответов 9
Метки нет (Все метки)

Две задачи, которые нужно реализовать на 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, заполненный случайными числами. Определить, есть ли в данном массиве столбец, в котором равное количество положительных и отрицательных элементов.
0
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
02.12.2011, 18:01
Здравствуйте! Я подобрал для вас темы с ответами на вопрос Массив (одномерный и двумерный, поиск локальных максимумов и кол-ва положительных и отрицательных элементов) (C++):

Дан двумерный массив 3х3. Получить одномерный массив из из отрицательных элементов матрицы. - C++
Пожалуйста, помогите решить простым методом задачку, просто не могу понять смысл ее выполнения. Дан двумерный массив 3х3.Получить...

Одномерный массив, подсчитать число положительных, отрицательных и нулевых элементов - C++
В одномерном массиве z1,z2,...,zn подсчитать число положительных, отрицательных и нулевых элементом .

Функция (параметр - одномерный массив). Вычислить разность между количеством отрицательных и положительных элементов - C++
Помогите, пожалуйста, с задачей. Сложность - работа с указателями.. Задача: Вычислить разность между количеством отрицательных и...

Двумерный массив. Определить, есть ли в данном массиве столбец, в котором равное количество положительных и отрицательных элементов - C++
Условие задачи следующее: Дан двумерный массив размером nхm, заполненный случайными числами. Определить, есть ли в данном массиве столбец,...

Найдите количество абсолютных и локальных минимумов и максимумов среди элементов одномерного массива - C++
Найдите количество абсолютных и локальных минимумов и максимумов среди элементов одномерного массива.

Поиск суммы положительных и отрицательных элементов массива - C++
Программисты очень прошу вашей помощи в задании, без вас ни как ! заранее большое спасибо ! Элементы одномерного массива задать...

Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Петррр
5957 / 3394 / 337
Регистрация: 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;
}
1
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"
0
Петррр
5957 / 3394 / 337
Регистрация: 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;
}
1
fasked
Эксперт С++
4936 / 2516 / 180
Регистрация: 07.10.2009
Сообщений: 4,311
Записей в блоге: 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;
}
0
Петррр
5957 / 3394 / 337
Регистрация: 28.10.2010
Сообщений: 5,926
02.12.2011, 18:34 #6
ProDen, переводится как: множественное объявление i. Нужно вынести объявление этой переменной из циклов.

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

Pаписать в одномерный массив B все номера отрицательных элементов, а в массив C номера не отрицательных - C++
Дан одномерный массив A, составленный из 8 элементов с клавиатуры, записать в массив B все номера отрицательных элементов, а в массив C...

Дан двумерный массив. Сформировать одномерный массив из элементов заданного массива, расположенных под побочной диагональю. - C++
Дан двумерный массив размером n x n. Сформировать: Одномерный массив из элементов заданного массива, расположенных под побочной...

Скопировать двумерный массив в одномерный массив из 50 элементов - C++
Создать двумерный массив 10*5, заполнить его значениями ( i^2-j^2), где i и j итераторы двумерного массива. А затем скопировать двумерный...

Двумерный массив (Определить: сумму элементов в тех строках, которые не содержат отрицательных элементов) - C++
Может у каво встречалась данная задача?подскажите пожалусто чем. Определить: сумму элементов в тех строках, которые не содержат...


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

Или воспользуйтесь поиском по форуму:
Yandex
Объявления
02.12.2011, 19:00
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru