03.06.2011, 22:40. Просмотров 685. Ответов 3
Помогите плз, не могу сделать вывод значения отсортированного массива из функции в 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;
} |
|
Буду очень благодарен!