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

Не могу понять как передать - C++

Восстановить пароль Регистрация
Другие темы раздела
C++ Массив указателей на функцию http://www.cyberforum.ru/cpp-beginners/thread1029571.html
Напишите программу, чтобы она управлялась при помощи меню. Программа должна предлагать пользователю выбор из нескольких команд примерно таким образом: Выберите: 0 Вывести массив оценок 1 Найти минимальную оценку 2 Найти максимальную оценку 3 Вывести среднюю оценку для каждого студента 4 Выйти из программы Существует одно ограничение на использование массивов указателей на функции,...
C++ Объясните функцию? Нужно объяснить и написать вызов функции. Функция связана со строками, но что делает не пойму. int F(char *p){ int n; if (*p=='\0') return 0; if (*p!=' ') n=1; else n=0; for (p++; *p!='\0'; p++) if (p!=' '&&p==' ') n++; http://www.cyberforum.ru/cpp-beginners/thread1029557.html
Можно ли строку получить из другой строки путем вычеркивания некоторых символов? C++
Помогите, пожалуйста, решить задачку. даны две строки st1 и st2 . выяснить, можно ли строку st2 получить из строки st1 путем вычеркивания некоторых символов
Реализовать класс Person (персона) C++
в общем, утопающий студент просит о помощи, потому как сам уже себя не успеет спасти. нужно к понедельнику сдать 5 лабораторных на с++ вот задания: 2.Реализовать класс Person (персона) – инкапсулирует персональные данные о человеке (фамилию, имя, отчество и дату рождения типа Date). Для этого класса реализовать конструктор, позволяющий записать данные в объект и метод вывода персоны на экран....
C++ Выделить нечетные слова во всех предложениях строки http://www.cyberforum.ru/cpp-beginners/thread1029528.html
полностью задача звучит так:ввести текст, состоящий из нескольких предложений. Написать программу, которая определяет в первом предложении количество слов, длина которых меньше заданного k, и выводит эти слова, а также выводит все нечетные слова в каждом предложении. С первой частью задачи проблем не возникло, а вот нечетные слова не знаю как выделить параллельно тем более с сортировкой по...
C++ разработать программу сортировки одномерных массивов 1: создать и отсортировать одномерный массив используя алгоритм сортировки выбором 2: создать и отсортировать одномерный массив используя алгоритм сортировки вставкой 3: создать и отсортировать одномерный массив используя алгоритм сортировки обменом 4: создать и отсортировать одномерный массив используя алгоритм сортировки "пузырь" подробнее

Показать сообщение отдельно
Delacroic
0 / 0 / 0
Регистрация: 04.12.2013
Сообщений: 61
05.12.2013, 15:21  [ТС]     Не могу понять как передать
я написал коментарии с объяснениями
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
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
#include "stdafx.h"
#include <iostream>
#include <Windows.h>
#include <time.h>
#include <ctime>
#include <tchar.h>
#include <conio.h>
#include <sstream>
#include <locale>
#include <string>
#include <dos.h>
using namespace std;
 class groupmachine
 {
     int qq, N, *vr, ssv, *kolvo_det, *sost_stanka;//qq - переменная для счета времени, N - кол-во станков в группе,
 public:                                           //vr - время до конца работы станка, kolvo_det - кол-во деталей обработаных станком
     groupmachine ()                               //sost_stanka - режим работы станка
        {
            cout<<"BBeDuTe BpeM9l Pab0Tld";
            cin>>ssv;
            cout<<"BBeDuTe KoJl-BO CTAHKOB";
            cin>>N;
            sost_stanka=new int [N];
            vr=new int [N];             
            kolvo_det=new int [N];
            for(int i=0;i<N;i++)
                {vr[i]=ssv;kolvo_det[i]=0;sost_stanka[i]=0;}
        }
        int zad(int ossd)   //ossd - очередь перед группой станков
            { 
                        if(kbhit()) 
                            if(getch()==27)
                                {
                                    return 0;
                                }
                        
                            for(int i=0;i<N;i++)
                                {
                                    if((sost_stanka[i]==0)&&(ossd>0)) {sost_stanka[i]=1;}
                                    if((vr[i]>=0)&&(sost_stanka[i]==1))vr[i]--;
                                    if(vr[i]==-1){vr[i]=ssv; kolvo_det[i]++; sost_stanka[i]=0;}
                                    cout<<endl<<"Vrem'a do konca robotu= "<<vr[i]<<endl<<"rejim rabotu - "<<sost_stanka[i]<<endl<<"Kol-vo obrabotanuh detalei = "<<kolvo_det[i]<<endl<<ossd<<endl;
                                return sost_stanka[i];}
            };
 };
 
 void main()
 {
     int qq, *osd, *f;  //qq - переменная для счета времени
     osd=new int [5];   //osd - массив с очередями деталей перед каждой группой станков
     f=new int [4];     //f - создал массив для передачи состояний станков в основную программу
     groupmachine *y=new groupmachine[4];
     time_t tm1;
     tm1 = time (NULL);
     qq=tm1;
     for(int i=0; i<4;i++)
                osd[i]=0;
osd[0]=999999;  // перед первой группой станков очередь бесконечная
     for(;;)
     {system("cls");
 
         for(int i=0;i<4;i++)
         {f[i]=(y+i)->zad(int (osd[i]));  //возвращаемое значение из функции присваиваю элементу массива
         if((f[i]==0)&&(osd[i]>0)) {osd[i+1]++; osd[i]--;}
         }
 
         do
            {
                tm1 = time (NULL);
                if(kbhit()) 
                if(getch()==27)
                    {
                        delete []y;
                        return;
                    }
            }while(qq==tm1);
            qq=tm1;
             
                  
 
     }
 }
Добавлено через 15 минут
Я приблизительно понял суть проблемы, с функции нужно возвращать не отдельный элемент массива, а весь массив целиком, а в основной программе создать массив из указателей на 4 массива, в которые будут передаваться возвращаемые значения с функции.
Так ведь можно сделать?
 
Текущее время: 12:50. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru