Задача № 406
Пусть задан вектор х (х1, х2, х3… хn). Составить подпрограмму-функцию для вычисления величины.
N=0, если х1≠0
N=n, если х1= х2= х3=…- хn=0
N=m, если х1= х2= х3=…=хm=0 и хm+1≠0 (m<n)
Алгоритм:
Ввод
Запрос числа элементов массива
Запрос и ввод массива
Эхо-вывод на экран массива
Объявление потока вывода в файл
#include <vcl.h> // Я не знаю что это означает, оно автоматически задается в Builder6
#pragma hdrstop // Я не знаю что это означает, оно автоматически задается в Builder6
#pragma argsused // Я не знаю что это означает, оно автоматически задается в Builder6
#include<iostream.h>
#include<conio.h>
#include<fstream.h>
int N(int n, double X[]); // прототип ф-ции
int N(int n, double X[])
{
int i;
int result=-1;
if(X[0]!=0)
result=0;
else{
result=0;
for(i=0;i<n;i++){
if(X[i]==0)
result=i+1;
else{
result=i;
break;
}
}
}
return result;
}
void main(){
int n;
int i;
double X[100];
cout<<"vvedite 0<n<=100"<<endl; //запрос числа элементов массива
cin>>n; //ввод
while(n>100||n==0||n<0){
cout<<"Error! 0<n<=100"<<endl;
cout<<"vvedite 0<n<=100"<<endl;
cin>>n;} //проверка n<=100 и n=0
cout<<"vvedite massiv X:"<<endl; //запрос и ввод массива
for(i=0;i<n;i++)
cin>>X[i];
cout<<"vvedenniy massiv:"<<endl; //эхо-вывод на экран массива
for(i=0;i<n;i++) // и значения ф-ции
cout<<X[i]<<" ";
cout<<endl;
cout<<"function N="<<N(n,X)<<endl;
ofstream ptk("k106.txt"); //oбъявления потока вывода в файл
if(ptk==0)cout<<"error otkr faila"<<endl; //проверка открытия файла
ptk<<"vvedenniy massiv:"<<endl; //эхо-вывод в файл массива
for(i=0;i<n;i++)
ptk<<X[i]<<" ";
ptk<<endl;
ptk<<"function N="<<N(n,X)<<endl;
getch();
}
Тест: vvedenniy massiv:
1 0 0 0
function N=0
Номер задачи |
Входные данные |
Выходные данные для С++ |
Выходные данные для MathCAD |
9 |
Страница 3 |
Страница 4 |
Страница 1.1 |
116 г |
Страница 4 |
Страница 6 |
Страница 1.2 |
555 |
Страница 6 |
Страница 9 |
Страница 1.3 |
684 |
Страница 9 |
Страница 12 |
|
406* |
Страница 13 |
Страница 16 |
|
Список литературы:
Разработка программ на C++ при выполнении курсовых и лабораторных работ (методические указания) Назарова М.В.
Borland C++ Builder. Освой самостоятельно
"Программирование в C++ Builder 6" (с) Архангельский А.Я.
