Форум программистов, компьютерный форум CyberForum.ru

Алгоритм на языке псевдокода (Преобразовать одномерный массив) - C++

Восстановить пароль Регистрация
 
Serjj
0 / 0 / 0
Регистрация: 26.01.2013
Сообщений: 6
31.01.2013, 13:16     Алгоритм на языке псевдокода (Преобразовать одномерный массив) #1
Было задание в борланде -
Преобразовать одномерный массив, состоящий из 10(любых) вещественных элементов, таким образом, чтобы сначала располагались все положительные элементы, а потом - все отрицательные ( элементы, равные 0, считать положительными).

код готовой проги
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
#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();
}
Осталось написать Алгоритм - все этапы разработки алгоритма и сам алгоритм на языке псевдокода.
Кто поможет ?
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
Dr.Urban
63 / 58 / 7
Регистрация: 14.12.2011
Сообщений: 193
31.01.2013, 13:26     Алгоритм на языке псевдокода (Преобразовать одномерный массив) #2
чуть попроще:
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
float arr[10] = {-3,-4,-6,1,-7,2,3,4,5,6};
    float out[10] = {0};
 
    int b = 0, e = 9;  // b - bedin , e - end
 
    for(int i = 0 ; i < 10 ; ++i)
    {
        if(arr[i] >= 0)
        {
            out[b++] = arr[i];
        }
        else
        {
            out[e--] = arr[i];
        }
    }
Serjj
0 / 0 / 0
Регистрация: 26.01.2013
Сообщений: 6
31.01.2013, 14:22  [ТС]     Алгоритм на языке псевдокода (Преобразовать одномерный массив) #3
вводить с клавиатуры надо было))
Dr.Urban
63 / 58 / 7
Регистрация: 14.12.2011
Сообщений: 193
31.01.2013, 14:35     Алгоритм на языке псевдокода (Преобразовать одномерный массив) #4
Не слышал об алгоритмах которые зависят от ввода\вывода.
Serjj
0 / 0 / 0
Регистрация: 26.01.2013
Сообщений: 6
31.01.2013, 14:37  [ТС]     Алгоритм на языке псевдокода (Преобразовать одномерный массив) #5
Нач
| вывод 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]
| все
Кон
вот чето нафигачил похоже на алгоритм моей проги ?)
Dr.Urban
63 / 58 / 7
Регистрация: 14.12.2011
Сообщений: 193
31.01.2013, 14:41     Алгоритм на языке псевдокода (Преобразовать одномерный массив) #6
Похоже, но вы реализовали сортировку пузырьком. Для решения можно использовать но сложность вашего алгоритма побольше..Если вас такое устраивает - тогда вперед.
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
31.01.2013, 18:53     Алгоритм на языке псевдокода (Преобразовать одномерный массив)
Еще ссылки по теме:

C++ Преобразовать одномерный массив в двумерный
Преобразовать одномерный массив C++
Одномерный массив, преобразовать согласно условия C++

Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
Serjj
0 / 0 / 0
Регистрация: 26.01.2013
Сообщений: 6
31.01.2013, 18:53  [ТС]     Алгоритм на языке псевдокода (Преобразовать одномерный массив) #7
Вот пытался сделать так как требовалось , гляньте свежим взгялдом пожалуйста и исправите. Поставил вопросы там где не знаю что писать.

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;
}
Yandex
Объявления
31.01.2013, 18:53     Алгоритм на языке псевдокода (Преобразовать одномерный массив)
Ответ Создать тему
Опции темы

Текущее время: 13:41. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru