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

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

Вернуться   Форум программистов > IT форум > Помощь студентам
Регистрация

Восстановить пароль

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

Ответ
 
Опции темы Поиск в этой теме
Старый 10.11.2011, 15:15   #1
Ника_1
Пользователь
 
Регистрация: 18.03.2011
Сообщений: 13
По умолчанию задача на С++

Народ, посмотрите в чём ошибка, не могу разобраться!!! Ничё не выводит и ссылается на if!!! спасибо!




Код:
#include <stdio.h>
#include <math.h>
#include <stdlib.h>
#include <conio.h>
main()
{
const int n = 10;

    int mas[100];
    int max, id_max, i, j;

  {
    for (int i=1;i<n;i++);
        int random(50);
        }




   {
    j = n;

    while (j > 1)
    {
        max = mas[1];
        id_max = 1;
    {
         for (int i=2;i<j;i++);
           {
             if( mas[i] > max) ;
                max = mas[i];
                id_max = i;

        mas[id_max] = mas[j];
        mas[j] = max;
        j = j - 1;
        }
 }

 {
        printf("%d", mas[i]);
        }
          getch();
}
}
}
Ника_1 вне форума Ответить с цитированием
Старый 10.11.2011, 15:30   #2
Abstraction
Старожил
 
Аватар для Abstraction
 
Регистрация: 25.10.2011
Сообщений: 3,178
По умолчанию

Откуда взялась идея ставить ; после for и if? Мне это серьёзно уже очень интересно.
Abstraction вне форума Ответить с цитированием
Старый 10.11.2011, 15:40   #3
Ника_1
Пользователь
 
Регистрация: 18.03.2011
Сообщений: 13
По умолчанию

упс...ага, помогло, спасибо...только вот не сортирует, а должно сортировать по возрастанию... и ещё может подскажите как задать интервал массива рандомом от (50,100)!!!
Ника_1 вне форума Ответить с цитированием
Старый 10.11.2011, 16:28   #4
Abstraction
Старожил
 
Аватар для Abstraction
 
Регистрация: 25.10.2011
Сообщений: 3,178
По умолчанию

Цитата:
ага, помогло, спасибо
Возможно, в качестве встречной любезности Вы всё же поделитесь, откуда взялась идея так писать?
Цитата:
как задать интервал массива рандомом от (50,100)
Получить случайное число от 0 до 50 и прибавить к нему 50.
Цитата:
только вот не сортирует, а должно сортировать по возрастанию...
У Вас хаотично расставлены операторные скобки. Попробуйте дополнить приведённый код комментариями - возможно, так будет понятней, в чём именно Вы заблуждаетесь.
Abstraction вне форума Ответить с цитированием
Старый 10.11.2011, 16:39   #5
Ника_1
Пользователь
 
Регистрация: 18.03.2011
Сообщений: 13
По умолчанию

если честно, то сама не знаю зачем я их ставила...вот только сеня села с конспектом вспоминала, вот так и поставила)


Код:
#include <stdio.h>
#include <math.h>
#include <stdlib.h>
#include <conio.h>
main()
{
const int n = 10;

    int mas[100];
    int max, id_max, i, j;

       {
          for (int i=1;i<n;i++);
          int random(50); // вот здесь не знаю как задать (50,100)
       }

            {
              j = n;
              while (j > 1)

               {
                   max = mas[1];
                   id_max = 1;

                      {
                        for (int i=2;i<j;i++)
                         {
// вот насколько я понимаю, то здесь происходит сортировка массива, может нужно что то дописать, чтобы выводило
Код:
            
   if( mas[i] > max)
                            max = mas[i];
                            id_max = i;
                            mas[id_max] = mas[j];
                            mas[j] = max;
                            j = j - 1;
                         }
                      }

        {
        printf("%d\n", mas[i]);
        }
          getch();

    //for i := 1 to n do
      //  write(arr[i]:4);

                }
            }
}
Ника_1 вне форума Ответить с цитированием
Старый 10.11.2011, 16:43   #6
NetSpace
Участник клуба
 
Аватар для NetSpace
 
Регистрация: 03.06.2009
Сообщений: 1,871
По умолчанию

от 50 до 100:
Код:
random(50)+50;
Программирование - это единственный способ заставить компьютер делать то, что тебе хочется, а не то, что приходится.
NetSpace вне форума Ответить с цитированием
Старый 10.11.2011, 16:49   #7
Ника_1
Пользователь
 
Регистрация: 18.03.2011
Сообщений: 13
По умолчанию

спасибо большое
Ника_1 вне форума Ответить с цитированием
Старый 10.11.2011, 17:34   #8
Son Of Pain
Участник клуба
 
Регистрация: 23.12.2010
Сообщений: 1,129
По умолчанию

Код:
for (int i=1;i<n;i++);
int random(50);
Это какой язык? Точно не C и не C++ )
Son Of Pain вне форума Ответить с цитированием
Старый 10.11.2011, 17:40   #9
Ника_1
Пользователь
 
Регистрация: 18.03.2011
Сообщений: 13
По умолчанию

да знаю я уже...помогите сделать правильно задачу...а то мне капец
Ника_1 вне форума Ответить с цитированием
Ответ


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



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Задача минимизации дисбаланса на линии сборки (задача минимакса) LenZab Microsoft Office Excel 13 13.03.2011 22:51