Вычислить сумму значений из всех строк, на которые указывает первый элемент строки - C#

Узнай цену своей работы

Формулировка задачи:

Доброго всем времени, задали нам такую лабораторную: Файл in.csv (текст с разделителями «;») содержит строки с числами. Самый первый элемент строки имеет индекс 0. Его значение определят то, с каким элементом строки будет вестись работа. 1.Вычислить сумму значений из всех строк, на которые указывает первый элемент строки (с индексом 0). 2.Подсчитать и вывести кол-во строк с ошибками. Примеры входных данных Пример 1 in.csv: 3;qw;4;5,2;2,7 15;;;k;5 1;-3,14;fgh;5 0;;e1;2;3
-2,3;a;b;c b;d;e
Output: result(5,2 - 3,14 + 0,0) = 2,06 error-lines = 3 Замечания к задаче 1. В алгоритме запрограммировать ход работы программы в случае корректных данных, ошибочные ситуации (не число, выход за границы массива) обрабатывать через исключения. 2. Строки csv – файла разбивать на элементы методом Split( ). 3. Не использовать регулярные выражения. 4. Не выводить строку с результатом отдельными фрагментами. Согласно условию нужно сформировать ответ в виде строки. Обратите внимание на наличие пробелов в выходной строке. В частности, если первое число отрицательное, то после знака минус нет пробела. Далее каждый знак (плюс, минус, равно) окружен пробелами. 5. Обязательно проверить тест, в котором отсутствует входной файл. Начинаю разбираться и понимаю что все туго, из набросок только сделал чтение из файла, на остальном что дальше делать пока не понимаю, как мне проверить на начале считывания элементы под индексом [0], присвоить значению переменной число с этого индекса и вынять число со значением нужного нулевого индекса помогите чем можете. Как понимаю в примечании 4 потребуется построить строки?

Решение задачи: «Вычислить сумму значений из всех строк, на которые указывает первый элемент строки»

textual
Листинг программы
  1. using System;
  2. using System.Collections.Generic;
  3. using System.Linq;
  4. using System.Text;
  5. using System.Threading.Tasks;
  6. using System.IO;
  7.  
  8. namespace Stings1
  9. {
  10.     class Program
  11.  
  12.         {
  13.        
  14.         public static void Main(string[] args)
  15.         {
  16.             int error = 0;
  17.             double value = 0;
  18.             double result = 0;
  19.             string plus = " + ";
  20.             string minus = " - ";
  21.             StringBuilder strResult = new StringBuilder("Result(");
  22.             StringBuilder strError = new StringBuilder("Error-lines = ");
  23.             int resultLenght = strResult.Length;
  24.             StreamReader sr = File.OpenText(@"in.csv");
  25.             List<string[]> allElements = new List<string[]>();
  26.             while (true)
  27.             {
  28.                 string str = sr.ReadLine();
  29.                 if (str == null)
  30.                     break;
  31.                 string[] elements = str.Split(';');
  32.                 allElements.Add(elements);
  33.                 try
  34.                 {
  35.                    int num = Int32.Parse(elements[0]);
  36.                     value = Double.Parse(elements[num].Replace('.',','));
  37.                     result += value;
  38.                     strResult.Append(value < 0 ? minus : plus).Append(Math.Abs(value));
  39.                 }
  40.                 catch (FormatException e)
  41.                 {
  42.                     error++;
  43.                 }
  44.                 catch(SystemException)
  45.                 {
  46.                     error++;
  47.                 }
  48.             }
  49.            
  50.             strResult.Append(") = " + result);
  51.             Console.WriteLine(strResult);
  52.             strError.Append(error);
  53.             Console.WriteLine(strError);
  54.             sr.Close();

ИИ поможет Вам:


  • решить любую задачу по программированию
  • объяснить код
  • расставить комментарии в коде
  • и т.д
Попробуйте бесплатно

Оцени полезность:

11   голосов , оценка 4.273 из 5

Нужна аналогичная работа?

Оформи быстрый заказ и узнай стоимость

Бесплатно
Оформите заказ и авторы начнут откликаться уже через 10 минут
Похожие ответы