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

Возврат значения массива в void - C++

Восстановить пароль Регистрация
 
hint1g
0 / 0 / 0
Регистрация: 03.06.2011
Сообщений: 7
03.06.2011, 22:40     Возврат значения массива в void #1
Помогите плз, не могу сделать вывод значения отсортированного массива из функции в void, прога из массива слов ищет слова с нечётным кол-вом символов. Полностью работает, препод попросил выводить массив отсортированный в void'e.
Вот код:
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
#include <vcl.h>
#include <iostream.h>
#include <conio.h>
#include <string.h>
#pragma hdrstop
#include <windows.h>
 
//---------------------------------------------------------------------------
 
#pragma argsused
using namespace std;
void func(char *A)
{char **B;
int n=strlen(A);
int i,k=0,m=0,l;
int t[20];
for (i=0; i<n; i++)
if (A[i]==' ' || A[i]=='.' || A[i]=='\n')
{
t[k]=m;
m=0;
k++;
}
else m++;
 
 
B=new char *[k];
for (i=0; i<k; i++)
{
l=t[i];
B[i]=new char [l];
}
k=0;
for (i=0; i<n; i++)
if (A[i]==' ' || A[i]=='.' || A[i]=='\n')
{
B[k][m]='\0';
m=0;
k++;
}
else {B[k][m]=A[i];m++;}
 
for (i=0; i<k; i++)
if(t[i+1]%2==0)//четное//
 
cout<<"\n"<<B[i];
}
 
int main()
{
SetConsoleCP(1251);
SetConsoleOutputCP(1251);
char A[100];
int i=0;
cout<<"Вариант 18 \n";
cout<<"\n";
cout<<"Введите предложение \n";
while((A[i]=getchar())!='.') i++;
A[i+1]='\0';
cout<<"Слова в которых четное количество букв \n ";
func(A);
getch();
        return 0;
}
Буду очень благодарен!
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
03.06.2011, 22:40     Возврат значения массива в void
Посмотрите здесь:

Возврат значения по ссылке C++
Возврат значения из функции C++
Возврат значения С++ C++
Возврат значения функции C++
C++ Возврат значения из operator=
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
fasked
Эксперт C++
 Аватар для fasked
4924 / 2504 / 180
Регистрация: 07.10.2009
Сообщений: 4,306
Записей в блоге: 1
03.06.2011, 22:50     Возврат значения массива в void #2
Цитата Сообщение от hint1g Посмотреть сообщение
выводить массив отсортированный в void'e.
Что-что, простите?
hint1g
0 / 0 / 0
Регистрация: 03.06.2011
Сообщений: 7
03.06.2011, 23:06  [ТС]     Возврат значения массива в void #3
Нужно конечно значение массива "B" выводить в main'e, не знаю как сделать(
что бы вывод результата был не в функции а в main'e
emilen
10 / 10 / 0
Регистрация: 25.05.2010
Сообщений: 52
03.06.2011, 23:16     Возврат значения массива в void #4
1. Если вы не знаете что делаешь оператор new то лучше им не пользуйтесь, иначе удаляйте выделенную динамическую память (оператором delete). Так как вы новичок то лучше сразу выделяйте достаточно памяти.
2. Возвратите указатель на "B". То есть вместо void напишите char*, а в main можно написать так
C++
1
char* p = func(A);
и дальше уже работать как с обычным массивом.
Yandex
Объявления
03.06.2011, 23:16     Возврат значения массива в void
Ответ Создать тему
Опции темы

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