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

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

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

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

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

Ответ
 
Опции темы Поиск в этой теме
Старый 04.05.2010, 20:02   #1
Annabel
Пользователь
 
Аватар для Annabel
 
Регистрация: 14.11.2009
Сообщений: 29
Печаль Спорт Лото

У меня опять проблема( нужно, чтобы программа рандомно выбирала числа от 1 до 49 и в отдельной таблице выписывала количество повторений того или иного числа, если кто-то сможет помочь, буду премного благодарна...

вот код выбора чисел:

#include<iostream>
using namespace std;
void tablica(int tab[],int n)
{
for(int i=0; i<n; i++)
cout<<tab[i]<<endl;

}
int main()
{
int n;
int tabl[49];
cout<<"kol-wo"<<endl;
cin>>n;
int tab[n];
srand(time(NULL));
for(int i=0; i<n; i++)
{
tab[i]=rand()%48+1;

}
tablica(tab, n);

system("PAUSE");
return 0;
}
Annabel вне форума Ответить с цитированием
Старый 04.05.2010, 20:42   #2
Vago
Форумчанин
 
Регистрация: 15.01.2010
Сообщений: 948
По умолчанию

Ченстохова... Ну надо же, какой популярный форум стал...

Код:
#include <time.h>             // W M$VC time() bez tego pracować nie będzie
#include<iostream>
using namespace std;

void tablica( int tab[]
//d             ,int n        // Zbędny parametr
             ) {
   for(int i=0; i<49; i++)    // 49, a nie n
      cout << i+1 << " " << tab[i]<<endl;
}


int main() {

   int i, n, nLos;
//d   int tabl[49];           // to w ogóle jest niepotrebnie
   cout<<"kol-wo"<<endl;
   cin >> n;
   int tab[49];                     // 49, a nie n
   for (i=0; i<49; i++)       // Inicjalizacja tablicy jest niezbędna
      tab[i] = 0;
   srand( time(NULL) );
   for (i=0; i<n; i++) {
      nLos = rand() % 49;    // 49, a nie 48
      tab[nLos] += 1;           // Zwiększamy odpowiednią  ilość na 1
   }
   tablica( tab
//d      , n                   
      );

   system("PAUSE");
   
   return 0;

}
Vago вне форума Ответить с цитированием
Старый 04.05.2010, 20:45   #3
Annabel
Пользователь
 
Аватар для Annabel
 
Регистрация: 14.11.2009
Сообщений: 29
По умолчанию

wow, ktoś tu nawet mowi po polsku) jestem mile zaskoczona, dzięki bardzo, spróbuje wg podanej metody)
Annabel вне форума Ответить с цитированием
Старый 04.05.2010, 21:41   #4
Annabel
Пользователь
 
Аватар для Annabel
 
Регистрация: 14.11.2009
Сообщений: 29
Вопрос

ой, я ошиблось, должно выбрать 6 наиболее часто встречающихся=\ пробовала что-то переделать, но я, наверное, совсем не тумтум=\

Последний раз редактировалось Annabel; 04.05.2010 в 21:54.
Annabel вне форума Ответить с цитированием
Старый 04.05.2010, 22:12   #5
Vago
Форумчанин
 
Регистрация: 15.01.2010
Сообщений: 948
По умолчанию

Что делать, если наиболее часто встретившихся (одинаковое количество раз) окажется больше шести? Отпечатать их все или выбрать из них любые шесть? Уточните, пожалуйста.
Vago вне форума Ответить с цитированием
Старый 04.05.2010, 22:18   #6
Annabel
Пользователь
 
Аватар для Annabel
 
Регистрация: 14.11.2009
Сообщений: 29
По умолчанию

Вероятно, только 6, честно говоря, ничего по этому поводу сказано не было, сама голову ломала, но по-моему, это должна быть программа, которая как будто поможет выиграть
Annabel вне форума Ответить с цитированием
Старый 04.05.2010, 22:50   #7
Corrat
Новичок
Джуниор
 
Регистрация: 04.05.2010
Сообщений: 2
По умолчанию

Можно попробовать так

Код:
#include "stdafx.h"
#include <time.h>            
#include<iostream>
using namespace std;

void tablica( int tab[] ) {
   for(int i=0; i<49; i++)   
      cout << i+1 << " " << tab[i]<<endl;
}
int flag=0;

void max(int tab[]){
   int tmp=0,tmpmax=0;
   for(int i=0;i<49;i++)
	   if(tmpmax<tab[i]) {tmpmax=tab[i]; tmp=i+1; }
   cout<<tmp<<" "<<tmpmax<<endl;
   tab[tmp-1]=0;
   flag++;
   if(flag<6) max(tab);	   
}

int main() {

   int i, n, nLos;
   cout<<"kol-wo"<<endl;
   cin >> n;
   int tab[49];                     
   for (i=0; i<49; i++)       
      tab[i] = 0;
   srand( time(NULL) );
   for (i=0; i<n; i++) {
      nLos = rand() % 49;    
      tab[nLos] += 1;           
   }
   tablica(tab);
   cout<<endl<<endl;
  max(tab);
 

   system("PAUSE");
   
   return 0;

}

Последний раз редактировалось Corrat; 04.05.2010 в 22:55.
Corrat вне форума Ответить с цитированием
Ответ


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



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
спорт Neymexa Свободное общение 15 29.04.2010 16:29
Задача "Спорт лото: 6 из 49" Astyr Помощь студентам 4 14.02.2009 20:27