Форум программистов, компьютерный форум, киберфорум
Наши страницы
С++ для начинающих
Войти
Регистрация
Восстановить пароль
 
Рейтинг: Рейтинг темы: голосов - 10, средняя оценка - 4.80
clubnichka
0 / 0 / 2
Регистрация: 25.04.2011
Сообщений: 29
#1

Определить относительное количество положительных элементов в массиве - C++

09.06.2011, 12:31. Просмотров 1318. Ответов 17
Метки нет (Все метки)

1.Написать функцию, определяющую относительное количество положительных элементов в массиве. Написать программу, проверяющую работу этой функции.

2.Написать функцию, вычисляющую количество элементов массива, значение которых лежит в диапазоне от a до b. Написать программу, проверяющую работу этой функции.

http://www.cyberforum.ru/cpp-beginners/thread1559200.html
3.Написать функцию, проверяющую, идентичны ли два массива. Написать программу, проверяющую работу этой функции.

4.Написать функцию, находящую индекс первого минимального элемента массива. Написать программу, проверяющую работу этой функции.

5.Написать функцию, находящую минимальный среди элементов одномерного массива. Использовать эту функцию для написания программы, определяющей минимальный из элементов, лежащих на главной диагонали двумерного массива.

Добавлено через 1 минуту
вот начало моего решения к 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
#include <iostream>
 #include <stdlib.h>
    using namespace std;
    int minuym(int* arr, int length)
 {
 int min = arr[0];
 for (int i=0; i < length; i++) {
     if (arr[i]<min)
     min = arr[i];
 }
 return min;
 }
 
 int main()
 {
 int x[20][20],i,j;
for (int i=0; i <20; i++)
{
for(int j=0; j<20;j++)
x[i][j]=rand()%20;
   printf("%i\t", x[i][j]);
 }
 printf("\n");
 }
getch();
 Комментарий модератора 
Используйте теги форматирования кода!
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
09.06.2011, 12:31
Я подобрал для вас темы с готовыми решениями и ответами на вопрос Определить относительное количество положительных элементов в массиве (C++):

В массиве А(n) (n<=7) хотя бы один нуль. Определить количество положительных и количество отрицательных элементов к первому нулю.
В массиве А(n) (n&lt;=7) хотя бы один нуль. Определить количество положительных и...

Определить количество положительных, отрицательных элементов и нулей в массиве
1. В массиве A из N элементов (N не больше 30) определить количество...

Определить количество и процентное соотношение положительных, отрицательных и нулевых элементов в массиве
Разработать программу, которая формирует одномерный целочисленный массив из N...

Определить количество положительных элементов каждого Столбца матрица А и запомнить их в массиве М
A=\begin{pmatrix} 8.1&amp;&amp;3.2&amp;&amp;4.5&amp;&amp;0.3 \\ 0&amp;&amp;-1&amp;&amp;4.3&amp;&amp;5 \\ -1&amp;&amp;0.3&amp;&amp;3&amp;&amp;-2 \\ ...

Нужно определить, есть ли в двумерном массиве столбец, в котором равное количество положительных и отрицательных элементов
Нужно определить, есть ли в двумерном массиве столбец, в котором равное...

17
Aneron
159 / 158 / 25
Регистрация: 20.04.2010
Сообщений: 576
09.06.2011, 13:44 #2
Цитата Сообщение от clubnichka Посмотреть сообщение
а что делать дальше?
подставить x в вашу функцию и вывести результат на экран.
0
clubnichka
0 / 0 / 2
Регистрация: 25.04.2011
Сообщений: 29
09.06.2011, 13:55  [ТС] #3
это понятно что нужно взять x,но как извлечь элементы главной диагонали?
0
mimicria
return (true);
1960 / 1097 / 219
Регистрация: 19.04.2011
Сообщений: 2,345
09.06.2011, 13:57 #4
Цитата Сообщение от clubnichka Посмотреть сообщение
это понятно что нужно взять x,но как извлечь элементы главной диагонали?
У элементов главной диагонали индексы будут равны
C++
1
2
3
for (int i=0; i <20; i++)
{
x[i][i].......
0
clubnichka
0 / 0 / 2
Регистрация: 25.04.2011
Сообщений: 29
09.06.2011, 14:06  [ТС] #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
#include <iostream>
 #include <stdlib.h>
        using namespace std;
        int minuym(int* arr, int length)
 {
 int min = arr[0];
 for (int i=0; i < length; i++) {
         if (arr[i]<min)
         min = arr[i];
 }
 return min;
 }
 
 int main()
 {
 int x[20][20],i,j;
for (int i=0; i <20; i++)
{
for(int j=0; j<20;j++)
x[i][j]=rand()%20;
   printf("%i\t", x[i][j]);
 }
 printf("\n");
}
for (int i=0; i <20; i++)
{
x[i][i]=arr[i];
}
    int min;
      printf("%i\t", arr[i]);
       printf("%d", min);
 
        getch()
 }
так будет?
0
Aneron
159 / 158 / 25
Регистрация: 20.04.2010
Сообщений: 576
09.06.2011, 14:11 #6
C++
1
2
3
4
5
6
7
8
int arr[20];
for (int i=0; i <20; i++)
{
arr[i] = x[i][i];
}
int min;
min = minuym(arr,20);
printf("%d", min);
исправляете соответствующий кусок.
0
clubnichka
0 / 0 / 2
Регистрация: 25.04.2011
Сообщений: 29
09.06.2011, 14:19  [ТС] #7
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
#include <iostream>
 #include <stdlib.h>
        using namespace std;
        int minuym(int* arr, int length)
 {
 int min = arr[0];
 for (int i=0; i < length; i++) {
         if (arr[i]<min)
         min = arr[i];
 }
 return min;
 }
 
 int main()
 {
 int x[20][20],i,j;
for (int i=0; i <20; i++)
{
for(int j=0; j<20;j++)
x[i][j]=rand()%20;
   printf("%i\t", x[i][j]);
 }
 printf("\n");
}
 int arr[20];
for (int i=0; i <20; i++)
{
arr[i] = x[i][i];
}
int min;
min = minuym(arr,20);
printf("%d", min);
getch();
 }
исправила,но программа все равно не хочет работать(((((((что делать?
0
mimicria
return (true);
1960 / 1097 / 219
Регистрация: 19.04.2011
Сообщений: 2,345
09.06.2011, 14:29 #8
C++
1
2
3
printf("\n");
}
int arr[20];
Функция кончилась раньше, чем надо. Лишнюю скобку уберите
0
Aneron
159 / 158 / 25
Регистрация: 20.04.2010
Сообщений: 576
09.06.2011, 14:32 #9
1. проверьте фигурные скобки. у вас ошибка есть в них.
2. подключите библиотеку stdio.h
0
clubnichka
0 / 0 / 2
Регистрация: 25.04.2011
Сообщений: 29
09.06.2011, 14:44  [ТС] #10
ну а теперь,что делать,у меня результат выполнения сразу пропадает?????
0
Aneron
159 / 158 / 25
Регистрация: 20.04.2010
Сообщений: 576
09.06.2011, 15:10 #11
getch() или getc() перед последними фигурными скобками.
0
clubnichka
0 / 0 / 2
Регистрация: 25.04.2011
Сообщений: 29
09.06.2011, 15:14  [ТС] #12
ага,спасибо)))))
а как сделать так чтоб у меня в результате выполнения массив не так коряво смотрелся,чтоб было все ровненько и аккуратно?
0
Aneron
159 / 158 / 25
Регистрация: 20.04.2010
Сообщений: 576
09.06.2011, 15:18 #13
=))) экспериментировать с выводом.
C++
1
2
3
4
5
6
7
8
for (int i=0; i <20; i++)
{
for(int j=0; j<20;j++)
x[i][j]=rand()%20;
printf("%i", x[i][j]);
}
printf("\n");
}
0
clubnichka
0 / 0 / 2
Регистрация: 25.04.2011
Сообщений: 29
09.06.2011, 15:23  [ТС] #14
а так вообще все в одну строчку выводит и совершенно не заметно,что это массив.....
0
grizlik78
Эксперт С++
1982 / 1475 / 191
Регистрация: 29.05.2011
Сообщений: 3,048
09.06.2011, 15:39 #15
Сказано же — экспериментировать
А лучше книжку почитать
C
1
2
3
4
5
6
7
for (int i=0; i <20; ++i) {
  for (int j=0; j<20; ++j) {
    x[i][j]=rand()%20;
    printf("%3d", x[i][j]);
  }
  printf("\n");
}
Добавлено через 2 минуты
А ещё аккуратно расставлять отступы и фигурные скобки

Добавлено через 6 минут
C++
1
2
3
4
5
6
7
8
9
for (int i=0; i<20; ++i)
{
    for(int j=0; j<20; ++j)
    {
        x[i][j] = rand() % 20;
        cout << setw(3) << x[i][j];
    }
    cout << endl;
}
0
clubnichka
0 / 0 / 2
Регистрация: 25.04.2011
Сообщений: 29
09.06.2011, 15:40  [ТС] #16
теперь результат мой результат 4задачи,тут тоже что то не так,что не понимаю,подскажите...

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
#include <iostream>
 #include <stdlib.h>
    #include <stdio.h>
        using namespace std;
 
 int min_ind(int* arr, int numberOfElements) {
int n = 0;
for( int i =1;i < numberOfElements;i++) {
    if(arr[i] < arr[n]) n=i;
}
return n;
}
 int main()
 {
  int x[55];
for(int i=0;i<55;i++)
{
x[i]=rand()%55;
cout<<x[i]<<"  ";
 
 }
 int min_ind;
 int s=n;
    cout<<n,i<<"  ";
   system("pause");
return 0;
 
}
 Комментарий модератора 
Вы что, даже карточек не понимаете?
0
Aneron
159 / 158 / 25
Регистрация: 20.04.2010
Сообщений: 576
09.06.2011, 15:44 #17
берете предыдущую программу и редактируете ее. все решается аналогичным образом.
0
clubnichka
0 / 0 / 2
Регистрация: 25.04.2011
Сообщений: 29
09.06.2011, 15:48  [ТС] #18
я практически так и сделала,но как вывести индекс элемента и сам элемент,у меня не получается((((((
0
09.06.2011, 15:48
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
09.06.2011, 15:48
Привет! Вот еще темы с решениями:

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

В массиве определить количество положительных и отрицательных чисел
Задан линейный массив, состоящий из n элементов. Определить количество...

В массиве определить количество отрицательных и положительных чисел
задан одномерный массив размером n. определить количество отрицательных чисел,...

Найти количество положительных элементов в массиве
Размер массива задайте сами. Сделайте три варианта программы. В первом элементы...


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

Или воспользуйтесь поиском по форуму:
18
Ответ Создать тему
Опции темы

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