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

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

Войти
Регистрация
Восстановить пароль
 
Conroex
35 / 34 / 1
Регистрация: 20.04.2010
Сообщений: 126
#1

Функция... - C++

12.05.2010, 11:18. Просмотров 288. Ответов 1
Метки нет (Все метки)

Заменить каждый элемент на среднее арифметическое его и его соседей слева и справа...
вот я сделал через одномерный массив
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
void main ()
{const n=5;
float A[n];
float B[n];
int i;
for (i=0;i<n;i++)
{Cout<<"BBOD MACUBA"<<endl
cin>>A[i];}
for (i=0;i<n;i++)
if (i=0)
B[i]=((A[i]+A[i+1])/2);
else
if (i==n-1)
B[i]=((A[i]+A[i-1])/2);
if ((i>0)&&(i<(n-1)))
B[i]=((A[i+1]+A[i]+A[i-1]/3);}
for (i=0;i<n;i++)
cout<<B[i]<<endl;
getch ();}
Теперь мне надо сделать эту же прогу через функции...
нужна ваша помощь...
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
12.05.2010, 11:18     Функция...
Посмотрите здесь:

C++ Функция
C++ Функция.
C++ Функция
C++ Функция
C++ Функция what()
Функция C++
C++ z функция
C++ Функция
оформить решение в виде функции следующими способами: 1. функция расположена после ее вызова; 2. функция расположена после до ее вызова; 3. функ C++
Функция try C++
Функция 1/1-x C++
функция с++ C++

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

Или воспользуйтесь поиском по форуму:
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
talis
 Аватар для talis
789 / 541 / 37
Регистрация: 11.05.2010
Сообщений: 1,298
Записей в блоге: 1
12.05.2010, 12:00     Функция... #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
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
#include <iostream>
using namespace std;
 
inline void InitArray(int *p_iArray, int array_size)
{
    cout << "Enter " << array_size << " numbers separated by \\n\n";
    char buffer[6];
    for( int i = 0; i < array_size; i++ )
    {
        cin.getline(buffer, 6);
        p_iArray[i] = atoi( buffer );
    }
}
 
inline void PrintArray(int *p_iArray, int array_size)
{
    for( int i = 0; i < array_size; i++ )
        cout << '[' << i << "] = " << p_iArray[i] << ';' << endl;
}
 
inline int Average( int a, int b )
{
    return (a + b) / 2;
}
 
int main( int, char ** )
{
    const int array_size = 10;
    int array[ array_size ]; // можно не инициализировать - далее вызывается функция ввода.
 
    char buffer[4];
 
    bool again = true;
    do
    {
       InitArray( array, array_size );
 
       for( int i = 1; i < array_size - 1; i++ )
           array[ i ] = Average( array[ i - 1], array[ i + 1] );
 
       PrintArray( array, array_size );
       
       while(1)
       {
          cout <<  "Again? [yes/no]";
          cin.getline(buffer, 4);       
 
          if( !strcmp( buffer, "yes" ) )
              break;
          else if( !strcmp( buffer, "no") )
          {
              again = false;
              break;
          }   
        }
    }while( again );
 
    return 0;
}
Ну, в общем, что-то в этом духе. Не отлаживал, не знаю. Проверьте. Но если хотите научиться - напишите сами.

Совет:
Так как все функции вызываются только в одном месте, я бы посоветовал их сделать встраиваемыми, как выше.
Yandex
Объявления
12.05.2010, 12:00     Функция...
Ответ Создать тему
Опции темы

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