|
|
Регистрация Восстановить пароль |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
|
Опции темы | Поиск в этой теме |
29.11.2010, 21:58 | #1 |
Регистрация: 27.11.2010
Сообщений: 4
|
Одномерный массив
Добрый день. Решаю две задачки уже второй день и не могу разобраться, что не так...Вроде несложно, но не получается!
В одномерном целочисленном массиве (размер массива (не больше 20) и значения его элементов вводить с клавиатуры) вычислить сумму модулей элементов массива, расположенных после минимального по модулю элемента. Программа: #include <conio.h> #include <stdio.h> #include <math.h> void main() { int a[20],n,number, i,min, s=0; puts ("\n\t Enter number of elements"); scanf("%d",&n); puts ("\n\t Enter elements"); for(i = 0; i < n; i++) scanf("%4d",&a[i]); puts ("\n\t Massive"); for(i = 0; i < n ; i++) printf("%4d", a[i]); number=0; min=a[0]; for (i = 1; i < n; i++) if (fabs(a[i]<min) number = i min=a[i]; } {for ( i = number+1; i < n; i++) s+=a[i]; printf("\n Sum of elements after minimal module is \n%4d",s);} getch(); } Программа2: #include <conio.h> #include <stdio.h> #include <math.h> void main() { double a,b,x,h,r,y,s,mod; int n,k; puts("Enter a,b,h,n"); scanf("%lf%lf%lf%d",&a,&b,&h,&n); for(x=a;x<=b;x+=h) { r=s=1; y=(exp(x)+ exp(-x))/2; for(k=1;k<=n;k++) { r= r*pow(x,2)/(2*k); s+=r; mod=fabs(y-s); } printf("\n x=%8.2lf sum=%8.8lf y=%8.8lf mod=%8.8lf",x,s,y,mod); } puts("\n Press any key..."); getch(); } Последний раз редактировалось Trafford; 29.11.2010 в 22:00. Причина: Неточное условие |
30.11.2010, 15:13 | #2 |
Пользователь
Регистрация: 20.08.2010
Сообщений: 37
|
Код:
Последний раз редактировалось Freddi Krjuger; 30.11.2010 в 15:17. |
04.12.2010, 00:19 | #3 |
Регистрация: 27.11.2010
Сообщений: 4
|
Спасибо, Фредди!
|
05.12.2010, 13:32 | #4 |
Регистрация: 27.11.2010
Сообщений: 4
|
Всё, работает. Вот конечный код! Может кому понадобится!
#include <iostream.h> #include <conio.h> #include <math.h> void main() { int a[20], n, i, min,imin,s=0; cout << "\t Input N (<=20) "<<endl; cin >> n; cout <<"\n\t Massiv A" << endl; for(i = 0; i < n; i++) {cout << "\t a[ " << i << " ]="<<endl; cin >> a[i]; } //ввод и чтение элементов массива min=fabs(a[0]),imin=0; for(i=0; i<n;i++) if(fabs(a[i])<min) { min=fabs(a[i]); imin=i; } //нашли минимальный по модулю элемент for (i=imin+1;i<n;i++) s+=fabs(a[i]); //нашли искомую сумму cout<< "sum after minimal module is"<<s<< endl; system("pause"); getch(); } |
05.12.2010, 13:34 | #5 |
Регистрация: 27.11.2010
Сообщений: 4
|
Помогите, пожалуйста, со второй задачей
У меня проблемы с вычислением факториала. Y праильно находит, а вот факториал-нет ( #include <iostream.h> #include <math.h> #include <conio.h> int main() //îñíîâíàÿ ôóíêöèÿ { double a,b,h,n,k,rez=0,x,f,s=0,z,c,fact=1, y,l; cout<<"Enter needed elements...\n"; cout<<"a:"<<endl; cin>>a; cout<<"b:"<<endl; cin>>b; cout<<"h:"<<endl; cin>>h; cout<<"n:"<<endl; cin>>n; for(x=a; x<=b; x+=h) { for(k=1; k<=n; k++) c=2*k; for ( k=1; k<c; k++) fact=fact*(2*k)*(2*k-1); rez=pow(x,(2*k))/fact; //Ðàñ÷åò çíà÷åíèÿ ôóíêöèè s+=rez; //Ïîäñ÷åò ñóììû ôóíêöèè S(x) } y = (exp(x)+exp(-x))/2; //Ðàñ÷åò çíà÷åíèÿ ôóíêöèè Y(x) z=fabs(y-s); //Ðàñ÷åò âûðàæåíèÿ |Y(x)–S(x)| cout<< "y(" <<x << ") = | "<< y << endl; cout<< "s(" <<x << ") = | "<<fact<< endl; cout<< "|y(" <<x << ")-s(" <<x << ")| = | "<< z <<endl; cout<<"------------------------------------------"<<endl;//Âûâîä ðåçóëüòàòîâ ðàñ÷åòà } system("pause"); getch (); return 0; } |
Похожие темы | ||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
Одномерный массив , двухмерный массив | Woxx | Паскаль, Turbo Pascal, PascalABC.NET | 0 | 10.09.2010 09:28 |
Одномерный массив. Q basic - Построить новый массив из элементов исходного ,которые больше P. | Marishkaa | Помощь студентам | 2 | 12.01.2010 16:54 |
Двумерный массив, одномерный массив. | Branbal | Помощь студентам | 14 | 18.11.2009 12:40 |
Одномерный массив | Марина_marina | Паскаль, Turbo Pascal, PascalABC.NET | 0 | 18.10.2009 20:57 |