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

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

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

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

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

Ответ
 
Опции темы Поиск в этой теме
Старый 26.01.2013, 17:09   #1
serjj
 
Регистрация: 26.01.2013
Сообщений: 5
По умолчанию Преобразовать одномерный массив, состоящий из 10 вещественных элементов....

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

Вот нашел исходный код , похожий немного к моему заданию он ниже. но не могу разобраться как его форматнуть для своего задания.
Очень прошу мне помочь решить данную задачу.
Вышлю Подарок)
Код:
#include <stdio.h> 
#include <conio.h> 
int main() 
{ 
clrscr(); 
int i; 
float x[10], max, min; 
/*Ввод элементов массива*/ 
for (i=0;i<10;i++) 
 { 
 printf("x[%d]=",i+1); 
 scanf( "%f",&x); 
 } 
/*Поиск максимального элемента и его номера*/ 
max=x[0]; 
min=x[0]; 
for(i=1;i<10;i++) 
 { 
 if (x>max) max = x; 
 if (x<min)>; 
 } 
 /*замена частным первого элемента массива*/ 
x[0] = max+min; 
/*Вывод элементов массива*/ 
printf("\nmax=%f ",max); 
printf("\nmin=%f \n",min); 
for(i=0;i<10;i++) 
 printf("\nx[%d]=%f ",i+1,x); 
getch(); 
return 0; 
}

Последний раз редактировалось Stilet; 26.01.2013 в 17:53.
serjj вне форума Ответить с цитированием
Старый 26.01.2013, 17:40   #2
Pein95
Форумчанин
 
Регистрация: 25.04.2010
Сообщений: 881
По умолчанию

а просто отсортировать массив нельзя?
Pein95 вне форума Ответить с цитированием
Старый 26.01.2013, 17:44   #3
Perchik71
С++, Delphi
Форумчанин
 
Аватар для Perchik71
 
Регистрация: 24.11.2012
Сообщений: 495
По умолчанию

Вы прочтите... и сразу поймёте... что данное лицо в нашем творчестве 0 и тему нужно в помощь студакам.
Если помог, тут весы есть , Вам не сложно, а мне приятно.
Perchik71 вне форума Ответить с цитированием
Старый 26.01.2013, 19:35   #4
serjj
 
Регистрация: 26.01.2013
Сообщений: 5
По умолчанию

код
Код:
#include<iostream>

int main()
{
int i,j;
float a[ 10],t;
cout<<"Enter 10 numbers: ";
for(int i=0;i< 10;i++)
cin>> a[ i];
for(int i=0;i< 9;i++)
for(int j=0;j<=i;j++)
if(a[j]< a[j+1]){t=a[j];a[j]=a[j+1];a[j+1]=t;}
for(int i=0;i< 10;i++)
cout<< a[ i]<<' ';
cout<< endl;
cin.get();
cin.get();
}

Что то в нем не так =/ , распределяет положительные цыфры слева и отрицательные справа, но в отрицательный цифрах попадаются положительные пример( 1 3 2 4 5 0 -1 -2 6 -3) или ( 1 3 2 4 5 6 -1 -2 0 -3) ноль должен считаться положительным числом.
в чем ошибка ?

Последний раз редактировалось Stilet; 26.01.2013 в 20:23.
serjj вне форума Ответить с цитированием
Старый 26.01.2013, 20:02   #5
BDA
МегаМодератор
СуперМодератор
 
Аватар для BDA
 
Регистрация: 09.11.2010
Сообщений: 7,289
По умолчанию

Оформляйте код кнопочкой #.
Не знаю, какая используется сортировка, поэтому написал ту, какую привык.
Код:
#include <iostream>
using namespace std;
 
#define N 10
 
int
main(){
    int i, j;
    float a[N], t;
    cout << "Enter " << N << " numbers: ";
    for(int i = 0; i < N; ++i)
        cin >> a[i];
    for(int i = 0; i < N - 1; ++i)
        for(int j = i + 1; j < N; ++j)
            if (a[i] < a[j]) {
                t = a[i];
                a[i] = a[j];
                a[j] = t;
            }
    for(int i = 0; i < N; ++i)
        cout << a[i] << ' ';
    cout << endl;
    cin.get();
    cin.get();
}
Пишите язык программирования - это форум программистов, а не экстрасенсов. (<= это подпись )
BDA на форуме Ответить с цитированием
Старый 31.01.2013, 14:43   #6
serjj
 
Регистрация: 26.01.2013
Сообщений: 5
По умолчанию

BDA ОГРОМНОЕ СПАСИБО!


Было задание в борланде -
Преобразовать одномерный массив, состоящий из 10(любых) вещественных элементов, таким образом, чтобы сначала располагались все положительные элементы, а потом - все отрицательные ( элементы, равные 0, считать положительными). Элементы вводить с клавы

Код:
#include <iostream.h>
#define N 10
int
main(){
int i, j;
float a[N], t;
cout << "Enter " << N << " numbers: ";
for(i = 0; i < N; i++)
cin >> a[i];
for(i = 0; i < N - 1; i++)
for(int j = i + 1; j < N; j++)
if (a[i] < a[j]) {
t = a[i];
a[i] = a[j];
a[j] = t;
}
for(i = 0; i < N; ++i)
cout << a[i] << ' ';
cout << endl;
cin.get();
cin.get();
}

Осталось мне написать Алгоритм - все этапы разработки алгоритма и сам алгоритм на языке псевдокода.
вот я настряпал вот такую чтуку незнаю похоже на алгоритм моего задания или нет
Нач
| вывод enter numbers
| |цикл i = 0; i < N; i++
| |ввод a[i]
| |цикл i = 0; i < N - 1; i++)
| |цикл int j = i + 1; j < N; j++
| |если a[i] < a[j])
| |тогда t = a[i];a[i] = a[j];a[j] = t
| |цикл i = 0; i < N; ++i
| |Вывод a[i]
| все
Кон
Кто поможет ?
serjj вне форума Ответить с цитированием
Старый 31.01.2013, 18:55   #7
serjj
 
Регистрация: 26.01.2013
Сообщений: 5
По умолчанию

Вот пытался сделать так как требовалось , гляньте свежим взгялдом пожалуйста и исправите. Поставил вопросы там где не знаю что писать.

I. 1) Известные объекты: n=10, i, j, a[n], t
2) Действия над объектами: арифметические.
3) Найти: массив а[i].

II. 1) Объекты с которыми будет оперировать алгоритм: ?
2) Классификация объектов: ?
– исходные: ?
– искомые: ?
3) Способ задания значений: с клавиатуры

III. Алгоритм – Преобразовывает Массив состоящий из 10 вещественных элементов, распологая положительные элементы слева, а отрицательные элименты справа.
Цел n=10, i, j, a[n], t
Начало
Вывод Enter numbers
Для i = 0; i < N; i++
ввод массива a[i]
для i = 0; i < N - 1; i++
для j = i + 1; j < N; j++
если массив a[i] < массива a[j]
Тогда t = a[i];a[i] = a[j];a[j] = t
для i = 0; i < N; ++i
вывод массива a[i]
все
конец

Код программы (borland c++) отредактирован - рабочий


Код:
#include <iostream.h>
#define N 10
int
main(){
int i, j;
float a[N], t;
cout << "Enter " << N << " numbers: ";
for(i = 0; i < N; i++)
cin >> a[i];
for(i = 0; i < N - 1; i++)
for(j = i + 1; j < N; j++)
if (a[i] < a[j]) {
t = a[i];
a[i] = a[j];
a[j] = t;
}
for(i = 0; i < N; ++i)
cout << a[i] << ' ';
cout << endl;
}
serjj вне форума Ответить с цитированием
Старый 31.01.2013, 18:57   #8
Perchik71
С++, Delphi
Форумчанин
 
Аватар для Perchik71
 
Регистрация: 24.11.2012
Сообщений: 495
По умолчанию

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

сортировка?
Если помог, тут весы есть , Вам не сложно, а мне приятно.
Perchik71 вне форума Ответить с цитированием
Старый 31.01.2013, 19:07   #9
Perchik71
С++, Delphi
Форумчанин
 
Аватар для Perchik71
 
Регистрация: 24.11.2012
Сообщений: 495
По умолчанию

#include <iostream.h>

#define N 10

float a[N];

bool sort(float a, float b)
{
return(a > b); //можешь поиграть с операторами и посмотришь всякие вариации.
}

// студенческий метод... называется сортировка пузыркём.
void bubble(void)
{
float t;
for(register int a=1; a<N; ++a)
for(register int b=N - 1; b >= a; --b)
{
if(sort(a[b - 1], a[b]))
{
t = a[b-1];
a[b-1]=a[b];
a[b]=t;
}
}
}

int main()
{
cout << "Enter " << N << " numbers: ";
for(int i = 0; i < N; i++) cin >> a[i];
bubble();
for(i = 0; i < N; ++i) cout << a[i] << ' ';
cout << endl;
}
Если помог, тут весы есть , Вам не сложно, а мне приятно.
Perchik71 вне форума Ответить с цитированием
Старый 31.01.2013, 19:11   #10
serjj
 
Регистрация: 26.01.2013
Сообщений: 5
По умолчанию

Спасибо конечно, Но мне только оформить Алгоритм написав его на языке Псевдокода

Что вроде етого
Алгоритм на языке псевдокода.
Нач
| ввод вещ x,a,k
| если х не равно 1 и х >0
| | тогда
| | | у=sqrt(4.28*x*x)* pow(cos(pow (Exp(1/4),3)),2)*(2.3-
-abs(a*x))/(pow(log(x),k))
| | | Вывод у
| | иначе
| | | вывод «Функция не может быть вычислена»
| все
Кон
serjj вне форума Ответить с цитированием
Ответ


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



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Преобразовать одномерный массив S из 15 элементов в двумерный - G(5x3) по столбцам Daniello Помощь студентам 0 27.05.2012 14:45
1)Дан одномерный массив В,состоящий из 2n элементов.Переставить его элементы по следующему правилу b[1],b[n+1],b[2],b[n+2],.....b[ Vinam* Паскаль, Turbo Pascal, PascalABC.NET 4 24.12.2011 16:39
Сформировать одномерный массив целых чисел М2, состоящий из некратными числу N четным элементам массива М Izymka Помощь студентам 12 30.05.2010 02:10
Программа запрашивает имя файла и формирует массив, состоящий из сумм каждых трех вещественных компонент brother-bear Помощь студентам 0 26.04.2010 19:09
Ввести одномерный массив, состоящий из 10 элементов zergon Помощь студентам 3 24.12.2009 21:34