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

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

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

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

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

Ответ
 
Опции темы Поиск в этой теме
Старый 22.03.2009, 17:09   #1
Alex1991
Форумчанин
 
Аватар для Alex1991
 
Регистрация: 18.10.2008
Сообщений: 166
Вопрос С++.Программа с массивом

Задача:
Пользователь вводит n число (это будет означать сколько всего чисел будет содержать наш масив). Потом нужно сделать генератор рандомных(наугад) чисел и чтобы они ввелись в массив. Потом прога должна найти максимальное число из масива и удалить его, а оставшиеся числа вивести на экран.
Впринципе начать я могу но не знаю как сделать генератор радномных чисел, он должен представляться в виде функции ??
И еще вопрос как правильно сохранять числа введеные пользователем, в масив? И как потом считать эти числа чтобы можно было их сравнять, кто из них больше ??
И самый важный вопрос как его удалить из масива ??!!

Вот мой набросок

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

using namespace std;

int main(int argc, char *argv[])
{
    int mas[100];
    int n;
    cout << "Vvedite n = ";
    cin >> n;
    for (int a=0;a!=n;a++) // цыкл где должны вводится данные из генератора
    {
    ... // как сделать чтобы здесь вводились рандомные числа из генератора ??
    }
    
// И как потом считать эти числа чтобы можно было их сравнять, кто из них больше ??
    
    system("PAUSE");
    return EXIT_SUCCESS;
}

Последний раз редактировалось Alex1991; 22.03.2009 в 17:12.
Alex1991 вне форума Ответить с цитированием
Старый 22.03.2009, 17:52   #2
counter
Участник клуба
 
Регистрация: 18.10.2008
Сообщений: 1,409
По умолчанию

Код:
#include <cstdlib>
#include <iostream>
#include<ctime>
#include<conio.h>

using namespace std;

int max (int *mas,int n)
{
   int max=mas[0];
   int ind=0;
   
   for(int i=1;i<n;i++)
  {
      if(mas[i]>max)
     {
          max=mas[i];
          ind=i;
      }
  }

return ind;
};

int main(int argc, char *argv[])
{
    int mas[100];
    int n;
    cout << "Vvedite n = ";
    cin >> n;

srand(time(NULL));

cout<<"\nmas\n";
for(int i=0;i<n;i++)
{
   mas[i]=-10+rand()%10;
   cout<<mas[i]<<" ";
}

int index=max(mas,n);

n--;
for(int i=index;i<n;i++)
{
    mas[i]=mas[i+1];
}

cout<<"\nmas \n";
for(int i=0;i<n;i++)
{
   cout<<mas[i]<<" ";
}
_getch();
}
counter вне форума Ответить с цитированием
Старый 22.03.2009, 19:45   #3
Alex1991
Форумчанин
 
Аватар для Alex1991
 
Регистрация: 18.10.2008
Сообщений: 166
По умолчанию

Спасибо за прогу, все понял... только не могу понять как удаляется макс число из масива. Не могли бы вы обьяснить пожалуйста...
Alex1991 вне форума Ответить с цитированием
Старый 23.03.2009, 00:13   #4
counter
Участник клуба
 
Регистрация: 18.10.2008
Сообщений: 1,409
По умолчанию

т.к. массив у вас статический то число не удаляется, а на его место записывается следующее и т.д. Таким образом сдвигаются все последующие числа.
counter вне форума Ответить с цитированием
Ответ


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



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Уравнение с массивом KulOle Паскаль, Turbo Pascal, PascalABC.NET 2 14.10.2008 19:18
Проблеммы с массивом Almost_Famous Assembler - Ассемблер (FASM, MASM, WASM, NASM, GoASM, Gas, RosAsm, HLA) и не рекомендуем TASM 4 21.04.2008 21:25
проблема с массивом Lonix Общие вопросы Delphi 2 06.11.2007 23:56
Помогите с массивом Кронос Gamedev - cоздание игр: Unity, OpenGL, DirectX 5 21.08.2007 22:54