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

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

Войти
Регистрация
Восстановить пароль
 
Julia9311
3 / 3 / 0
Регистрация: 05.11.2011
Сообщений: 190
#1

Как сделать так, чтобы функции были не вложенными? - C++

24.06.2012, 16:51. Просмотров 499. Ответов 8
Метки нет (Все метки)

получается так, что сначала у меня идет функция int main(), потом int sum, и потом int maxx. Они получаются вложенными в int main(). Как сделать, чтобы они были не вложенными?
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
24.06.2012, 16:51     Как сделать так, чтобы функции были не вложенными?
Посмотрите здесь:

Файл: Как сделать так, чтобы числа в файл были прописаны не рандомно? - C++
Здраствуйте, дан код: #include "stdafx.h" #include <iostream> #include <fstream> #include <cstdlib> #include <ctime> ...

Как сделать так, чтобы из функции возвращались различные значения? - C++
Ребят, помогите. Имеется такой код, мне надо,чтобы из функции возвращались различные значения. Как это реализовать? #include...

Как сделать, чтобы числа были разные? - C++
Есть код: #include <iostream> #include <stdlib.h> #include <time.h> using namespace std; int rolldice (void); int...

Как сделать, чтобы при выводе на экран были пробелы - C++
#include <iostream> using namespace std; int main() { int sum = 0, val = 1; while (val <= 10) { sum += val; ++val; ...

Как сделать так чтобы переменная в описании одной функции была доступна в описании другой? - C++
Как сделать так чтобы переменная в описании одной функции была доступна в описании другой? Заранее спасибо.

Как сделать ,чтобы строки двумерного массива были кратные двум? - C++
Как сделать ,чтобы строки двумерного массива были кратные двум?То есть когда я заполняю массив , первая строка заполняется во вторую , а...

Как сделать так,чтобы - C++
Собственно,здрасте. Собственно,я новичок в с++. В общем у меня возник вопрос: Сперва приведу пример,иначе не могу объяснить: int...

После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
Infinity3000
1058 / 577 / 24
Регистрация: 03.12.2009
Сообщений: 1,255
24.06.2012, 16:54     Как сделать так, чтобы функции были не вложенными? #2
Вылажите свой код сюда, хоть взглянуть то на него!! а то я мало представляю как оно там у вас с вашего описания!
Invader_Zim
Twilight Parasite
153 / 149 / 2
Регистрация: 21.07.2011
Сообщений: 907
24.06.2012, 16:55     Как сделать так, чтобы функции были не вложенными? #3
Julia9311, Вне мейна сделай. Фигурные скобни на что тебе дадены?)
Julia9311
3 / 3 / 0
Регистрация: 05.11.2011
Сообщений: 190
24.06.2012, 16:56  [ТС]     Как сделать так, чтобы функции были не вложенными? #4
C++ (Qt)
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
#include "iostream.h"
#include "conio.h"
int main()
{
    int a[10][10];
    int i, j, n=10, m=10, sum=0, max=0, b=n-1, c=1;
    int *p;
    p=new int[n*m];
    cout<<"Vvedite elementi massiva\n";
    for(i=0; i<n; i++)
    {
        for(j=0; j<m; j++)
        {
            cout<<"a["<<i<<"]["<<j<<"]= ";
            cin>>a[i][j];
        }
 
int sum()
{
int s;
for(i=0,j=b;i<c;i++,j++)
s+=a[i][j];
return s;
}
 
int maxx(int s, int max)
{
    return(max<sum)?sum:max;
}
 
while(b)
{
max=maxx(sum(), max);
c++;
--b;
}
Invader_Zim
Twilight Parasite
153 / 149 / 2
Регистрация: 21.07.2011
Сообщений: 907
24.06.2012, 16:58     Как сделать так, чтобы функции были не вложенными? #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
#include "iostream.h"
#include "conio.h"
int main()
{
    int a[10][10];
    int i, j, n=10, m=10, sum=0, max=0, b=n-1, c=1;
    int *p;
    p=new int[n*m];
    cout<<"Vvedite elementi massiva\n";
    for(i=0; i<n; i++)
    {
        for(j=0; j<m; j++)
        {
            cout<<"a["<<i<<"]["<<j<<"]= ";
            cin>>a[i][j];
        }
while(b)
{
max=maxx(sum(), max);
c++;
--b;
}
}
int sum()
{
int s;
for(i=0,j=b;i<c;i++,j++)
s+=a[i][j];
return s;
}
 
int maxx(int s, int max)
{
    return(max<sum)?sum:max;
}
Спасибку тыц)
lamerr
9 / 9 / 1
Регистрация: 05.04.2012
Сообщений: 26
24.06.2012, 16:58     Как сделать так, чтобы функции были не вложенными? #6
C++ (Qt)
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
#include "iostream.h"
#include "conio.h"
int sum()
{
int s;
for(i=0,j=b;i<c;i++,j++)
s+=a[i][j];
return s;
}
 
int maxx(int s, int max)
{
    return(max<sum)?sum:max;
}
 
int main()
{
    int a[10][10];
    int i, j, n=10, m=10, sum=0, max=0, b=n-1, c=1;
    int *p;
    p=new int[n*m];
    cout<<"Vvedite elementi massiva\n";
    for(i=0; i<n; i++)
    {
        for(j=0; j<m; j++)
        {
            cout<<"a["<<i<<"]["<<j<<"]= ";
            cin>>a[i][j];
        }
while(b)
{
max=maxx(sum(), max);
c++;
--b;
}
Julia9311
3 / 3 / 0
Регистрация: 05.11.2011
Сообщений: 190
24.06.2012, 17:12  [ТС]     Как сделать так, чтобы функции были не вложенными? #7
все равно выдает ошибки в обеих программах(

Добавлено через 2 минуты
в обоих случаях одинаковые

C:\Program Files\Microsoft Visual Studio\MyProjects\пробник\пробник.cpp(19) : error C2065: 'maxx' : undeclared identifier
C:\Program Files\Microsoft Visual Studio\MyProjects\пробник\пробник.cpp(19) : error C2064: term does not evaluate to a function
C:\Program Files\Microsoft Visual Studio\MyProjects\пробник\пробник.cpp(25) : error C2373: 'sum' : redefinition; different type modifiers
C:\Program Files\Microsoft Visual Studio\MyProjects\пробник\пробник.cpp(6) : see declaration of 'sum'
C:\Program Files\Microsoft Visual Studio\MyProjects\пробник\пробник.cpp(25) : error C2601: 'sum' : local function definitions are illegal
C:\Program Files\Microsoft Visual Studio\MyProjects\пробник\пробник.cpp(33) : error C2373: 'maxx' : redefinition; different type modifiers
C:\Program Files\Microsoft Visual Studio\MyProjects\пробник\пробник.cpp(33) : error C2601: 'maxx' : local function definitions are illegal
C:\Program Files\Microsoft Visual Studio\MyProjects\пробник\пробник.cpp(37) : fatal error C1004: unexpected end of file found
Error executing cl.exe.
zuq
95 / 95 / 2
Регистрация: 10.04.2011
Сообщений: 256
24.06.2012, 17:19     Как сделать так, чтобы функции были не вложенными? #8
Код ужасен.. Что программа делать должна?
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
#include <iostream>
#include <conio.h>
 
int a[10][10];
int i, j, n=2, m=10, sum=0, max=0, b=n-1, c=1;
 
int sumF(){
    int s(0);
    for(i=0,j=b;i<c;i++,j++)
    s+=a[i][j];
    return s;
}
 
int maxx(int s, int max) {
    return(max<s)?s:max;
}
 
int main() {
    int *p;
    p=new int[n*m];
 
    std::cout<<"Vvedite elementi massiva\n";
 
    for(i=0; i<n; i++) {
        for(j=0; j<m; j++) {
            std::cout<<"a["<<i<<"]["<<j<<"]= ";
            std::cin>>a[i][j];
        }
    }
 
    while(b){
        max=maxx(sumF(), max);
        c++;
        --b;
    }
}
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
24.06.2012, 17:32     Как сделать так, чтобы функции были не вложенными?
Еще ссылки по теме:

Сформировать массив,так чтобы элементы заштрихованной области были равны 1,а остальные 0 - C++
Сформировать массив,так чтобы элементы заштрихованной области были равны 1, а остальные 0.

Определить порядок ремонта станков так, чтобы потери от их простоя были минимальными - C++
Помогите решить. В начале смены мастер обнаружил n неисправных станков. Предварительный их осмотр позволил оценить время ремонта каждого...

Преобразовать строку так, чтобы буквы каждого слова были остортированы по возрастанию - C++
Подскажите идею,как можно преобразовать строку так,чтобы буквы каждого слова были остортированы по возрастанию?

Преобразовать строку так, чтобы все буквы в ней были отсортированы по возрастанию - C++
Задана строка, состоящая из символов. Символы объединяются в слова. Слова друг от друга отделяются одним или несколькими пробелами. В...

Найти максимальную по длине подпоследовательность так, чтобы элементы были в возрастающем порядке - C++
В данном числе m найти максимальную по длине подпоследовательность так,чтобы элементы были в возрастающем порядке.


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

Или воспользуйтесь поиском по форуму:
Julia9311
3 / 3 / 0
Регистрация: 05.11.2011
Сообщений: 190
24.06.2012, 17:32  [ТС]     Как сделать так, чтобы функции были не вложенными? #9
программа должна определять максимум среди сумм элементов диагоналей, параллельных главной диагонали. Сама программа у меня написана и работает, но теперь ее нужно оформить каждый ее пункт в виде функции, что я и пытаюсь здесь сделать.)

программа без функций
C++ (Qt)
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"
#include "conio.h"
int main()
{
    int a[10][10];
    int i, j, n=10, m=10, sum=0, max=0, b=n-1, c=1;//объявление переменных
    //(i-индекс строки, j-столбца, n-кол-во строк, m-столбцов, сумма=0, максимум=0,
    //b=n-1-индекс, с-длина диагонали)
    int *p;
    p=new int[n*m];
    cout<<"Vvedite elementi massiva\n";
    for(i=0; i<n; i++)
    {
        for(j=0; j<m; j++)
        {
            cout<<"a["<<i<<"]["<<j<<"]= ";
            cin>>a[i][j];
        }
 while(b)
    {
        for(i = 0,j = b; i < c; i++, j++)//перемещаемся по диагонали, пока не закончится ее длина
        //(индекс столбца на единицу меньше кол-ва строк, индекс столбца не больше длины диагонали,
        //индексы строки и столбца увеличиваются на 1)
            sum += a[i][j];//сумма элементов диагонали
        if (max < sum)//если сумма больше максимума, то
        {
            max = sum;//максимум равен сумме
        }
       
        sum = 0;//сумма снова равна нулю
        c++;//размер диагонали увеличиваем на 1
        --b;//индекс уменьшаем на 1, пока он не будет равен нулю
    }   
    cout<<"Maximum= "<<max<<endl;
   return sum;//возвращение значения
return 0;
 getch();
}
}
Добавлено через 6 минут
zuq, спасибо) программа пошла
Yandex
Объявления
24.06.2012, 17:32     Как сделать так, чтобы функции были не вложенными?
Ответ Создать тему
Опции темы

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