Пятница, 29.03.2024, 11:30
Задачи по информатике
Главная | Регистрация | Вход Приветствую Вас Гость | RSS
[ Новые сообщения · Участники · Правила форума · Поиск · RSS ]
  • Страница 1 из 1
  • 1
Модератор форума: ignorer, KOT_B_MEIIIKE, PASCAL26, atvrider  
Форум » Решение задач по информатике » Задачи по программированию + блок-схемы » решение задачи по сортировке (отсортировать предложенные массивы)
решение задачи по сортировке
1000turДата: Среда, 09.06.2010, 09:34 | Сообщение # 1
Рядовой
Группа: Новичок
Сообщений: 1
[ 0 ]
Статус: Offline
доброго времени суток. помогите пожалуйста мне, дурачку, решить задачу. суть: имеется 5-ти ступенчатый карданный вал и картер к нему. между картером и валом 5 пар вкладышей-верхних и нижних. нужно автоматизировать подбор этих вкладышей, чтобы износ был минимальный (грубо говоря-чтобы в размер зазора между картером и валом идеально вписывался вкладыш). [если по рисунку-чтобы (для 1-й опоры вала) 3 и 4 идеально вписывались в зазор]. верхний и нижний - разные массивы. размеры все вводим с клавы. в с++ или паскале. очень прошу,-выручите. обещаю выучить как сдам. чес слово
ps:для того чтобы было понятно-есть куча вкладышей. как подобрать именно тот, чтобы он идеально подходил куда нужно.размеры брать примерные,исходя из чертежа. мне главное понять сам алгоритм сортировки(вводим все данные и программа выбирает именно тот вкладыш, который подходит в зазор).заранее благодарен
Прикрепления: 7197187.jpg (117.6 Kb)


Сообщение отредактировал 1000tur - Четверг, 10.06.2010, 20:12
 
GrihaIДата: Пятница, 11.06.2010, 22:14 | Сообщение # 2
Генерал-полковник
Группа: Участник
Сообщений: 89
[ 2 ]
Статус: Offline
Вообщем кое-че наваял, будут вопросы стучи в аську
Code
#include <iostream>
#include <fstream>
#include <stdlib.h>
using namespace std;
void error (char *ch)
{
  cout<<ch;
  exit(0);
}

void main()
{
  int i;
  char *mess1="Выход за допуски !\n";
  char *mess2="Диаметр кордана больше постели \n";
  char line[200],*word;
  double neck[5]={0},bed=0,liner[5]={0},axial[3];
  double size_axial,gap[2];
  double temp=0, stemp=0;
  ifstream play ;
  cout<<"Введите максимальное осевое смещение: ";
  cin>> size_axial;
  cout<< "Тепловой зазор мин. и макс.(через пробел)\n";
  cin>> gap[0]>>gap[1];
  cout<<"Введите диаметр \"постели\": ";
  cin>>bed;
  for(i=0;i<5;i++)
  {
   cout<<"Введите диаметр "<<i+1<<" коренной шейки: ";
   cin>>neck[i];
   if(neck [i]>=bed)
    error(mess2);
   cout<<endl;
  }
  for(i=0;i<3;i++)
  {
   cout<<"Введите осевое смещение  "<<i+2<<" коренной шейки: ";
   cin>>axial[i];
   if(axial[i]>size_axial)//проверка осевого биения  
    error(mess1);
   neck[i+1]+=(axial[i]*2);//увеличиваем толщину вала на величину биения  
   if(neck [i]>=bed)//проверка влазит ли в постель  
    error(mess2);
   cout<<endl;
  }
  play.open("C:\Вкладыши.txt");//открываем файл с размерам вкладышей  
  for(i=0;i<5;i++)
  {
   stemp =bed-neck[i];//сколько места осталось для вкладышей и теп зазора
   while(!play.eof())//пока не конец файла  
   {
    play.getline(line,200);//считываем строку  
    word=strtok (line," \t\n");//ищем слово
    while (word!=NULL)//пока не конец
    {
     temp=atoi(word);//переводим строку в число  
     if(((stemp-temp*2)<gap[1])&&((stemp-temp*2)>gap[0]))//проверяем зазор
     {
      if(liner[i]<temp)liner[i]=temp;//если вкладыш тоньше (большой зазор) вставляем толстый
     }
     word=strtok (NULL,"\t\n");//считываем следующее слово
    }
   }
   play.seekg(ios::beg);
   //rewind(play);//перемещаем курсор в начало файла
  }
  cout<<endl;
  for(i=0;i<5;i++)
   cout<< liner [i]<<"\t";
  play.close();
}


Собираю деньги на инв. коляску. С предложениями писать в личку или мыло.
 
Форум » Решение задач по информатике » Задачи по программированию + блок-схемы » решение задачи по сортировке (отсортировать предложенные массивы)
  • Страница 1 из 1
  • 1
Поиск:

Copyright MyCorp © 2024