|
Компьютерный форум OSzone.net » Программирование, базы данных и автоматизация действий » Программирование и базы данных » *Example* | Помогите по C++ (Массивы) |
|
*Example* | Помогите по C++ (Массивы)
|
Tier9
Сообщения: n/a |
В массиве х(х1, х2...xn) найти максимальный элемент и поделить его на все остальные элементы?
Алглоритм простой, я не знаю как написат программный код на С++ |
|
Отправлено: 02:21, 09-03-2005 |
Ветеран Сообщения: 1404
|
Профиль | Отправить PM | Цитировать #define N 12 #include <stdio.h> void precise_division(int first,int second,int precision); void main(void){ int x[N]={1,2,3,34,4,5,6,7,8,9,10,11}; //double b[N]; int i=0; int result=x[i]; for(i++; i<N;i++) if(x[i]>result) result=x[i];printf("Maximum: %d\n",result); if(result !=0){ for (i=0; i<N;i++) //b[i]=(double)x[i]/(double)result; precise_division(x[i],result,20); } } void precise_division(int first,int second,int k){ int c=0; int ost; int tmp; int cnt=0; int t=0; tmp=first; if(first>=second) while (first>=second) { first-=second; c++; } else if (first<second) c=0; if(first==0) printf ("first/second = %d\n",c); else { first=tmp; printf ("first/second = %d,",c); ost=first%second; while(cnt<k) { if( ost<second) { if (t>=1) { printf ("0"); cnt++; } t++; ost*=10; } else { printf("%d",ost/second); ost%=second; cnt++; t=0; } } } printf ("\n"); } |
Последний раз редактировалось mrcnn, 09-03-2005 в 03:39. Отправлено: 03:31, 09-03-2005 | #2 |
Для отключения данного рекламного блока вам необходимо зарегистрироваться или войти с учетной записью социальной сети. Если же вы забыли свой пароль на форуме, то воспользуйтесь данной ссылкой для восстановления пароля. |
Ветеран Сообщения: 1180
|
Профиль | Отправить PM | Цитировать Я бы посоветовал воспользоваться алгоритмами (писанины меньше и понятней)
#include <stdexcept> #include <algorithm> #include <iostream> #include <iomanip> #include <vector> using namespace std; // must be declared class doSmth_divMax { double max; public: doSmth_divMax(const double& d) : max(d) { } void operator()(double& d) const { d = max/d; } }; void doSmth(vector<double>& vd) { vector<double>::iterator imax = max_element(vd.begin(), vd.end()); if (vd.end()!=imax) { for_each(vd.begin(), vd.end(), doSmth_divMax(*imax)); return; } throw logic_error("there is no maximum here"); } Цитата:
|
|
Отправлено: 11:08, 09-03-2005 | #3 |
Tier9
Сообщения: n/a |
Спасибо всем!!!
|
Отправлено: 09:57, 11-03-2005 | #4 |
Участник сейчас на форуме | Участник вне форума | Автор темы | Сообщение прикреплено |
| |||||
Название темы | Автор | Информация о форуме | Ответов | Последнее сообщение | |
C/C++ - Массивы | SS3 | Программирование и базы данных | 3 | 29-04-2009 21:47 | |
MySQL массивы | XCodeR | Вебмастеру | 5 | 28-08-2005 11:42 | |
Массивы в С++ | Guest | Программирование и базы данных | 2 | 27-09-2004 10:12 | |
Массивы в ПХП | PhoeniX BoG | Вебмастеру | 4 | 09-04-2004 19:12 | |
C++ и массивы ? | IG | Программирование и базы данных | 9 | 09-06-2003 09:33 |
|