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

Сформировать случайным образом масив из 20 элементов - C++

Войти
Регистрация
Восстановить пароль
Другие темы раздела
C++ Перебор всех возможных подмножеств множества целых чисел http://www.cyberforum.ru/cpp-beginners/thread29513.html
Всем привет)))) Пожалуйста, помогите решить задачку!!!!! Очень нужно, срочно!!! Программа перебора всех возможных подмножеств множества целых чисел,т.е. если с клавиатуры вводим, например 3, то на...
C++ Определить произведение элементов боковой диагонали матрицы, какие меньшие 9 В квадратном массиве записаны целые числа. Определить произведение элементов боковой диагонали, какие меньшие 9. Добавлено через 8 минут 47 секунд И ище одна задача. Пожалуста помогите на завтра... http://www.cyberforum.ru/cpp-beginners/thread29503.html
выбивает прогу при пробелах C++
прога простая - прочитать строку, записать ее в массив, распечатать ее: char str; cin>>str; cout<<str; если вводить строку без пробелов, все отлично. а вот если ввести строку типа - asdf...
C++ Как сделать прокрутку (в текстовом режиме) и менюшку в turbo c
(Turbo c)Если прогамма выводит на экран большое кол-во информации, то некоторая её часть становится недоступной, как же сделать прокрутку экрана? И ещё если может кто-то делал менюшку просьба...
C++ Для чего нужны callback-функции http://www.cyberforum.ru/cpp-beginners/thread29497.html
Для чего нужны callback-функции? И можно привести какой-нибуль пример по их использованию.
C++ Не понял в С++ зачем нужны ссылки в функциях и Перегрузку конструктора! Мож кто разьяснит в этих темам что и для чего они нужны!обяз с примерами! подробнее

Показать сообщение отдельно
Андрій
0 / 0 / 0
Регистрация: 10.04.2009
Сообщений: 9
14.04.2009, 00:40  [ТС]
Цитата Сообщение от supernova Посмотреть сообщение
Андрій, у меня вот компилятора под рукой нет
поэтому могу сказать только что тебе можно сделать вот что
после того как массив сформирован разделить его на отрицательну и положительную части
сначала отрицательная потом положительная
для обмена местами членов массива нужно использовать функцию типа swap
и еще нужно объявить переменную-метку (как-бэ)) которая будет меткой на текущий последний отрицательный элемент чтобы знать куда вставлять следующий
дальше у тебя уже есть номер последнего отрицательного элемента (в переменной-метке)
следующий шаг - цикл в котором ты упорядочиваешь сначала в порядке возрастания мдуля (до метки) а потом в порядке убывания (после метки)
получается что отрицательные упорядочены в порядке возрастания модуля а положительные - в порядке убывания
это первое что приходит в глову
конечно возможны и другие варианты
может они даже более эффективные получатся
и извиняюсь если что не понятно
потому как компилятора нету
вот..


массив сформировал разделил его на отрицательну и положительную части,

как делать дальше??

исправленое:
код:
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
#include <cstdlib>
#include <iostream>
#include <stdlib.h>
#include <stdio.h>
#include <math.h>
 
using namespace std;
 
int main(int argc, char *argv[])
{
    srand(1);
    
    int i;
    
    int masiv[20];
    int m1[20];
    int temp;
    for (unsigned char i=0;i<20;i++)
    {
        masiv[i] =rand()/2-rand();
        cout<<masiv[i]<<" "<<'\n';
        }
        
    cout<<'\n'<<'\n'<<'\n'<<'\n'<<"Yporadkovanuy: "<<'\n'<<'\n'<<'\n';
    int j;
    int min = masiv[0];
    int rang[20];
//   for (i=0; i<19; i++);
//    {
 //   if(masiv[i]<0 && masiv[i+1]<0 )
   //  {  
     for ( j=0;j<20;j++)  
       {
      for (unsigned char i=0;i<20;i++) 
      {    
       if (masiv[i]>0)
       
           {
            temp = masiv[i];
            masiv[i] = masiv[j];
            masiv[j] = temp;
            }
           }
          }
          for (unsigned char j=0;j<20;j++)
          cout<< masiv[j]<<'\n';
    system("PAUSE");
    return EXIT_SUCCESS;
}


дайте идею, плиз!
0
 
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru