Mail.ruПочтаМой МирОдноклассникиВКонтактеИгрыЗнакомстваНовостиПоискОблакоComboВсе проекты

Помогите написать задачу на C#

Дмитрий Валакас Ученик (83), закрыт 1 месяц назад
Доступные варианты ввода/вывода:
Файловый (из input.txt в output.txt)

Одномерные массивы.

Дан одномерный массив, состоящий из N вещественных элементов. Найти сумму элементов массива, расположенных между первым и вторым отрицательными элементами.

Формат входных данных
В первой строке входного файла содержится число N (1≤N≤100). Во второй строке даны N вещественных чисел через пробел.

Формат выходных данных
Выведите в выходной файл искомую сумму с 3 знаками после десятичной точки или 0, если в заданном массиве меньше 2 отрицательных элементов.

Примеры:
Вход
5
-1.87 2.63 -0.01 9.86 -3.77
Выход
Лучший ответ
Николай Веселуха Высший разум (260763) 1 месяц назад
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();
}
}
}
Дмитрий ВалакасУченик (83) 1 месяц назад
Можете подсказать почему не работает?
Николай ВеселухаВысший разум (260763) 1 месяц назад
Панель управления / Региональные стандарты / Дополнительные параметры... / Разделитель целой и дробной части замените с запятой на точку и нажмите кнопу ОК (возможно потребуется перезагрузка, но вначале попробуйте запустить код на выполнение)
Дмитрий Валакас Ученик (83) Николай Веселуха, благодарю
Остальные ответы
Митя Зибин Ученик (158) 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;
}
Chaborz Ученик (143) 1 месяц назад
#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
Похожие вопросы
Также спрашивают