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

преобразование массивов - C++

Восстановить пароль Регистрация
 
Silva
 Аватар для Silva
0 / 0 / 0
Регистрация: 30.09.2009
Сообщений: 27
16.01.2010, 15:44     преобразование массивов #1
помогите с задачей!!!

Составить программу,которая преобразует массивы А(1..10) и В(1..12) слудующим образом: элементы, меньшие среднего арифметического всех элементов заменить нулем. Преобразования массивов оформить в виде функции.

За ранее огромное спасибо!!!
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
16.01.2010, 15:44     преобразование массивов
Посмотрите здесь:

Преобразование массивов C++
Заданы два массива А(5) и В(5). В каждом из массивов найти наименьшее значение и разделить на него все элементы массивов. На печать вывести исходные C++
C++ Сформировать массив из элементов исходных массивов, меньших произведения последних элементов заданных массивов.
C++ Сравнение массивов: найти максимальное перебором массивов
Элементы массивов a и b отсортировать в порядке возрастания. Образовать из этих массивов "c" из M+N элементов C++
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
Genius Ignat
1233 / 771 / 44
Регистрация: 16.09.2009
Сообщений: 2,014
16.01.2010, 15:49     преобразование массивов #2
Да логика предложения очень понятна!!
Может кто построит правильное предлложение

Добавлено через 2 минуты
Мое предположение сути задачи:
Есть одно множество, есть другое множество, обнулить то множество, в котором
Среднее Арифметическое меньше верно?
Или что то не так понял
Darky
Быдлокодер
 Аватар для Darky
507 / 294 / 45
Регистрация: 22.11.2009
Сообщений: 892
Завершенные тесты: 1
16.01.2010, 15:59     преобразование массивов #3
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
#include <iostream>
#include <stdlib.h>
#include <time.h>
int banana(int A[10],int B[12],int srA,int srB);
int main()
{
  srand((unsigned)time(0));
  int A[10],B[12];
  cout<<"A:"<<endl;
  int sumA=0,srA;
  for (int i=0;i<10;i++)
  {
    A[i]=rand()%10;
    cout<<A[i]<<" ";
    sumA+=A[i];
  }
  srA=sumA/10;
  int sumB=0,srB;
  cout<<"\nB:"<<endl;
  for (int i=0;i<12;i++)
  {
    B[i]=rand()%10;
    cout<<B[i]<<" ";
    sumB+=B[i];
  }
  srB=sumB/12;
  banana(A,B,srA,srB);
}
int banana(int A[10],int B[12],int srA,int srB)
{
cout<<"\nITOG:"<<endl;
cout<<"A:"<<endl;
  for (int i=0;i<10;i++)
  {
    if (A[i]<srA) A[i]=0;
    cout<<A[i]<<" ";
  }
cout<<"\nB:"<<endl;
  for (int i=0;i<12;i++)
  {
    if (B[i]<srB) B[i]=0;
    cout<<B[i]<<" ";
  }
}
Genius Ignat
1233 / 771 / 44
Регистрация: 16.09.2009
Сообщений: 2,014
16.01.2010, 16:02     преобразование массивов #4
Внимательно прочитал задачу вроде въехал

Добавлено через 1 минуту
Но уже поздно
easybudda
Модератор
Эксперт С++
 Аватар для easybudda
9373 / 5423 / 914
Регистрация: 25.07.2009
Сообщений: 10,423
16.01.2010, 16:41     преобразование массивов #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
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
#include <iostream>
 
using namespace std;
 
// Составить программу,которая преобразует массивы А(1..10) и В(1..12) слудующим образом: 
// элементы, меньшие среднего арифметического всех элементов заменить нулем. Преобразования массивов оформить в виде функции.
 
double average(int *arr, int count){
    int i;
    double avg = 0.0;
    for ( i = 0; i < count; ++i )
        avg += (double)arr[i];
    return avg / (double)count;
}
 
void zeroLA(int *arr, int count){
    int i;
    double avg = average(arr, count);
    for ( i = 0; i < count; ++i )
        if ( (double)arr[i] < avg )
            arr[i] = 0;
}
 
void getVals(int *arr, int count){
    for ( int i = 0; i < count; ++i ){
        cout << "ARRAY[" << i << "] = ";
        cin >> arr[i];
    }
}
 
void printArray(int *arr, int count){
    for ( int i = 0; i < count; ++i )
        cout << arr[i] << (( i < count - 1 ) ? ' ' : '\n');
}
 
int main(){
    const int A_size = 10;
    const int B_size = 12;
    int A[A_size], B[B_size];
    
    cout << "Array A:" << endl;
    getVals(A, A_size);
    cout << "Origin: ";
    printArray(A, A_size);
    cout << "Average: " << average(A, A_size) << endl;
    zeroLA(A, A_size);
    cout << "Processed: ";
    printArray(A, A_size);
    
    cout << endl << "Array B:" << endl;
    getVals(B, B_size);
    cout << "Origin: ";
    printArray(B, B_size);
    cout << "Average: " << average(B, B_size) << endl;
    zeroLA(B, B_size);
    cout << "Processed: ";
    printArray(B, B_size);
    
    return 0;
}
CyBOSSeR
Эксперт C++
 Аватар для CyBOSSeR
2294 / 1664 / 86
Регистрация: 06.03.2009
Сообщений: 3,675
16.01.2010, 17:10     преобразование массивов #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
31
32
33
34
35
36
37
38
39
40
41
#include <iostream>
#include <algorithm>
#include <functional>
#include <numeric>
#include <assert.h>
 
void Transform(int* arr, int size)
{
  assert(arr);
 
  double average = static_cast<double>(std::accumulate(arr, arr + size, 0)) / size;
  
  std::replace_if(arr, arr + size, std::bind2nd(std::less<int>(), static_cast<int>(average)), 0);
}
 
int main()
{
  const int n = 10;
  int a[n] = {0, 1, 2, 3, 4, 5, 6, 7, 8, 9};
 
  const int m = 12;
  int b[m] = {0, 1, 2, 3, 4, 5, 6, 7, 8, 9 , 10, 11};
 
  Transform(a, n);
 
  std::cout << "Transformed array a:" << std::endl;
 
  std::copy(a, a + n, std::ostream_iterator<int>(std::cout, " "));
 
  std::cout << std::endl;
 
  Transform(b, m);
 
  std::cout << "Transformed array b:" << std::endl;
 
  std::copy(b, b + m, std::ostream_iterator<int>(std::cout, " "));
 
  std::cout << std::endl;
 
  system("pause");
}
Yandex
Объявления
16.01.2010, 17:10     преобразование массивов
Ответ Создать тему
Опции темы

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