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

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

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

как записать эту программу через функцию main и ее прототип? - C++

07.11.2009, 19:14. Просмотров 1254. Ответов 22
Метки нет (Все метки)

можите помоч! как записать эту программу через функцию main и ее прототип? в конце вызвать эту функцию!

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
#include <iostream.h>
int main()
 
 {
    int i,j;
       double stolb1=0, stolb2=0;
        double stroka1=0, stroka2=0;     
     int arrA[3][4] = {
{6, 7, 2, 5},
{4, 1, 8, 3},
{5, 1, 2, 3} 
      };
int arrB[2][3]  ;
        {
          for (i=0;i<2;i++)
                {
                        for (j=0;j<3;j++)
                        {
                                cout<<"B["<<i<<"]["<<j<<"]=";
                                cin>> arrB[i][j];
                        }
                }
          for (i=0;i<3;i++) stolb1+=arrA[i][0]; stolb1/=4;
 for (i=0;i<2;i++) stolb2+=arrB[i][0]; stolb2/=3;
 for (j=0;j<4;j++) stroka1+=arrA[1][j]; stroka1/=3;
 for (j=0;j<3;j++) stroka2+=arrB[1][j]; stroka2/=2;
 {
 cout<< "stolb 1 massiva "<<stolb1<<" stolb 2 massiva "<<stolb2<<endl;
 cout<< "stroka 1 massiva "<<stroka1<<" stroka  2 massiva "<<stroka2<<endl;
}
 return 0;
 }
}
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
07.11.2009, 19:14     как записать эту программу через функцию main и ее прототип?
Посмотрите здесь:

C++ Как менять переменные в main через функцию
C++ Как вызвать функцию из функции main?
C++ как написать данную программу через функцию?
как эту программу сделать через функции пользователя? C++
как тут эту программу через два класса сделать ? C++
C++ Как правильно вызвать эту функцию?
Нахождение основных значений оформить через функцию RESHENIE(), ввод данных и вывод на печать через функцию MAIN() C++
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
Monte-Cristo
 Аватар для Monte-Cristo
2807 / 1372 / 30
Регистрация: 07.03.2009
Сообщений: 4,446
07.11.2009, 19:24     как записать эту программу через функцию main и ее прототип? #2
Цитата Сообщение от евгеша Посмотреть сообщение
ожите помоч! как записать эту программу через функцию main и ее прототип? в конце вызвать эту функцию!
А можно по русски написать чего надо?
RNT
Автор FAQ
 Аватар для RNT
3132 / 352 / 3
Регистрация: 08.08.2009
Сообщений: 1,126
07.11.2009, 19:24     как записать эту программу через функцию main и ее прототип? #3
Цитата Сообщение от евгеша Посмотреть сообщение
как записать эту программу через функцию main и ее прототип?
Это как понять ? Все и так записано в функции main()

Цитата Сообщение от евгеша Посмотреть сообщение
в конце вызвать эту функцию!
Рекурсивно чтоли ?
евгеша
0 / 0 / 0
Регистрация: 15.10.2009
Сообщений: 30
07.11.2009, 22:56  [ТС]     как записать эту программу через функцию main и ее прототип? #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
#include <iostream.h>
void array(float[3][3]);
int main()
{
    float a[3][3];
    int i,j;
    for(i=0;i<3;i++)
    {
        for(j=0;j<3;j++)
        {
        cout<<"a["<<i<<"]["<<j<<"]=";
        cin>>a[i][j];
        }
    }
    array(a);
    for(i=0;i<3;i++)
    {
        for(j=0;j<3;j++)
        {
            cout<<"aaa["<<i<<"]["<<j<<"]="<<a[i][j]<<"\n";
        }
    }
    return 0;
}
void array(float b[3][3])
{
    for(int m=0;m<3;m++)
    {
        for(int n=0;n<3;n++)
        {
            b[m][0]=b[0][n]+b[2][n];
        }
    }
}
Добавлено через 2 минуты
Пример:
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
// Определение максимального из трех целых чисел
               int maximum(int, int, int); // Прототип функции
                     main ()
                     {
                      int a, b,c;
                 cout << “Введите три целых числа:;
                 cin >> a  >> b >> c;
                 cout << “Максимум равен:<< maximum(a, b, c);
                 return 0;
               }
                // Определение функции maximum
                int maximum (int x, int y, int z)
                  {
                         int max = x;
                if (y > max)
                max = y;
                if (z > max)
                max = z;
                return max;
            }
RNT
Автор FAQ
 Аватар для RNT
3132 / 352 / 3
Регистрация: 08.08.2009
Сообщений: 1,126
07.11.2009, 23:39     как записать эту программу через функцию main и ее прототип? #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
#include <iostream.h>
 
void MyFunc();
 
int main()
{
    MyFunc();
    return 0;
}
 
 
void MyFunc()
{
    int i,j;
    double stolb1=0, stolb2=0;
    double stroka1=0, stroka2=0;     
    int arrA[3][4] = {
        {6, 7, 2, 5},
        {4, 1, 8, 3},
        {5, 1, 2, 3} 
    };
    int arrB[2][3]  ;
    {
        for (i=0;i<2;i++)
        {
            for (j=0;j<3;j++)
            {
                cout<<"B["<<i<<"]["<<j<<"]=";
                cin>> arrB[i][j];
            }
        }
        for (i=0;i<3;i++) stolb1+=arrA[i][0]; stolb1/=4;
        for (i=0;i<2;i++) stolb2+=arrB[i][0]; stolb2/=3;
        for (j=0;j<4;j++) stroka1+=arrA[1][j]; stroka1/=3;
        for (j=0;j<3;j++) stroka2+=arrB[1][j]; stroka2/=2;
        {
            cout<< "stolb 1 massiva "<<stolb1<<" stolb 2 massiva "<<stolb2<<endl;
            cout<< "stroka 1 massiva "<<stroka1<<" stroka  2 massiva "<<stroka2<<endl;
        }
    }
}
евгеша
0 / 0 / 0
Регистрация: 15.10.2009
Сообщений: 30
07.11.2009, 23:50  [ТС]     как записать эту программу через функцию main и ее прототип? #6
а че за MyFunc?

Добавлено через 1 минуту
Функция – это совокупность объявлений и операторов, предназначенных для решения определенной задачи.
Функция, используемая в модуле компиляции должна иметь прототип (некое предварительное описание). Прототип функции вставляется во все модули компиляции, использующие данную функцию. При этом прототип может располагаться как в самом модуле компиляции, так и в заголовочном файле. Непосредственное объявление функции осуществляется в любом модуле компиляции.
Прототип и объявление функции имеют следующее формальное описание:
Прототип функции
модификатор_доступа тип имя_функции (список_формальных_параметров);
Описание функции
модификатор_доступа тип имя_функции (список_формальных_параметров)
{тело_функции}
Модификаторы доступа функции:
 external – определяет доступность из любых модулей приложения;
 static – ограничивает доступ только текущим модулем компиляции.
Тип функции является типом возвращаемого функцией значения и может быть любым допустимым базовым или производным типом, включая и указатель (по умолчанию int). Функция, имеющая тип void значения не возвращает.
Список формальных параметров – это перечень разделенных запятыми объявлений тех параметров, которые получает функция при ее вызове. Если функция не получает никаких значений, список параметров задается как void.
Тело функции – это составной оператор, содержащий вложенные простые или составные операторы, определяющие действие функции.
Точкой вызова функции может быть любое место в основной программе [Язык С++ допускает рекурсивный вызов функции. Функция называется рекурсивной, если во время ее обработки возникает ее повторный вызов, либо непосредственно, либо косвенно, путем цепочки вызовов других функций].
Вызов функции производится с указанием фактических параметров, передаваемых функции в точке ее вызова для обработки. Число фактических параметров должно совпадать с числом формальных параметров, указанных в прототипе функции, а их типы совместимы (за исключением функций с переменным числом параметров). Для передачи функции в качестве параметра другой функции могут быть использованы указатели на функцию.
Возврат управления к точке, из которой была вызвана функция, осуществляется при достижении правой фигурной скобки, завершающей функцию или путем включения в ее тело оператора return.

Добавлено через 34 секунды
вот как то через это!
RNT
Автор FAQ
 Аватар для RNT
3132 / 352 / 3
Регистрация: 08.08.2009
Сообщений: 1,126
07.11.2009, 23:52     как записать эту программу через функцию main и ее прототип? #7
Цитата Сообщение от евгеша Посмотреть сообщение
а че за MyFunc?
Это функция
Андрейка
419 / 223 / 27
Регистрация: 25.03.2009
Сообщений: 744
08.11.2009, 00:01     как записать эту программу через функцию main и ее прототип? #8
евгеша, так
RNT, твоё задание выполнил ? ) или тебе нужно все манипуляции с матрицей в функцию записать?
евгеша
0 / 0 / 0
Регистрация: 15.10.2009
Сообщений: 30
08.11.2009, 00:22  [ТС]     как записать эту программу через функцию main и ее прототип? #9
все манипуляции с матрицей в функцию записать!

Добавлено через 19 минут
RNT, моё задание не выполнил ! но надеюсь что он поможет
RNT
Автор FAQ
 Аватар для RNT
3132 / 352 / 3
Регистрация: 08.08.2009
Сообщений: 1,126
08.11.2009, 01:43     как записать эту программу через функцию main и ее прототип? #10
Цитата Сообщение от евгеша Посмотреть сообщение
все манипуляции с матрицей в функцию записать!
Лови !

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 <iostream.h>
 
void MyPrint(int[3][4], int[2][3]);
 
int main()
{
    int i,j;
    int arrA[3][4] = {
        {6, 7, 2, 5},
        {4, 1, 8, 3},
        {5, 1, 2, 3}
    };
    int arrB[2][3];
    for (i=0;i<2;i++)
    {
        for (j=0;j<3;j++)
        {
            cout<<"B["<<i<<"]["<<j<<"]=";
            cin>> arrB[i][j];
        }
    }
    MyPrint(arrA, arrB);
    return 0;
}
 
void MyPrint(int arrA[3][4], int arrB[2][3])
{
    int i,j;
    double stolb1=0, stolb2=0;
    double stroka1=0, stroka2=0;
    for (i=0;i<3;i++) stolb1+=arrA[i][0]; stolb1/=4;
    for (i=0;i<2;i++) stolb2+=arrB[i][0]; stolb2/=3;
    for (j=0;j<4;j++) stroka1+=arrA[1][j]; stroka1/=3;
    for (j=0;j<3;j++) stroka2+=arrB[1][j]; stroka2/=2;
    {
        cout<< "stolb 1 massiva "<<stolb1<<" stolb 2 massiva "<<stolb2<<endl;
        cout<< "stroka 1 massiva "<<stroka1<<" stroka  2 massiva "<<stroka2<<endl;
    }
}
Добавлено через 32 минуты
Из твоего исходника я забыл выкинуть пару совершенно никчемных фигурных скобок.
Так будет рациональнее:

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
#include <iostream.h>
 
void MyPrint(int[3][4], int[2][3]);
 
int main()
{
    int i,j;
    int arrA[3][4] = {
        {6, 7, 2, 5},
        {4, 1, 8, 3},
        {5, 1, 2, 3}
    };
    int arrB[2][3];
    for (i=0;i<2;i++)
    {
        for (j=0;j<3;j++)
        {
            cout<<"B["<<i<<"]["<<j<<"]=";
            cin>> arrB[i][j];
        }
    }
    MyPrint(arrA, arrB);
    return 0;
}
 
void MyPrint(int arrA[3][4], int arrB[2][3])
{
    int i,j;
    double stolb1=0, stolb2=0;
    double stroka1=0, stroka2=0;
    for (i=0;i<3;i++) stolb1+=arrA[i][0]; stolb1/=4;
    for (i=0;i<2;i++) stolb2+=arrB[i][0]; stolb2/=3;
    for (j=0;j<4;j++) stroka1+=arrA[1][j]; stroka1/=3;
    for (j=0;j<3;j++) stroka2+=arrB[1][j]; stroka2/=2;
    cout<< "stolb 1 massiva "<<stolb1<<" stolb 2 massiva "<<stolb2<<endl;
    cout<< "stroka 1 massiva "<<stroka1<<" stroka  2 massiva "<<stroka2<<endl;
}
евгеша
0 / 0 / 0
Регистрация: 15.10.2009
Сообщений: 30
08.11.2009, 12:52  [ТС]     как записать эту программу через функцию main и ее прототип? #11
fatal error C1010: unexpected end of file while looking for precompiled header directive а что это за ошибка ии как ее убрать?
RNT
Автор FAQ
 Аватар для RNT
3132 / 352 / 3
Регистрация: 08.08.2009
Сообщений: 1,126
08.11.2009, 13:51     как записать эту программу через функцию main и ее прототип? #12
Цитата Сообщение от евгеша Посмотреть сообщение
fatal error C1010: unexpected end of file while looking for precompiled header directive а что это за ошибка ии как ее убрать?
Попробуй так:

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
#include <iostream>
 
using namespace std;
void MyPrint(int[3][4], int[2][3]);
 
int main()
{
    int i,j;
    int arrA[3][4] = {
        {6, 7, 2, 5},
        {4, 1, 8, 3},
        {5, 1, 2, 3}
    };
    int arrB[2][3];
    for (i=0;i<2;i++)
    {
        for (j=0;j<3;j++)
        {
            cout<<"B["<<i<<"]["<<j<<"]=";
            cin>> arrB[i][j];
        }
    }
    MyPrint(arrA, arrB);
    return 0;
}
 
void MyPrint(int arrA[3][4], int arrB[2][3])
{
    int i,j;
    double stolb1=0, stolb2=0;
    double stroka1=0, stroka2=0;
    for (i=0;i<3;i++) stolb1+=arrA[i][0]; stolb1/=4;
    for (i=0;i<2;i++) stolb2+=arrB[i][0]; stolb2/=3;
    for (j=0;j<4;j++) stroka1+=arrA[1][j]; stroka1/=3;
    for (j=0;j<3;j++) stroka2+=arrB[1][j]; stroka2/=2;
    cout<< "stolb 1 massiva "<<stolb1<<" stolb 2 massiva "<<stolb2<<endl;
    cout<< "stroka 1 massiva "<<stroka1<<" stroka  2 massiva "<<stroka2<<endl;
}
евгеша
0 / 0 / 0
Регистрация: 15.10.2009
Сообщений: 30
08.11.2009, 13:55  [ТС]     как записать эту программу через функцию main и ее прототип? #13
все равно! fatal error C1010: unexpected end of file while looking for precompiled header directive
RNT
Автор FAQ
 Аватар для RNT
3132 / 352 / 3
Регистрация: 08.08.2009
Сообщений: 1,126
08.11.2009, 13:58     как записать эту программу через функцию main и ее прототип? #14
Цитата Сообщение от евгеша Посмотреть сообщение
все равно! fatal error C1010: unexpected end of file while looking for precompiled header directive
В какой строке ошибка ? Каким компилятором компилируешь ? Я компилирую с MinGW, на нем компилируется нормально
евгеша
0 / 0 / 0
Регистрация: 15.10.2009
Сообщений: 30
08.11.2009, 14:15  [ТС]     как записать эту программу через функцию main и ее прототип? #15
ошибка в самой последней строке!Microsoft Visual C++ 6.0

Добавлено через 15 минут
все пошло! спасибо огромное! можно еще один вопрос??! что это за функция MyPrint! вчем ее смысл!???
RNT
Автор FAQ
 Аватар для RNT
3132 / 352 / 3
Регистрация: 08.08.2009
Сообщений: 1,126
08.11.2009, 14:18     как записать эту программу через функцию main и ее прототип? #16
Цитата Сообщение от евгеша Посмотреть сообщение
все пошло!
А что ты сделал чтобы пошло ?

Цитата Сообщение от евгеша Посмотреть сообщение
что это за функция MyPrint! вчем ее смысл!???
В нее я вынес обработку массивов и вывод на экран.
евгеша
0 / 0 / 0
Регистрация: 15.10.2009
Сообщений: 30
08.11.2009, 14:24  [ТС]     как записать эту программу через функцию main и ее прототип? #17
при создании проекта выберал пустой проект и вставил свой код

Добавлено через 1 минуту
а основные вычисления происходят в не функции?
а можно то что записано через цикл записать в функции!??это вообще реально?

Добавлено через 3 минуты
а можно цикл засунуть в тело функции и в конце программы вызвать эту функцию??если да то как?
RNT
Автор FAQ
 Аватар для RNT
3132 / 352 / 3
Регистрация: 08.08.2009
Сообщений: 1,126
08.11.2009, 14:26     как записать эту программу через функцию main и ее прототип? #18
Цитата Сообщение от евгеша Посмотреть сообщение
а можно цикл засунуть в тело функции и в конце программы вызвать эту функцию??
Какой цикл в какую функцию засунуть ?
евгеша
0 / 0 / 0
Регистрация: 15.10.2009
Сообщений: 30
08.11.2009, 14:29  [ТС]     как записать эту программу через функцию main и ее прототип? #19
ну вот это цыкл
for (i=0;i<3;i++) stolb1+=arrA[i][0]; stolb1/=4;
for (i=0;i<2;i++) stolb2+=arrB[i][0]; stolb2/=3;
for (j=0;j<4;j++) stroka1+=arrA[1][j]; stroka1/=3;
for (j=0;j<3;j++) stroka2+=arrB[1][j]; stroka2/=2;
записать в тело функции, точно так же как ты записал обраотку массивов и вывод на экран!
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
08.11.2009, 14:36     как записать эту программу через функцию main и ее прототип?
Еще ссылки по теме:

Транспонирование - как вызвать функцию из main C++
C++ Как из рекурсии перейти в main (главную функцию)
C++ Как написать эту программу через rand?
Написать функцию "Факториал" и программу, использующую эту функцию для вывода таблицы факториалов C++
Как вызвать функцию из .h в main ? C++

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

Или воспользуйтесь поиском по форуму:
RNT
Автор FAQ
 Аватар для RNT
3132 / 352 / 3
Регистрация: 08.08.2009
Сообщений: 1,126
08.11.2009, 14:36     как записать эту программу через функцию main и ее прототип? #20
Ты имеешь ввиду вынести эти циклы в третью функцию ?

Добавлено через 1 минуту
Цитата Сообщение от евгеша Посмотреть сообщение
ну вот это цыкл
for (i=0;i<3;i++) stolb1+=arrA[i][0]; stolb1/=4;
for (i=0;i<2;i++) stolb2+=arrB[i][0]; stolb2/=3;
for (j=0;j<4;j++) stroka1+=arrA[1][j]; stroka1/=3;
for (j=0;j<3;j++) stroka2+=arrB[1][j]; stroka2/=2;
записать в тело функции, точно так же как ты записал обраотку массивов и вывод на экран!
Эти циклы как раз и являются обработкой массивов.
Yandex
Объявления
08.11.2009, 14:36     как записать эту программу через функцию main и ее прототип?
Ответ Создать тему
Опции темы

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