Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- /*********************************************************************
- * Project Name:lab3_v0.3 *
- * Project Type:Win32 console application *
- * File Name:lab3 cpp *
- * Language:Cpp msvs 2010 and above *
- * Programmer:Lysov_Gleb_Viktorovich,Zaharov_Alexei_Dmitrievich *
- * Modified: *
- * Created:21/11/17 *
- * Last Revision:24/11/17 *
- * Comment:Odnomernye massivy *
- * ********************************************************************/
- #include <iostream>
- #include <fstream>
- #include <cmath>
- using namespace std;
- int A,B,temp,i,ch,SIZE;
- char YorN;
- int main() {
- setlocale(0,"russian");
- ifstream file("lab3.txt"); //открыли файл для чтения
- if(!file.is_open()){
- cout<<"Ошибка чтения файла"<<endl;
- system("pause");
- return 0;
- }
- read » SIZE;
- if (SIZE <= 0) {
- cout<<"N должен быть больше 0\n";
- system("pause");
- return 0;
- }
- int *arr = new int[SIZE] // инициализируем массив
- ch=0; // счетчик кол-ва элементов в файле
- while(!file.eof() && (ch<SIZE)){ //пока не конец файла или
- file>>temp; //счетчик не превышает размер массива
- arr[ch]=temp;
- ch++; // считали в массив
- } //увеличили счетчик
- file.close(); //закрыть файл
- if(ch!=SIZE){ //проверка на кол-во эл-тов
- cout<<"Количество элементов не совпадает с размером массива.Продолжить работу ";
- if (ch=SIZE) cout<<"c первыми N="<SIZE<" элементами?";
- if (ch<SIZE) cout<<"только c N="ch<<" элементами?";
- cout<<"[Y/N]"<<endl; //интрефейс работы
- cin>>YorN; //с пользователем
- if (YorN=='N'||YorN=='n') {
- system("pause");
- return 0;
- } else {
- if ((YorN=='Y'||YorN=='y')&& ch<SIZE) SIZE=ch; //если эл-тов меньше размера массива
- } //работаем с этими эл-тами
- }
- cout<<"Введите диапазон A,B: ";
- cin>>A>>B;
- A--;
- B--;
- cout<<"\nЭхопечать: A="<<A<<" B="<<B<<endl;
- temp=0;
- if (A>B) { //проверка точек границ
- temp=A; //замена A на B
- A=B;
- B=temp;
- cout<<"Произошла замена: A="<<A<<" B="<<B<<endl;
- }
- if (B>=SIZE){ //проверка на диапазон
- cout<<"Недопустимый диапазон"<<endl;
- system("pause");
- return 0;
- }
- ch=0; //используем счетчик для проверки
- int sum=0; //существования таких эл-тов
- for(i=A;i<=B;i++) //сумма положительных эл-тов
- if (arr[i]>0) {
- sum+=arr[i]; //нахождение суммы в диапазоне
- ch++;
- }
- if(ch==0) { //мы не можем найти сумму эл-тов
- cout<<"Таких элементов суммы не существует"<<endl;
- } else {
- cout<<"Сумма положительных элементов в диапазоне от A до B: "<<sum<<endl;
- }
- int IndexMax=0;
- for(i=1;i<SIZE;i++){
- if (fabs(arr[i])>fabs(arr[IndexMax])) IndexMax=i;
- }
- if(IndexMax==0) { //мы не можем найти произведение до 1-го эл-та
- cout<<"Таких элементов произведения не существует"<<endl;
- system("pause");
- return 0;
- }
- int proizvedenie=1;
- for(i=0;i<IndexMax;i++){
- proizvedenie*=arr[i];
- }
- cout<<"Произведение элементов, расположенных до максимального по модулю элемента: "<<proizvedenie<<endl;
- system("pause");
- return 0;
- }
- /***********************END_OF_LAB_3************************************/
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement