Заменить нулевые элементы массива единицами - C#

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

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

Доброго времени суток. Нужно, все элементы массива, начиная с первого(он изначально задан равным 1) с шагом S заменить на единицу. Вот мой код, что-то я не так там намудрил по-моему с циклами:
Листинг программы
  1. using System;
  2. using System.Collections.Generic;
  3. using System.Linq;
  4. using System.Text;
  5. using System.Threading.Tasks;
  6. namespace ConsoleApplication1
  7. {
  8. class Program
  9. {
  10. static void Main(string[] args)
  11. {
  12. int N, M, S, K, L, i, j, P;
  13. Console.WriteLine("Введите количество серых мышей: ");
  14. N = int.Parse(Console.ReadLine());
  15. Console.WriteLine("Введите количество белых мышей: ");
  16. M = int.Parse(Console.ReadLine());
  17. Console.WriteLine("Введите какую по счету мышь съедает кошка: ");
  18. S = int.Parse(Console.ReadLine());
  19. //Console.WriteLine("Вот так мыши были расположены: ");
  20. int[,] m = new int[N, M];
  21. for (i = 0; i < N; i++)
  22. {
  23. for (j = 0; j < M; j++)
  24. {
  25. m[i, j] = 0;
  26. Console.Write(m[i, j] + "\t");
  27. }
  28. Console.WriteLine();
  29. }
  30. for (i = 0; i < N; i+=S)
  31. {
  32. for (j = 0; j < M; j+=S)
  33. {
  34. m[i, j] = 1;
  35. Console.Write(m[i, j] + "\t");
  36. }
  37. Console.WriteLine();
  38. }
  39. //Console.WriteLine("Сколько серых мышей осталось в живых?");
  40. //K = int.Parse(Console.ReadLine());
  41. // Console.WriteLine("Сколько белых мышей осталось в живых?");
  42. //L = int.Parse(Console.ReadLine());
  43. //P = (N + M) - (K + L);
  44.  
  45. }
  46. }
  47. }

Решение задачи: «Заменить нулевые элементы массива единицами»

textual
Листинг программы
  1. так работает
  2. [CSHARP]
  3. using System;
  4.  
  5. namespace ConsoleApplication1
  6. {
  7.     class Program
  8.     {
  9.         static void Main(string[] args)
  10.         {
  11.             #region Заполнение стартовых данных
  12.             int S;
  13.             Console.WriteLine("Введите количество серых мышей: ");
  14.             int count_gray = int.Parse(Console.ReadLine());
  15.             Console.WriteLine("Введите количество белых мышей: ");
  16.             int count_wite = int.Parse(Console.ReadLine());
  17.             Console.WriteLine("Введите какую по счету мышь съедает кошка: ");
  18.             S = int.Parse(Console.ReadLine());
  19.             Console.WriteLine("Сколько серых мышей осталось в живых?");
  20.             int K = int.Parse(Console.ReadLine());
  21.             Console.WriteLine("Сколько белых мышей осталось в живых?");
  22.             int L = int.Parse(Console.ReadLine());
  23.             int P = (count_wite + count_gray) - (K + L);
  24.             Console.WriteLine("Вот так мыши были расположены: ");
  25.             int[] massiv = new int[count_gray + count_wite];
  26.             #endregion
  27.             #region  выводим стартовый массив
  28.             for (int j = 0; j < massiv.Length; j++)
  29.             {
  30.                 massiv[j] = 0;
  31.                 Console.Write(massiv[j] + "\t");//
  32.             }
  33.             Console.WriteLine();
  34.             Console.WriteLine();
  35.             #endregion
  36.             #region Кошка ест мышек
  37.             int i = 0;//номер итерации
  38.             int g = 0;//номер съедаемой мышки
  39.             int t = 0;//сдвиг при повторе
  40.             while (true)
  41.             {
  42.                 if (i == P)
  43.                     break;
  44.                 else if (g >= massiv.Length)
  45.                 {
  46.                     g = g-massiv.Length;//Начинаем с того числа на которое превысили длинну массива
  47.                     if (g % 3 == 0 && massiv.Length % 3 == 0)
  48.                         g++;
  49.                     t++;
  50.                 }
  51.  
  52.                 massiv[g] = 1;
  53.                 i++;
  54.                 g += S;
  55.             }
  56.             #endregion
  57.             string[] colors = new string[massiv.Length];
  58.             int d = 0;//Подсчет серых мышей оставшихся в живых
  59.             int r = 0;//Подсчет белых мышей оставшихся в живых
  60.             int l = 0;//Серые мышы до кошки
  61.             int y = 0;//Белые быши до кошки
  62.             for (i = 0; i < massiv.Length; i++)
  63.             {
  64.                 if (massiv[i] == 0 && d < K)
  65.                 {
  66.                     colors[i] = "Серая";
  67.                     d++;
  68.                     l++;
  69.                     continue;
  70.                 }
  71.                 if (massiv[i] == 0 && r < L)
  72.                 {
  73.                     colors[i] = "Белая";
  74.                     r++;
  75.                     y++;
  76.                     continue;
  77.                 }
  78.             }
  79.             for ( i = 0; i < massiv.Length; i++)
  80.             {
  81.                 if (colors[i] == null && l < count_gray)
  82.                 {
  83.                     colors[i] = "Серая";
  84.                     l++;
  85.                 }
  86.                 if (colors[i] == null && y < count_wite)
  87.                 {
  88.                     colors[i] = "Белая";
  89.                     y++;
  90.                 }
  91.             }
  92.             for (int j = 0; j < massiv.Length; j++)
  93.             {
  94.                 Console.Write(massiv[j] + "\t");
  95.             }
  96.             Console.WriteLine();
  97.             Console.WriteLine();
  98.             string live = "";
  99.             for (i = 0; i < colors.Length; i++)
  100.             {
  101.                 if (massiv[i] == 0)
  102.                     live = "Жива";
  103.                 else
  104.                     live = "Съедена";
  105.                 if (colors[i] == "Серая")
  106.                     Console.ForegroundColor = ConsoleColor.Gray;
  107.  
  108.                 Console.WriteLine(colors[i] + "   " + live + "    " + i);
  109.                 Console.ForegroundColor = ConsoleColor.White;
  110.             }
  111.             Console.ReadLine();
  112.         }
  113.     }
  114. }

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


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

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

7   голосов , оценка 3.857 из 5

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

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

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