Доступные варианты ввода/вывода:
Файловый (из input.txt в output.txt)
Одномерные массивы.
Дан одномерный массив, состоящий из N вещественных элементов. Найти сумму элементов массива, расположенных между первым и вторым отрицательными элементами.
Формат входных данных
В первой строке входного файла содержится число N (1≤N≤100). Во второй строке даны N вещественных чисел через пробел.
Формат выходных данных
Выведите в выходной файл искомую сумму с 3 знаками после десятичной точки или 0, если в заданном массиве меньше 2 отрицательных элементов.
Примеры:
Вход
5
-1.87 2.63 -0.01 9.86 -3.77
Выход
C#
Помогите написать задачу на C#
using System;
using System.IO;
using System.Linq;
namespace Answer {
class Program {
static void Main() {
var input = new StreamReader("input.txt");
var output = new StreamWriter("output.txt");
var size = int.Parse(input.ReadLine());
if (size > 3) {
var count = 0;
var sum = 0.0;
var box = input.ReadLine().Split(' ').Select(x => double.Parse(x)).ToArray();
if (box.Length != size) {
Console.WriteLine("Количество элементов не соответствует заявленному!");
output.WriteLine("0");
} else {
var i = 0;
while (box[i] >= 0 && i != size) ++i;
if (i++ != size) ++count;
while (box[i] >= 0 && i != size) {
sum += box[i];
++i;
}
if (i != size) ++count;
if (count == 2) output.WriteLine($"{sum:F3}");
else output.WriteLine("0");
}
} else {
output.WriteLine("0");
}
input.Close();
output.Close();
}
}
}
using System.IO;
using System.Linq;
namespace Answer {
class Program {
static void Main() {
var input = new StreamReader("input.txt");
var output = new StreamWriter("output.txt");
var size = int.Parse(input.ReadLine());
if (size > 3) {
var count = 0;
var sum = 0.0;
var box = input.ReadLine().Split(' ').Select(x => double.Parse(x)).ToArray();
if (box.Length != size) {
Console.WriteLine("Количество элементов не соответствует заявленному!");
output.WriteLine("0");
} else {
var i = 0;
while (box[i] >= 0 && i != size) ++i;
if (i++ != size) ++count;
while (box[i] >= 0 && i != size) {
sum += box[i];
++i;
}
if (i != size) ++count;
if (count == 2) output.WriteLine($"{sum:F3}");
else output.WriteLine("0");
}
} else {
output.WriteLine("0");
}
input.Close();
output.Close();
}
}
}
Владимир Коняев
Можете подсказать почему не работает?

Николай Бондарчук
Панель управления / Региональные стандарты / Дополнительные параметры... / Разделитель целой и дробной части замените с запятой на точку и нажмите кнопу ОК (возможно потребуется перезагрузка, но вначале попробуйте запустить код на выполнение)
#include
#include
#include
using namespace std;
int main()
{
srand(time(0));
int array[5][6]; // размерность массива
int i, j;
for ( i = 0; i < 5; i++)
for ( j = 0; j < 6; j++)
array[i][j] = rand() % 100; // заполняем массив случайными числами
// как делать ввод с клавиатуры думаю разберёшься
for ( int i = 0; i < 5; i++)
{
for ( int j = 0; j < 6; j++)
cout << setw(3) << array[i][j] << " "; // выводим исходный массив
cout << endl;
}
int ar_max[5];// массив максимальных элементов
int n = 0;
int max;
for ( i = 0; i < 5; i++)
{
max = array[i][0];// приравниваем макс первый элементв столбике
for ( j = 0; j < 6; j++)
{
if(max < array[i][j]) // сравниваем элементы
{
int temp = array[i][j];
array[i][j] = max;
max = temp;
}
}
ar_max[n] = max;
n++;// счётчик индекса в массиве
}
cout << endl;
for ( i = 0; i < 5; i++)
cout << ar_max[i] << endl; // выводим максимальные элементы
system("Pause");
}
1
#include
#include
using namespace std;
int main()
{
srand(time(0));
int array[5][6]; // размерность массива
int i, j;
for ( i = 0; i < 5; i++)
for ( j = 0; j < 6; j++)
array[i][j] = rand() % 100; // заполняем массив случайными числами
// как делать ввод с клавиатуры думаю разберёшься
for ( int i = 0; i < 5; i++)
{
for ( int j = 0; j < 6; j++)
cout << setw(3) << array[i][j] << " "; // выводим исходный массив
cout << endl;
}
int ar_max[5];// массив максимальных элементов
int n = 0;
int max;
for ( i = 0; i < 5; i++)
{
max = array[i][0];// приравниваем макс первый элементв столбике
for ( j = 0; j < 6; j++)
{
if(max < array[i][j]) // сравниваем элементы
{
int temp = array[i][j];
array[i][j] = max;
max = temp;
}
}
ar_max[n] = max;
n++;// счётчик индекса в массиве
}
cout << endl;
for ( i = 0; i < 5; i++)
cout << ar_max[i] << endl; // выводим максимальные элементы
system("Pause");
}
1
C++Выделить код
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
#include
#include
int main(){
int n,l,r;
std::vector array;
for (int i=0;i> array[i];
std::cin>>l>>r;
int max = l,nmax;
for (int i = l ; l <= r ; l++ ) if (array[i]>max) {
max = array[i];
nmax = i;
}
std::cout << max << " " <<nmax;
return 0;
}
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
#include
#include
int main(){
int n,l,r;
std::vector array;
for (int i=0;i> array[i];
std::cin>>l>>r;
int max = l,nmax;
for (int i = l ; l <= r ; l++ ) if (array[i]>max) {
max = array[i];
nmax = i;
}
std::cout << max << " " <<nmax;
return 0;
}
Похожие вопросы
- Помогите с задачей по c#
- Помогите решить задачу на c#
- Помогите написать программу на C# По задачнику PascalABC Case20
- Помогите решить простую задачу на c#
- C# Помогите решить задачу! Нужен полный код!
- Помогите решить задачу C#! С помощью switch case.
- Задачи по C#
- Решить задачу через C#
- C# помогите написать простую прогу
- Помогите написать программу C#