Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > IT форум > Помощь студентам
Регистрация

Восстановить пароль

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 30.05.2010, 17:34   #1
Purr
Пользователь
 
Аватар для Purr
 
Регистрация: 18.05.2010
Сообщений: 21
Печаль Функции+массив. С++

Задача:Даны два одномерных динамических массива. Упорядочить их по возрастанию, использую сортировку(я выбрала пузырьковую). Получить из их элементов массив С, упорядоченный по убыванию. Сортировку не использовать. Программа должна содержать 6 функций: ввода массива, ввод элементов массива, сортировку, вывода, обработки(для третьего массива) и главную функцию.:
При этом массив выводить после ввода в него элементов и после сортировки(для первых двух массивов).

Программу написала. Но она не работает. Я не могу найти ошибки:confused :...Прошу помочь

#include <iostream.h>
#include <conio.h>
#include <iomanip.h>


//===== Etap A: Vvod massiva
void vvod(int &M)
{
cout << "Vvedite kol-vo strok v massive" << endl;
cin >> M ;
}

//===== Etap B: Vvod elementov

void mas (float *a, int M)
{ for(int i=0;i<M;i++)
cout << "Vvedite element " << endl;
cin >> a[i];

a=new float [M];
}

//===== Etap C; Sortirovka massivov po vozrastsniy

void vozr (float *a, int M)
{
int t;

for(int i=0;i<M-1;i++)
for(int j=0;j<M-1-i;j++)
if(a[j]>a[j+1])
{
t=a[j];
a[j]=a[j+1];
a[j+1]=t;
}
}

//===== Etap D: Sozdanie massiva C
int born(float *a, float *b, float *c, int M, int N)
{
int i, j, k;
i=j=k=0;
while(i<M && j<N)
if(a[i]>b[j])
{
c[k--]=a[i--];
}
else c[k--]=b[j--];
while(i<M)
c[k--]=a[i--];
while(j<N)
c[k--]=b[j--];
return k;
}

//===== Etap E: Vivod massiva

void vivod (float *a, int M)
{
for (int i=0;i<M;i++)
{
cout << a[i] << ends;
cout<<endl;
}
}
//=================================== ============================

void main()
{
clrscr();
float *x, *b, *c;
int V, N, i, j;

vvod(V);
mas(x, V);
vivod(x, V);
vozr(x,V);
vivod(x, V);

vvod(N);
mas(b, N);
vivod(b, N);
vozr(b,N);
vivod(b, N);


c[V+N]=born(x, b, c, V, N);
vivod(c, V+N);

cout << "Nagmite lubuy klavishy" << endl;

getch();
delete []x;
delete []b;
}
— Марвин, ты спас нам жизнь!
— Кошмар, правда?
(с) The Hitchhiker's Guide to the Galaxy
Purr вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
массив в функции Radser Общие вопросы C/C++ 2 23.01.2010 21:45
Вернуть из функции массив М@лышка Помощь студентам 0 07.01.2010 02:13
С++, массив, функции KOLYTFR Помощь студентам 5 30.05.2009 21:02
С++.Массив и подпрограмма функции SkyDreamer Помощь студентам 0 23.11.2007 20:45