Вывести значения числа a в степенях от 1 до b - C#
Формулировка задачи:
Вывести значения числа a в степенях от 1 до b, а также их сумму;
Примечания:
Ввод/вывод данных реализуется через файлы;
Каждый входной параметр находится в отдельной строке;
Каждый выходной параметр должен находиться в отдельной строке;
Гарантируется, что все входные параметры неотрицательны.
Программа выводит значения числа a в степенях от 1 до b, а также их сумму, помогите добавить примечания в код.
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.IO;
class Program
{
static void Main(string[] args)
{
Console.Write("A= "); // Введите число А
var a = double.Parse(Console.ReadLine());
Console.Write("B= "); // Введите степень числа А
var b = int.Parse(Console.ReadLine());
var p = 1.0; // Переменная которой присваиватся число возведенное в степень
var s = 0.0; // Переменная которой присваивается сумма чисел возведенных в степень
for (var c = 1; c <= b; ++c)
{
Console.WriteLine(p = p * a); // Возведение числа в степень
s = s + p;
}
Console.WriteLine(s);
Console.ReadKey();
}
}
Если коротко, то программа должна считывать данные из одного файла(число и степень) и выводить в другой файл результат (числа возведенные в степень и сумму чисел возведенных в степень).
Например:
входные данные:
2
3
выходные данные:
2
4
8
14
P.S. числа должны быть введены/выведены столбиком как примере
Вот код, если кому пригодится
using System;
using System.IO;
class Program
{
static void Main(string[] args)
{
string[] str = System.IO.File.ReadAllLines("E:\\test.txt"); // Считывание данных из файла в строку
double a = Convert.ToDouble(str[0]); // Конвертирование 1-го элемента строки в тип double
Console.Write("A= ");
Console.WriteLine(str[0]); // Вывод 1-го элемента строки - число возводимое в степень
int b = Convert.ToInt32(str[1]); // Конвертирование 2-го элемента строки в тип int
Console.Write("B= ");
Console.WriteLine(str[1]); // Вывод 2-го элемента строки - степень в которую надо возвести число
var p = 1.0; // Переменная которой присваиватся число возведенное в степень
var s = 0.0; // Переменная которой присваивается сумма чисел возведенных в степень
for (var c = 1; c <= b; ++c)
{
Console.WriteLine(p = p * a); // Возведение числа в степень и вывод на экран
s = s + p; // Суммирование чисел возведенных в степень
}
using (StreamWriter writer = new StreamWriter(File.OpenWrite("E:\\test1.txt"))) // Открытие файла для записи результата
{
writer.WriteLine(s); //запись в файл суммы чисел возведенных в степень
}
Console.WriteLine(s); // Вывод суммы чисел возведенных в степень на экран
Console.ReadKey();
}
}Решение задачи: «Вывести значения числа a в степенях от 1 до b»
textual
Листинг программы
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using System.IO;
namespace ConsoleApplication20
{
class Program
{
static void Main(string[] args)
{
string[] str = File.ReadAllLines("file1.txt"); // считывание текста из файла, в файле должны быть записаны числа по одному в строку, как в твоем примере, название файла должно быть file.txt
// тут переводим массив строк в массив чисел, ожидается что массив этот состоит из 2-х чисел, отсюда и название переменной.
double [] dvaChisla=new double[str.Length];
for (int i=0;i<str.Length;i++)
{
dvaChisla[i] = double.Parse(str[i]);
}
Console.WriteLine("число для возведения в степень {0}. возводить в степень {1} раз",dvaChisla[0],dvaChisla[1]);
double stepen = 1;// инициализация переменной степень.
//проверка есть ли фаил для вывода и стирание его если он есть
if(File.Exists("file2.txt")) File.Delete("file2.txt");
//заполнение в цикле файла строками с указанным форматом.
for (int i=0;i<dvaChisla[1];i++)
{
File.AppendAllText("file2.txt",string.Format("{0}-я степень числа {1} равна {2}\n",i,dvaChisla[0],stepen*=dvaChisla[0]));
}
Console.WriteLine("фаил заполнен");
}
}
}