![]() ТОР 5 статей: Методические подходы к анализу финансового состояния предприятия Проблема периодизации русской литературы ХХ века. Краткая характеристика второй половины ХХ века Характеристика шлифовальных кругов и ее маркировка Служебные части речи. Предлог. Союз. Частицы КАТЕГОРИИ:
|
Работа со ступенчатыми массивами
Как было уже сказано выше, в C# можно создать массивы, в которых количество элементов в строках разное – ступенчатые массивы. В таком случае необходимо выполнять инициализацию каждой строки в отдельности. Рассмотрим это на примере. Дан ступенчатый массив. Вывести номера его строк, в которых доля положительных элементов максимальна. static void Main(string[] args) { float[][] b; //объявим неровный массив int n, m; Console.Write("Строк "); n = Convert.ToInt32(Console.ReadLine()); b = new float[n][]; //определим количество строк for (int i = 0; i < n; i++) { Console.Write("Элементов в строке"+i+" "); m = Convert.ToInt32(Console.ReadLine()); b[i] = new float[m]; // определим количество // элементов в i-ой строке } for(int i=0;i<b.Length;i++) for (int j = 0; j < b[i].Length; j++) { Console.Write("b[" + i + "," + j + "]=");
b[i][j] = Convert.ToSingle(Console.ReadLine()); } float []dol=new float[n]; // массив для долей // положительных элементов в строке int kol; float maxdol=0; //максимальная доля for(int i=0;i<b.Length;i++) { kol=0; for (int j = 0; j < b[i].Length; j++) if(b[i][j]>0)kol++; if (b[i].Length!=0) dol[i]=(float)kol/b[i].Length; else dol[i]=0; if(maxdol<dol[i])maxdol=dol[i]; } if (maxdol == 0) Console.WriteLine ("Нет положительных элементов в массиве"); else { string s=""; //в эту переменную соберем номера строк for(int i=0;i<b.Length;i++) if (dol[i]==maxdol) s+=" "+i;
Console.WriteLine ("Максимальная доля в строках "+s); } Console.ReadLine(); } Примечания.
Не нашли, что искали? Воспользуйтесь поиском:
|