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

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

Вернуться   Форум программистов > C/C++ программирование > Общие вопросы C/C++
Регистрация

Восстановить пароль
Повторная активизация e-mail

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

Ответ
 
Опции темы Поиск в этой теме
Старый 28.11.2009, 10:39   #11
ROD
Linux C++ Qt ARM
Старожил
 
Аватар для ROD
 
Регистрация: 30.11.2008
Сообщений: 3,030
По умолчанию

Этот кусок кода только сортирует его по возрастанию, он ничего не выводит.

Посмотрите мой пост, там ниже алгоритм вывода на экран.
Дилетант широкого профиля.

"Слова ничего не стоят - покажите мне код!" © Линус Торвальдс
ROD вне форума Ответить с цитированием
Старый 28.11.2009, 16:08   #12
LuBuMaster
Пользователь
 
Регистрация: 30.10.2009
Сообщений: 56
По умолчанию

ааа всё спасибо!) очень благодарен за помощь!)
LuBuMaster вне форума Ответить с цитированием
Старый 28.11.2009, 16:16   #13
LuBuMaster
Пользователь
 
Регистрация: 30.10.2009
Сообщений: 56
По умолчанию

// 5626326.cpp : Defines the entry point for the console application.
//

Код:
#include <stdafx.h>
#include <conio.h> 
#include <math.h>
#include <iostream>

using namespace std;
int main()
{
	float a[100];
	float min=0,summ=0,bufer;
	int n,i,k=0,q,w; 
	int num_of_min=0;//k-кол-во отриц элементов
	printf("Enter n ");
	cin>>n;
	for (i=0;i<n;i++)
	{
		cout<<"a ["<<i<<"] ";
		cin>>a[i];
		cout<<endl;
	}
	min=a[0];

	for (i=0;i<n;i++)
	{ 	 
		if(a[i]<0) //количество отрицательных элементов массива;
		{
			k++;
		}

		if(fabs(a[i])<fabs(a[num_of_min])) //находим номер минимального по модулю элемента.
		{
			num_of_min=i;
		}
	}

	for(i=0;i<n;i++)
	{
		for(i=num_of_min+1;i<n;i++) //сумму модулей элементов массива, расположенных после минимального по модулю элемента.
		{
			summ+=abs(a[i]);
		}
	}
	for(i=0;i<n;i++)
{
   if(a[i]<0)
   {
      a[i]=a[i]*a[i];//Заменить все отрицательные элементы массива их квадратами
   }
}
	
	for(q=0;q<n;q++)
	{
		for(w=0;w<n;w++)
		{
			if(abs(a[i])<abs(a[i+1]))
			{
				bufer=a[i];
				a[i]=a[i+1];
				a[i+1]=bufer;
			}
		}
	  for(i=0;i<n;i++)
{

   cout<<a[i]<<" ";

}
     cout<<endl;
	}


	
	cout<<"Kol-vo otricatelnich elementov= "<<k<<endl;
	cout<<"Summa modulei massiva posle min po moduly el= "<<summ<<endl;

cout<<endl;
	_getch();
	return 0;
}


вот так вот ? тут проблема он выводит их стоко раз скоко элементов массива а мне надо что бы он только один раз строчку выводил(( и он не сортирует а просто выводит все лементы массива в том порядке в котором они были записаны

Последний раз редактировалось Sazary; 28.11.2009 в 21:42.
LuBuMaster вне форума Ответить с цитированием
Старый 28.11.2009, 17:13   #14
ROD
Linux C++ Qt ARM
Старожил
 
Аватар для ROD
 
Регистрация: 30.11.2008
Сообщений: 3,030
По умолчанию

Замечание по поводу кучи строк:
Вы массив для печати поставили внутри массива для сортировки, а он должен идти после.

Код:
for(q=0;q<(n-1);q++)
{
for(w=0;w<(n-1);w++)
{
if(abs(a[w])<abs(a[w+1]))
{
bufer=a[w];
a[w]=a[w+1];
a[w+1]=bufer;
}
}
}//вот эту скобочку я переставил сюда...

for(i=0;i<n;i++)
{

cout<<a[i]<<" ";

}
cout<<endl;
//вот от сюда я ее переставил.
Дилетант широкого профиля.

"Слова ничего не стоят - покажите мне код!" © Линус Торвальдс

Последний раз редактировалось ROD; 28.11.2009 в 19:50.
ROD вне форума Ответить с цитированием
Старый 28.11.2009, 17:17   #15
LuBuMaster
Пользователь
 
Регистрация: 30.10.2009
Сообщений: 56
По умолчанию

Код:
#include <stdafx.h>
#include <conio.h> 
#include <math.h>
#include <iostream>

using namespace std;
int main()
{
	float a[100];
	float min=0,summ=0,bufer;
	int n,i,k=0,q,w; 
	int num_of_min=0;//k-кол-во отриц элементов
	printf("Enter n ");
	cin>>n;
	for (i=0;i<n;i++)
	{
		cout<<"a ["<<i<<"] ";
		cin>>a[i];
		cout<<endl;
	}
	min=a[0];

	for (i=0;i<n;i++)
	{ 	 
		if(a[i]<0) //количество отрицательных элементов массива;
		{
			k++;
		}

		if(fabs(a[i])<fabs(a[num_of_min])) //находим номер минимального по модулю элемента.
		{
			num_of_min=i;
		}
	}

	for(i=0;i<n;i++)
	{
		for(i=num_of_min+1;i<n;i++) //сумму модулей элементов массива, расположенных после минимального по модулю элемента.
		{
			summ+=abs(a[i]);
		}
	}
	for(i=0;i<n;i++)
{
   if(a[i]<0)
   {
      a[i]=a[i]*a[i];//Заменить все отрицательные элементы массива их квадратами
   }
}
	
	for(q=0;q<n;q++)
	{
		for(w=0;w<n;w++)
		{
			if(abs(a[i])<abs(a[i+1]))
			{
				bufer=a[i];
				a[i]=a[i+1];
				a[i+1]=bufer;
			}
		}
	} 
	

for(i=0;i<n;i++)
{

cout<<a[i]<<" ";

}
cout<<endl;
	



	
	cout<<"Kol-vo otricatelnich elementov= "<<k<<endl;
	cout<<"Summa modulei massiva posle min po moduly el= "<<summ<<endl;

	_getch();
	return 0;
}
вот такой код тогда получается, но он просто выводит элементы массива в том порядке в котором я их задал а не по возрастанию(((

Модератор: тег CODE

Последний раз редактировалось Sazary; 28.11.2009 в 21:42.
LuBuMaster вне форума Ответить с цитированием
Старый 28.11.2009, 19:51   #16
ROD
Linux C++ Qt ARM
Старожил
 
Аватар для ROD
 
Регистрация: 30.11.2008
Сообщений: 3,030
По умолчанию

У вас кое-что не так. Я в предыдущем своем посте жирным выделил.
Дилетант широкого профиля.

"Слова ничего не стоят - покажите мне код!" © Линус Торвальдс
ROD вне форума Ответить с цитированием
Старый 28.11.2009, 22:25   #17
LuBuMaster
Пользователь
 
Регистрация: 30.10.2009
Сообщений: 56
По умолчанию

исправил и он выводит
видимо что-то неправельно((
Изображения
Тип файла: bmp Безымянный.bmp (847.2 Кб, 112 просмотров)
LuBuMaster вне форума Ответить с цитированием
Старый 29.11.2009, 12:06   #18
ROD
Linux C++ Qt ARM
Старожил
 
Аватар для ROD
 
Регистрация: 30.11.2008
Сообщений: 3,030
По умолчанию

а еще гляньте повнимательней условие в цикле. особенно то, что по середине.
Дилетант широкого профиля.

"Слова ничего не стоят - покажите мне код!" © Линус Торвальдс
ROD вне форума Ответить с цитированием
Старый 29.11.2009, 21:47   #19
LuBuMaster
Пользователь
 
Регистрация: 30.10.2009
Сообщений: 56
По умолчанию

непонял....

Код:
#include <stdafx.h>
#include <conio.h> 
#include <math.h>
#include <iostream>

using namespace std;
int main()
{
	float a[100];
	float min=0,summ=0,bufer;
	int n,i,k=0,q,w; 
	int num_of_min=0;//k-кол-во отриц элементов
	printf("Enter n ");
	cin>>n;
	for (i=0;i<n;i++)
	{
		cout<<"a ["<<i<<"] ";
		cin>>a[i];
		cout<<endl;
	}
	min=a[0];

	for (i=0;i<n;i++)
	{ 	 
		if(a[i]<0) //количество отрицательных элементов массива;
		{
			k++;
		}

		if(fabs(a[i])<fabs(a[num_of_min])) //находим номер минимального по модулю элемента.
		{
			num_of_min=i;
		}
	}

	for(i=0;i<n;i++)
	{
		for(i=num_of_min+1;i<n;i++) //сумму модулей элементов массива, расположенных после минимального по модулю элемента.
		{
			summ+=abs(a[i]);
		}
	}
	for(i=0;i<n;i++)
{
   if(a[i]<0)
   {
      a[i]=a[i]*a[i];//Заменить все отрицательные элементы массива их квадратами
   }
}
	
	for(q=0;q<n;q++)
	{
		for(w=0;w<n;w++)
		{
			if(abs(a[w])<abs(a[w+1]))
			{
				bufer=a[w];
				a[w]=a[w+1];
				a[w+1]=bufer;
			}
		}
	} 
	

for(i=0;i<n;i++)
{

cout<<a[i]<<" ";

}
cout<<endl;
	



	
	cout<<"Kol-vo otricatelnich elementov= "<<k<<endl;
	cout<<"Summa modulei massiva posle min po moduly el= "<<summ<<endl;

	_getch();
	return 0;
}
что тут ещё надо сделать?
Изображения
Тип файла: bmp Безымянный.bmp (847.2 Кб, 111 просмотров)

Последний раз редактировалось Sazary; 30.11.2009 в 16:41.
LuBuMaster вне форума Ответить с цитированием
Старый 29.11.2009, 23:04   #20
ROD
Linux C++ Qt ARM
Старожил
 
Аватар для ROD
 
Регистрация: 30.11.2008
Сообщений: 3,030
По умолчанию

Код:
for(q=0;q<(n-1);q++)
{
for(w=0;w<(n-1);w++)
{
if(abs(a[w])<abs(a[w+1]))
{
bufer=a[w];
a[w]=a[w+1];
a[w+1]=bufer;
}
}
}

for(i=0;i<n;i++)
{

cout<<a[i]<<" ";

}
cout<<endl;
Дилетант широкого профиля.

"Слова ничего не стоят - покажите мне код!" © Линус Торвальдс
ROD вне форума Ответить с цитированием
Ответ


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



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Двумерный массив, одномерный массив. Branbal Помощь студентам 14 18.11.2009 12:40
Массив Skrip Общие вопросы Delphi 3 15.10.2009 14:03
Массив Paul Oakenfold Паскаль, Turbo Pascal, PascalABC.NET 1 24.04.2009 19:31
Массив Walter Помощь студентам 3 02.01.2009 17:21
Упорядочить массив в порядке возрастания и напечатать входной и исходный массив. TheVenny Помощь студентам 3 26.11.2008 15:06