C#

Две ошибки в коде!!!

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;

namespace Циклические_программы_1_одномерные_массивы
{
class Program
{
static void Main(string[] args)
{
// Описание и определение переменных
// Внутреннее представление входных данных
int A, B; // Описание и определение переменных A и B
Console.WriteLine("Введите промежуток (A, B):"); // Вывод на консоль промежутка AB
Console.Write("A = "); // Ввод на консоль значения начала промежутка А
A = int.Parse(Console.ReadLine()); // Считывание значения начала промежутка A
Console.Write("B = "); // Ввод на консоль значения конца промежутка B
B = int.Parse(Console.ReadLine()); // Считывание значения конца промежутка B

// Внутреннее представление выходных данных
int sum = 0; // Описание и определение переменной sum
int count = 0; // Описание и определение переменной count

// Внутреннее представление временных данных
int position; // Описание переменной position
for (position = A; position < B; position++)
foreach (int position in Enumerable.Range(A, B - A)) // Начало цикла
{
if (position % 4 == 0) // Проверка, является ли текущая позиция кратной 4
{
Console.Write("Введите число: "); // Ввод числа
int num = int.Parse(Console.ReadLine()); // Считывание числа

if (num > 0) // Проверка, является ли число положительным
{
sum += num; // Прибавление числа к сумме
count++; // Увеличение счетчика
}
}
}
Console.WriteLine("Элементы одномерного массива");
// Вывод промежуточных элементов массива в строку
foreach (int position in Enumerable.Range(A, B - A))
Console.Write("{0} ", position);
Console.WriteLine();
double average = (double)sum / count; // Вычисление среднего арифметического положительных чисел
Console.WriteLine("Ответ:");
Console.WriteLine("Среднее арифметическое чисел на промежутке ({0}, {1}) = {2}", A, B, average); // Вывод среднего арифметического
Console.WriteLine("Количество положительных чисел на местах, кратных 4 = {0}", count); // Вывод количества чисел
Console.ReadLine();
}
}
}
А сообщения об ошибке прочитать не судьба? Там всё чётко изложено. Дважды объявляешь переменную с одним и тем же именем (position) в одной и той же области видимости.
СД
Славик Драбеня
54 053
Лучший ответ
Taalai Nazirbaev Судя из дебильного названного namespace в коде должен присутствовать одномерный массив. Понять задание из кода не представляется возможным.
Хотелось бы увидеть само задание.
 using System; 
namespace MyArray {
class Program {
static void Main() {
var size = InputInt32("Введите размер массива: ");
if (size 0) {
var average = sum / count;
Console.WriteLine($"Среднее арифметическое: {average}");
}
Console.ReadKey();
}
static int InputInt32(string message) {
while (true) {
Console.Write(message);
string? line = Console.ReadLine();
if (int.TryParse(line, out int value)) return value;
}
}
}
}
Taalai Nazirbaev
Taalai Nazirbaev
97 162
Читай ошибки, тебе русским языком написали. Плюс еще код есть, если не понял, можешь загуглить.


 int position; // Описание переменной position  
Тут в первый раз

 foreach (int position in Enumerable.Range(A, B - A)) // Начало цикла  

Тут во второй раз.

Смотри - int postition - это ты обьявляешь переменную. Ты ее обьявил и все, в функции static void main ты ее больше обьявлять не должен.

И еще

Зачем ты двойной цикл делаешь

 for (position = A; position < B; position++)   

foreach (int position in Enumerable.Range(A, B - A)) // Начало цикла


Это неверный код, оставь первый for
 using System; 
using System.Linq;

namespace Циклические_программы_1_одномерные_массивы
{
class Program
{
static void Main(string[] args)
{
int A, B;
Console.WriteLine("Введите промежуток (A, B):");

Console.Write("A = ");
A = int.Parse(Console.ReadLine());

Console.Write("B = ");
B = int.Parse(Console.ReadLine());

int sum = 0;
int count =0;

foreach (int position in Enumerable.Range(A, B - A))
{
if (position % 4 == 0)
{
Console.Write("Введите число: ");
int num = int.Parse(Console.ReadLine());

if (num > 0)
{
sum += num;
count++;
}
}
}

Console.WriteLine("Элементы одномерного массива");
foreach (int position in Enumerable.Range(A, B - A))
Console.Write("{0} ", position);
Console.WriteLine();

if (count != 0)
{
double average = (double)sum / count;
Console.WriteLine("Среднее арифметическое чисел на промежутке ({0}, {1}) = {2}", A, B, average);
Console.WriteLine("Количество положительных чисел на местах, кратных 4 = {0}", count);
}
else
{
Console.WriteLine("Нет положительных чисел для подсчета среднего арифметического и количества.");
}

Console.ReadLine();
}
}
}
Динар Дулатов
Динар Дулатов
25 860