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

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

Войти
Регистрация
Восстановить пароль
 
Юлек
 Аватар для Юлек
4 / 3 / 0
Регистрация: 26.10.2009
Сообщений: 43
#1

Массив - C++

28.10.2009, 15:47. Просмотров 451. Ответов 3
Метки нет (Все метки)

Помогите решить задачу на С++
Дана вещественная таблица а [1...50 ]. Найти среднее арифметическое положительных элементов таблицы и минимум абсолютного значения элементов. Найти их произведение.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
28.10.2009, 15:47     Массив
Посмотрите здесь:

C++ вставить массив в массив по индексу
Многомерный массив и массив массивов C++
вывод указателя на массив на массив C++
Массив: Построить массив из нулей и единиц, в которой bi = 1 тогда и только тогда, когда в i-ой строке матрицы есть хотя бы отрицательный элемент C++
C++ Ссылка на массив и внутренний массив
C++ Скопировать массив в массив по условию
Из заданного массива C записать в массив А чётные положительные элементы, а в массив В нечётные отрицательные C++

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

Или воспользуйтесь поиском по форуму:
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
kravam
быдлокодер
 Аватар для kravam
1513 / 873 / 44
Регистрация: 04.06.2008
Сообщений: 5,304
28.10.2009, 16:30     Массив #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
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
#include <stdio.h>
#include <math.h>
#define kol_vo_el 4 
 
//Положительным считается всякий элемент, который больше 0
//Если положительных элементов нет, эта функция вернёт -1
float sr_arifm_vozvr (float* a1) {
 float summa= 0;
 int chotchik= 0;
 for (int i= 0; i< kol_vo_el; i++) {
  if (a1 [i]> 0) {
   summa= summa+ a1 [i];
   chotchik++;
  }
 }
 if (chotchik) {
  return summa/chotchik;
 }
 return -1;
}
 
//Эта функция подсчитыывает минимум и возвращает его
float min (float* a1) {
 float minimum= a1 [0];
 for (int i= 0; i< kol_vo_el; i++) {
  if ((fabs)(a1 [i])< minimum) {
   minimum= (fabs)(a1 [i]);
  }
 }
 return minimum;
}
 
 
 
 
int main () {
 float a [kol_vo_el]= {4, 6, -3, 6};
 printf ("sr_arifm= %f\n", sr_arifm_vozvr (a));
 printf ("minimum= %f", min (a));
 getchar ();
}
alibaba314
18 / 18 / 1
Регистрация: 22.03.2009
Сообщений: 58
28.10.2009, 18:09     Массив #3
//Эта функция подсчитыывает минимум и возвращает его

float minimum= a1 [0];
здесь надо писать так
C++
1
 float minimum= fabs(a1 [0]);
Добавлено через 28 минут
из кода у Kravam, я немножко изменил, и так получилось:

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
#include <stdio.h>
#include <math.h>
#define amount 4 
 
int i;
//ÏîëîæèòåëüГ*ûì Г±Г·ГЁГІГ*ГҐГІГ±Гї ГўГ±ГїГЄГЁГ© ýëåìåГ*ГІ, êîòîðûé áîëüøå 0
float mean (float* a){
    float sum= 0;
    int count= 0;
    for (i= 0; i< amount; i++) 
        if (a[i]> 0) {
            sum += a[i];
            count++;
        }
    if (count) 
        return sum/count;
    return 0;
}
 
//ГќГІГ* ГґГіГ*êöèÿ ïîäñ÷èòûûâГ*ГҐГІ ìèГ*èìóì ГЁ âîçâðГ*Г№Г*ГҐГІ ГҐГЈГ®
float min (float* a) {
    float minimum= fabs(a[0]);
    for (i= 0; i< amount; i++)
        minimum= minimum<fabs(a[i])?minimum:fabs(a[i]);
    return minimum;
}
int main () {
    float a [amount];
    printf("put in elements of array:\n");
    for(i= 0; i< amount; i++){
        printf("a[%d]=", i);
        scanf("%f", &a[i]);
    }
    if(!mean(a)) printf("in array has'n positive number!!!");
    else
        printf ("mean value= %f\n", mean(a));
    printf ("\nabsolute minimum= %f", min (a));
    getchar ();
}
спасибо kravam!
M128K145
Эксперт C++
 Аватар для M128K145
8277 / 3496 / 143
Регистрация: 03.07.2009
Сообщений: 10,707
28.10.2009, 18:59     Массив #4
Тема закрыта.
Найти среднее арифметическое
Yandex
Объявления
28.10.2009, 18:59     Массив
Закрытая тема Создать тему
Опции темы

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