Форум программистов, компьютерный форум, киберфорум
C++ Builder
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.55/11: Рейтинг темы: голосов - 11, средняя оценка - 4.55
 Аватар для MaDiNa
3 / 3 / 1
Регистрация: 02.04.2012
Сообщений: 107

Структуры данных. Количество звезд в Галактике.

07.04.2012, 12:32. Показов 2109. Ответов 7
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Приблизительное количество звезд разных спектральных классов в Галактике
Спектральный класс| Приблизительная масса (отн.Солнца)| Часть % | Численность
O | 32 | 0.00002 | 55000
F | 1.25 | 2.9 | 12000000000
M | 0.2 | 73.2 | 293000000000
Примечание: не показаны данные для классов: B, A, G, K
Миниатюры
Структуры данных. Количество звезд в Галактике.  
0
IT_Exp
Эксперт
34794 / 4073 / 2104
Регистрация: 17.06.2006
Сообщений: 32,602
Блог
07.04.2012, 12:32
Ответы с готовыми решениями:

Сколько звёзд в галактике "Туманность Андромеды"?
Вообще пишут, что по размеру и форме Наша Галактика похожа на галактику Туманность Андромеды. То есть, иными словами, и количество...

Определить количество планет в матрично-спиральной галактике
1)Ученые вывели формулу для определения количества планет в произвольной матрично-спиральной галактике. В общем виде она записывается как...

Понятие структуры данных. Элементарные структуры данных. Простые структуры данных
Понятие структуры данных. Элементарные структуры данных. Простые структуры данных: методы реализации, особенности в различных языках...

7
 Аватар для Kuzia domovenok
4268 / 3327 / 926
Регистрация: 25.03.2012
Сообщений: 12,536
Записей в блоге: 1
07.04.2012, 16:02
M | 0.2 | 73.2 | 293000000000

ууу.. да это побольше будет, чем ULONG_MAX=4294967295
Тут длинная арифметика нужна, мда.
Поищи в гугле или на форуме класс для длинной арифметики

Хотя, учитывая, что точное значение известно только для первых трёх-четырёх знаков, то можно хранить только мантиссу и порядок
mantissa=293;
poriadok=9;
osnovanie=10;
C++
1
2
3
4
5
6
7
8
9
10
11
//const  osnovanije=2
//const  osnovanije=10
//const  osnovanije=1000000000
const int osnovanije=1<<32;//возможны варианты
struct star{
unsigned int num_mant;
int num_porj;
double part;
double mass;
char spec_class;
};
0
Модератор
Эксперт С++
 Аватар для zss
13773 / 10966 / 6491
Регистрация: 18.12.2011
Сообщений: 29,245
07.04.2012, 16:08
не надо тут никакие ULONG_MAX.
Значения выводятся с точностью всего 3 значащие цифры,
а посему достаточно даже Float.
0
 Аватар для MaDiNa
3 / 3 / 1
Регистрация: 02.04.2012
Сообщений: 107
07.04.2012, 22:17  [ТС]
Цитата Сообщение от zss Посмотреть сообщение
не надо тут никакие ULONG_MAX.
Значения выводятся с точностью всего 3 значащие цифры,
а посему достаточно даже Float.
Спасибо! Но как прикажете создавать алгоритм?
0
 Аватар для Kuzia domovenok
4268 / 3327 / 926
Регистрация: 25.03.2012
Сообщений: 12,536
Записей в блоге: 1
07.04.2012, 22:27
Цитата Сообщение от MaDiNa Посмотреть сообщение
Спасибо! Но как прикажете создавать алгоритм?
Алгоритм чего?
Их нужно складывать , вычитать или что? Если все количества звёзд примерно в диапазоне от 55000 до 300000000000 То следует хранить их отрезав последние три десятичных нуля (или десять двоичных)

от 55 до 300000000
как раз попадает в int от -2147483647 до 2147483647 в моей MSVS
Можно было всего один нуль отрезать, ну да ладно
1
 Аватар для MaDiNa
3 / 3 / 1
Регистрация: 02.04.2012
Сообщений: 107
07.04.2012, 22:39  [ТС]
Цитата Сообщение от Kuzia domovenok Посмотреть сообщение
Алгоритм чего?
Их нужно складывать , вычитать или что? Если все количества звёзд примерно в диапазоне от 55000 до 300000000000 То следует хранить их отрезав последние три десятичных нуля (или десять двоичных)

от 55 до 300000000
как раз попадает в int от -2147483647 до 2147483647 в моей MSVS
Можно было всего один нуль отрезать, ну да ладно
алгоритм всей задачи! Я вообще не поняла что здесь делать? просто создать структуру? а данные в таблице это входные? или как? объясните пожалуйста? Заранее спасибо!
0
 Аватар для Kuzia domovenok
4268 / 3327 / 926
Регистрация: 25.03.2012
Сообщений: 12,536
Записей в блоге: 1
07.04.2012, 23:02
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
50
51
52
const int osnova=1000;//возможны варианты
 
struct star_class{
  unsigned int size;//численность в галактике
  double part;
  double mass;
  char spec_class;
}buffer[10];
 
int bufsize;
 
void print_stars(){
  std::cout<<"Class|Mass(%sun)|Part|size"<<std::endl;
  for (int i=0; i<bufsize; i++){
    std::cout<<buffer[i].spec_class<<"|"<<buffer[i].mass<<"|"<<buffer[bufsize].part
    <<buffer[i].size <<"000"<<std::endl;
  }
}
 
bool from_string(T& t, 
                 const std::string& s, 
                 std::ios_base& (*f)(std::ios_base&))
{
  std::istringstream iss(s);
  return !(iss >> f >> t).fail();
}
 
int main()
{
   bool asking;
   string s;
   bufsize=0;
   
   do{
      std::cout<<"введи класс звёзд:";
      std::cin>>buffer[bufsize].spec_class;
      std::cout<<"введи массу звёзд класса (отн Солнца, float)"<<buffer[bufsize].spec_class;
      std::cin>>buffer[bufsize].mass;
      std::cout<<"введи часть класса(%, float) "<<buffer[bufsize].spec_class;
      std::cin>>buffer[bufsize].part;
      std::cout<<"введи количество звёзд класса "<<buffer[bufsize].spec_class;
      std::cin>>s;
      s.substr (0,s.length()-3);// последние 3 цифры долой
      from_string<int>(buffer[bufsize].size, s, std::dec);
      std::cout<<"продолжать?? (y/n)";
      bufsize++;
      std::cin>>s;
   }while(s=="y");
print_stars();
std::cin>>s;
return 0;
}
1
 Аватар для MaDiNa
3 / 3 / 1
Регистрация: 02.04.2012
Сообщений: 107
07.04.2012, 23:08  [ТС]
Kuzia domovenok, Огромное СПАСИБО!!!!!!!!!! Теперь завтра доделаю)))))))) А то у нас здесь уже глубокая ночь! ОГРОМНЕЙШЕЕ СПАСИБО!
а как переделать код для использования в визульном программировании?
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
BasicMan
Эксперт
29316 / 5623 / 2384
Регистрация: 17.02.2009
Сообщений: 30,364
Блог
07.04.2012, 23:08
Помогаю со студенческими работами здесь

Вывести количество звезд, соответствующее введенным числам
нужно ввести 5 чисел в пределах от 1-30. Например мы ввели 7 то должно вывести на екран 7 звезд '*******' тоесть сначала ввожу 5 чисел...

Определить количество отличников по предмету на курсе с помощью структуры данных – «стек»
Разработать функции для выполнения базовых операций над линейными структурами, содержащими записи со сведениями о студентах: ФИО, возраст,...

Динамические структуры данных: определить количество потомков каждого элемента дерева
определить количество потомков каждого элемента дерева program L5_2; uses Crt; type Tree = ^S; S = record data:...

Динамические структуры данных. Организация данных в списковые структуры
Написать программу вставки нового элемента в список за некоторым заданным по- рядковым номером элементом (вставка осуществляется не в...

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


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

Или воспользуйтесь поиском по форуму:
8
Ответ Создать тему
Новые блоги и статьи
Отправка уведомления на почту при изменении наименования справочника
Maks 24.03.2026
Программная отправка письма электронной почты на примере изменения наименования типового справочника "Склады" в конфигурации БП3. Перед реализацией необходимо выполнить настройку системной учетной. . .
модель ЗдравоСохранения 5. Меньше увольнений- больше дохода!
anaschu 24.03.2026
Теперь система здравосохранения уменьшает количество увольнений. 9TO2GP2bpX4 a42b81fb172ffc12ca589c7898261ccb/ https:/ / rutube. ru/ video/ a42b81fb172ffc12ca589c7898261ccb/ Слева синяя линия -. . .
Midnight Chicago Blues
kumehtar 24.03.2026
Такой Midnight Chicago Blues, знаешь?. . Когда вечерние улицы становятся ночными, а ты не можешь уснуть. Ты идёшь в любимый старый бар, и бармен наливает тебе виски. Ты смотришь на пролетающие. . .
SDL3 для Desktop (MinGW): Вывод текста со шрифтом TTF с помощью библиотеки SDL3_ttf на Си и C++
8Observer8 24.03.2026
Содержание блога Финальные проекты на Си и на C++: finish-text-sdl3-c. zip finish-text-sdl3-cpp. zip
Жизнь в неопределённости
kumehtar 23.03.2026
Жизнь — это постоянное существование в неопределённости. Например, даже если у тебя есть список дел, невозможно дойти до точки, где всё окончательно завершено и больше ничего не осталось. В принципе,. . .
Модель здравоСохранения: работники работают быстрее после её введения.
anaschu 23.03.2026
geJalZw1fLo Корпорация до введения программа здравоохранения имела много невыполненных работниками заданий, после введения программы количество заданий выросло. Но на выплатах по больничным это. . .
Контроль уникальности заводского номера
Maks 23.03.2026
Алгоритм контроля уникальности заводского (или серийного) номера на примере нетипового документа выдачи шин для спецтехники с табличной частью, разработанного в конфигурации КА2. Данные берутся из. . .
Хочу заставить корпорации вкладываться в здоровье сотрудников: делаю мат модель здравосохранения
anaschu 22.03.2026
e7EYtONaj8Y Z4Tv2zpXVVo https:/ / github. com/ shumilovas/ med2. git
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru