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

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

Войти
Регистрация
Восстановить пароль
 
Рейтинг: Рейтинг темы: голосов - 33, средняя оценка - 4.88
PaVLLeTTo
14 / 14 / 0
Регистрация: 13.05.2010
Сообщений: 139
#1

void - C++

26.05.2010, 11:52. Просмотров 4802. Ответов 6
Метки нет (Все метки)

Объясните пожалуйста как работает спецификатор тип void в функии когда он употребляется вкачестве имени типа...

Добавлено через 1 минуту
Объясните на примере функции input этого кода:
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
/*Лабараторная работа № 6, Суходольский Павел, №22*/
 
#include <stdio.h>
#include <math.h>
#include <stdlib.h>
 
void input(float arr [], int t);
void output(float arr [], int t);
void koren(float arr1 [],float arr2 [], int t  );
void min(float arr [], int t);
 
int main(void)
{
 
    float a[6], b[7], a1[6], b1[7];
 
        printf("Pervii massiv: A\n");
        input(a, 6);
        printf("Vtoroi massiv: B\n");
        input(b, 7);
 
        koren (a,a1,6);
        koren (b,b1,7);
 
        printf("Pervii massiv posle obrabotki: A1\n");
        output(a1, 6);
        printf("Vtoroi massiv posle obrabotki: B1\n");
        output(b1, 7);
         
        printf("Minimym pervogo massiva: Min1\n");
        min(a1, 6);
        
        printf("Minimym vtorogo massiva: Min2\n");
        min(b1, 7);
 
    return 0;
}
void input(float arr[], int t)
{
        int i;
        for (i=0; i<t; i++)
        scanf("%f", &arr[i]);
}
void koren (float arr1[],float arr2[],int t)
{
        int i;
        for (i=0; i<t; i++)
        {
                if (arr1[i]>0)
                        arr2[i]=sqrt(arr1[i]);
                else arr2[i]=arr1[i];
        }
}
void output (float arr[], int t)
{
        int i;
        for (i=0; i<t; i++)
        printf("%f\n",arr[i]);
}
void  min (float arr[], int t)
{
        int i;float min1=arr[0];
        for(i=0; i<t; i++)
           if(arr[i]<(-(arr[i])))
           min1=arr[i];
                
        else if(arr[i]<min1)
           min1=arr[i];
        printf("%f\n",min1);
}
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
26.05.2010, 11:52
Здравствуйте! Я подобрал для вас темы с ответами на вопрос void (C++):

Дважды вычислить значение выражения, используя функции возвращающие void и не void - C++
Хай!Помогите решить Дважды вычислить значение выражения, используя функции возвращающие void и не void....

Typedef void (WINAPI *GLEND)(void), как вызывать? - C++
импортирую метод GLEND glmethod = (GLEND) GetProcAddress(hModule, &quot;glEnd&quot;); как его теперь коректно вызвать: typedef void...

Что значит void(*f)()=(void(*)()func? - C++
void(*f)()=(void(*)())func; Объясните, пожалуйста, что значит этот код.

delete или new (typeid(void*))(void*) - C++
Доброе время суток. Пишу список. Телом каждого элемента (el) списка является void указатель(body). (предполагается что тело элемента...

Error C2084: функция "void mehanizm:print(void)" уже имеет текст реализации - C++
Добрый день, я столкнулся с проблемой вывода элемента на экран, выбивает: &quot;error C2084: функция &quot;void mehanizm::print(void)&quot; уже имеет...

LNK2019: ссылка на неразрешенный внешний символ "void __cdecl run(void)" (?run@@YAXXZ) в функции _wmain - C++
#include &quot;stdafx.h&quot; #include &quot;iostream&quot; #include &quot;cmath&quot; using namespace std; class A { private : double *x; double...

6
Hell Knight
230 / 60 / 3
Регистрация: 11.03.2010
Сообщений: 290
26.05.2010, 12:09 #2
не совсем вас понял...
вообще void это пустая переменная, которая не имеет значиня.
т. е. функция ничего не возвращает после отработки...
например, для завершения функции можно просто написать
C++
1
return;
0
time2die
51 / 51 / 3
Регистрация: 25.05.2010
Сообщений: 182
26.05.2010, 12:12 #3
читай
1
PaVLLeTTo
14 / 14 / 0
Регистрация: 13.05.2010
Сообщений: 139
26.05.2010, 12:17  [ТС] #4
А я просто вообще напрочь ничего не понимаю я то с программированием познакомился три месяца назад... Мне нужно понять каким макаром она работает в том куске кода...

Добавлено через 2 минуты
time2die, спасибо большое)))
0
time2die
51 / 51 / 3
Регистрация: 25.05.2010
Сообщений: 182
26.05.2010, 12:39 #5
Если совсем туго - почитай Г.Шилдт С++ для начинающих, ОЧЕНЬ понятно всё объясняет
0
PaVLLeTTo
14 / 14 / 0
Регистрация: 13.05.2010
Сообщений: 139
26.05.2010, 13:34  [ТС] #6
Спасибо)) Обязательно посмотрю
0
Day
1158 / 963 / 57
Регистрация: 29.10.2009
Сообщений: 1,385
26.05.2010, 13:37 #7
PaVLLeTTo, void имеет 2 употребления.
1. Пусто, ничего
Так, если объявить функцию f(void), а потом обратиться к ней f(x), транслятор скажет про ошибку, у этой функции нет параметров
Или если объявить "void f2(int a)" и обратиться "k = f2(5)" - тоже будет ошибка или предупреждение,
f2 ничего не возвращает

2. что-то, не знаю пока чего.
C
1
2
3
  int a; double d; void *p;
   p = &a;  // Указывает на int
   p = &d;  // Указывает на double
Т.е. по ходу дела p указывает на объекты разных типов
Или вот есть такая функция void *malloc(int n) - выделение памяти размером n байт
А для чего эта память будет использоваться - malloc не знает.
И програмер пишет
C
1
2
  char *p = (char *) malloc(100);  // на 100 символов
  char *q = (double *) malloc(50*sizeof(double)); // на 50 чисел, значит
0
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
26.05.2010, 13:37
Привет! Вот еще темы с ответами:

не получается передать массив из "void Vvod" в "void CalculatingEstimates" - C++
#include &lt;iostream&gt; #include &lt;conio.h&gt; using namespace std; void CalculatingEstimates(int Pp,Stydent mas); void Vvod(); struct...

в чем разница между void f(int &n) и void f(int &&n) - C++
:help:

Void - C++
Всем привет, форумчане такой к вам вопрос, как передать параметры в такую функцию: int main(void){ ... } И можно ли поменять...

void - C++
#include &lt;cstdlib&gt; #include &lt;iostream&gt; //using namespace std; void main(void) { char alphabet; //33 буквы плюс NULL NULL...


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

Или воспользуйтесь поиском по форуму:
7
Yandex
Объявления
26.05.2010, 13:37
Ответ Создать тему
Опции темы

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