![]() |
|
|
Регистрация Восстановить пароль |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
![]() |
|
Опции темы | Поиск в этой теме |
![]() |
#1 |
Пользователь
Регистрация: 20.10.2008
Сообщений: 15
|
![]()
Приветствую всех. Помогите плз с доделыванием задачи по Си++.
Задача в общем решена (кое-как ![]() #include <math.h> #include <conio.h> #include <stdio.h> #include <iostream.h> #define N 14 void main () { int n, chislo; int k,i,j,l,maxone,maxtwo,indeks1,indek s2,summa,proizved; maxone=-1e36; maxtwo=-1e36; cout << "vvedite kol-vo chisel v massive \n"; cin >> n; while (n<1 || n>N) { cout << "vvodite n\n"; cin >> n; } cout << "\n"; int arrayone[N], arraytwo[N]; for (int u=0;u<n;u++) { cout << "element nomer " << u << " massiva A\n"; cin >> chislo ; arrayone[u]=chislo; } for (int w=0; w<n;w++) { cout << "element nomer " << w << " massiva B\n"; cin >> chislo; arraytwo[w]=chislo; } for (int s=0;s<n;s++) { if (arrayone[s]>maxone) { maxone=arrayone[s]; indeks1=s; } } for (int t=0;t<6;t++) { if (arraytwo[t]>maxtwo) { maxtwo=arraytwo[t]; indeks2=t; } } summa=0; proizved=1; if (indeks1<=indeks2) { cout << "\n"; cout << "deistviya vypolnyautsya dlya pervogo massiva\n"; for (int r=0;r<n;r++) { if (arrayone[r]>0) { proizved=proizved*arrayone[r]; } } for (int p=0;p<n;p++) { if (arrayone[p]<0) { summa=summa+arrayone[p]; } } } else { cout << "\n"; cout << "deistviya vypolnyautsya dlya vtorogo massiva\n"; for (int rr=0;rr<n;rr++) { if (arraytwo[rr]>0) { proizved=proizved*arraytwo[rr]; } } for (int pp=0;pp<n;pp++) { if (arraytwo[pp]<0) { summa=summa+arraytwo[pp]; } } } cout << "proizvedenie polojitelnyh elementov massiva= " << proizved ; cout << "\n"; cout << "summa otricatelnyh elementov massiva= " << summa ; } Хотелось бы, чтобы функция выполняла действия, идущие после сравнения индексов (то бишь двумя включениями заменить содержания тел if (indeks1<=indeks2) и else), но проблема в том, что никак не могу разобраться с прототипами и внесением аргументов в тело функции. Заранее спасибо ![]() з.ы. На всякий случай - задача в том, что мы задаем два массива и в том, где максимум встречается раньше находим произведение положительных элементов и сумму отрицательных. Последний раз редактировалось Sad_SmiliK; 20.10.2008 в 01:41. |
![]() |
![]() |
![]() |
#2 |
Регистрация: 20.10.2008
Сообщений: 9
|
![]()
пожалуйста,помогите еще с одной программкой=))
не могу понять что здесь не так? #include<stdio.h> #include<iostream.h> #include<math.h> void main() {double x; {cout<<"\n programma schitaet funkziy"; cout<<"\n na promegutke [2.5;3]"; double r;//Vvedite chislo ot 2.5 do 3 cout<<"\Enter namber of x!"; cin>>r; if(r<2.5|| r>3)//chislo ne otnositsa k promegutku [2.5;3] {cout<<"oshibka v vibore x!"; getchar(); } }cout<<(double)(sqrt(x*x+1)); getchar(); } |
![]() |
![]() |
![]() |
#3 | |
Пользователь
Регистрация: 19.10.2008
Сообщений: 32
|
![]() Цитата:
|
|
![]() |
![]() |
![]() |
#4 | |
Пользователь
Регистрация: 19.10.2008
Сообщений: 32
|
![]() Цитата:
#include <iostream.h> #include <math.h> int main(int argc, char* argv[]) { cout<<"\n programma schitaet funkziy"; cout<<"\n na promegutke [2.5;3]"; cout<<"\Enter number x[ 2.5, 3]!"; double r;//Vvedite chislo ot 2.5 do 3 cin>>r; if(r<2.5 || r>3)//chislo ne otnositsa k promegutku [2.5;3] cout<<"oshibka v vibore x!"; else cout<<(double)(sqrt(r*r+1)); getchar(); //getchar(); return 0; } |
|
![]() |
![]() |
![]() |
#5 |
Регистрация: 20.10.2008
Сообщений: 9
|
![]()
NjaalkemeBit,спасибо большое=)))
|
![]() |
![]() |
![]() |
#6 |
Пользователь
Регистрация: 20.10.2008
Сообщений: 15
|
![]()
Спасибо, начал постепенно понимать как юзать массивы. Но у вас в функции main не используется функция задания размера массива, как это исправить (включение этой функции по идее должно повлиять на остальные функции, ведь в них в качестве размера используется константа)?
|
![]() |
![]() |
![]() |
#7 |
Пользователь
Регистрация: 19.10.2008
Сообщений: 32
|
![]() |
![]() |
![]() |
![]() |
#8 | |
Пользователь
Регистрация: 19.10.2008
Сообщений: 32
|
![]() Цитата:
|
|
![]() |
![]() |
![]() |
#9 |
Пользователь
Регистрация: 20.10.2008
Сообщений: 15
|
![]()
Спасибо, помогло.
Вот ещё возникла задача: Задаются двухмерный квадратный массив и два числа. Если элемент на главной диагонали этого массива принадлежит промежутку между числами, то вычисляется сумма модулей чисел в столбце с этим элементом, если нет, то произведение модулей. Результаты запихиваются в отдельный одномерный массив и там ищутся минимум и максимум. У меня в коде почему то порой не корректно работают операции с отрицательными числами (к примеру, число -5 не считается принадлежащим промежутку между -6 и -4, притом та же -5 принадлежит -100 и 100) и не ищется минимум. Заранее спасибо |
![]() |
![]() |
![]() |
![]() |
||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
Вычесление функций... | Lemo | Помощь студентам | 10 | 19.10.2008 15:08 |
аппроксимация функций | natasha | Общие вопросы Delphi | 6 | 26.08.2008 19:07 |
создание встроенных функций | OLesechka300490 | Помощь студентам | 6 | 10.06.2008 12:54 |
Аналоги функций | xfoxx | Общие вопросы C/C++ | 4 | 26.03.2008 00:22 |
График функций | Estrella | Помощь студентам | 3 | 23.10.2007 13:24 |