• B правой части каждого сообщения есть стрелки и . Не стесняйтесь оценивать ответы. Чтобы автору вопроса закрыть свой тикет, надо выбрать лучший ответ. Просто нажмите значок в правой части сообщения.

Обработки Массивов

  • Автор темы ivan1994
  • Дата начала
I

ivan1994

Код:
[b]каждый этап обработки массивов (ввод, заполнение, вывод, упорядочение и т.п.) оформите в виде отдельной функции.[/b]


вот мая задача. я пытался пастаянно какаято хрень ( В общем случае мне так 4 задачи нужно сделать ну я думаю пайму и остальные всётаки сам).. памагите плиз. :) :please: :please: :please: :please:


C++:
#include <iostream.h>;
#include <windows.h>;
#include <math.h>;

int main()
{
SetConsoleOutputCP(1251);
int N, buf;

cout << " Введите количество элементов массива => "; cin >> N;
int *A = new int[N];
for (int i = 0; i < N; i++){
cout << " A[" << i << "] = ";
cin >> A[i];
}
cout << " Исходный массив { ";
for (int i = 0; i < N; i++){
cout << A[i] << " ";
}
cout << "} " << endl;
for (int i = 0; i < N; i++){
for (int k = 0; k < N - 1; k++){
if (A[k + 1] > A[k]){
buf = A[k + 1];
for (int n = 0; n < N; n++){
A[k + 1] = A[k];
}
A[k] = buf;
}
}
}

cout << " Упорядоченный массив { ";
for (int i = 0; i < N; i++){
cout << A[i] << " ";
}
delete []A;
cout << "}" << endl;
system ( " pause " );
return 0;
}
//---------------------------------------------------------------------------
 
W

Whatka

C++:
/*Честно говоря создать второй динамический массив 
и присваивать ему элементы первого в обратном порядке попроще. Вот прога 
моего варианта:


#include <iostream>;
#include <math.h>;	
using namespace std;


void pris(int*a,int*b,int n)
{
int o=n-1;
for(int k=0;k<n;k++)
{
b[o]=a[k];
o--;
}
}
void main()
{
setlocale(LC_ALL,".1251");
int n,o;
do
{
cout<<"Введите колличество элементов последовательности(не больше 100):";
cin>>n;	
cout<<endl;
}
while((n>100)||(n<0));
o=n-1;
int*a=new int[n];
int*b=new int[n];
for (int i=0;i<n;i++)
{
cout<<"Введите элемент массива:";
cin>>a[i];
}

pris(a,b,n);

cout<<"Элементы отсортированой последовательности: ";
for(int i=0;i<n;i++)
{
cout<<b[i]<<"  ";
}
cout<<endl;

}

Если всё таки твоим способом то код написан далее.
*/


#include <iostream>;
#include <math.h>;	

using namespace std;

void function(int N,int *A)//твоя функция переворота массива.
{ 
int buf;
for (int i=0;i<N;i++)
{
for (int k=0;k<N-1;k++)
{
if (A[k+1]>A[k])
{
buf=A[k+1];
for (int n=0;n<N;n++)
{
A[k+1]=A[k];
}
A[k]=buf;
}
}
}
}






void main()
{
setlocale(LC_ALL,".1251");//я немного подправил код подключения рус яз (так проще). И не надо подключать никаких windows.h ))
int N;

cout << " Введите количество элементов массива => "; 
cin >> N;
int *A = new int[N];
for (int i = 0; i < N; i++)
{
cout << " A[" << i << "] = ";
cin >> A[i];
}
cout << " Исходный массив { ";
for (int i = 0; i < N; i++)
{
cout << A[i] << " ";
}
cout << "} " << endl; //До сюда ты вводишь элементы массива и т.п.
function(N,A);//вызов функции переворота массива
cout << " Упорядоченный массив { ";//Здесь ты их собственно выводишь.
for (int i = 0; i < N; i++)
{
cout << A[i] << " ";
}
delete []A;
cout << "}" << endl;
system ( " pause " );

}


вот всё работает роверял посмотри ещё в моём варианте по другому немного вводятся элементы динамического массива)
 
I

ivan1994

большое спасибо но ты описал тока однуфункцыю по твоему примеру я сделал как надо вот что получилось....
C++:
#include <iostream.h>
#include <math.h>
#include <windows.h>



void function(int N,int *A)
{
int buf;
for (int i=0;i<N;i++)
{
for (int k=0;k<N-1;k++)
{
if (A[k+1]>A[k])
{
buf=A[k+1];
for (int n=0;n<N;n++)
{
A[k+1]=A[k];
}
A[k]=buf;
}
}
}
}



void output (int N,int *A){
for (int i = 0; i < N; i++)
{
cout << A[i] << " ";
}
}



void intput (int N, int *A){
for (int i = 0; i < N; i++)
{
cout << " A[" << i << "] = ";
cin >> A[i];
}
}



void fill (int N, int *A){
for (int i = 0; i < N; i++)
{
cout << A[i] << " ";
}
}



void main()
{
SetConsoleOutputCP(1251);
int N;
cout << " Введите количество элементов массива => ";
cin >> N;
int *A = new int[N];
intput (N,A);
cout << " Исходный массив { ";
output (N,A);
cout << "} " << endl;
function(N,A);//вызов функции переворота массива
cout << " Упорядоченный массив { ";
fill (N,A);
delete []A;
cout << "}" << endl;
system ( " pause " );

}
 
Мы в соцсетях:

Обучение наступательной кибербезопасности в игровой форме. Начать игру!