Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > .NET Frameworks (точка нет фреймворки) > C# (си шарп)
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 11.11.2013, 01:13   #1
_Lenn
Пользователь
 
Регистрация: 10.11.2013
Сообщений: 10
По умолчанию Не работает вывод среднего арифметического каждого столбца матрицы

По-моему, я не там прописала строчку вывода ср.арифм., но где это правильно прописать - не знаю.
(ВЕСЬ ВЫВОД ср.арифм. закоментирован)
Код:
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;

namespace Project_Console2
{
    class Program
    {

        static void Main(string[] args)
        {
            Console.WriteLine("Введите количество строк матрицы:");
            int m = Convert.ToInt32(Console.ReadLine());
            Console.WriteLine("Введите количество столбцов матрицы:");
            int n = Convert.ToInt32(Console.ReadLine());
            Console.WriteLine();
            int[,] arr = new int[m, n];
            Random row = new Random();
            int[] sred = new int[n];
            //int sum = 0;
            //int sr_z = 0;
            for (int i = 0; i < m; i++)
            {
                for (int j = 0; j < n; j++)
                {

                    arr[i, j] = row.Next(1, 10);
                   // sum += arr[i, j]; //сумма эл-тов
                    //sr_z = sum / m; // (сумма/числострок)
                   // sred[j] = sr_z; // среднее арифм для j столбца
                    
                }
            }
            for (int i = 0; i < m; i++)
            {
                for (int j = 0; j < n; j++)
                {
                    Console.Write(arr[i, j] + " "); //ВЫВОД матрицы  
                   // Console.Write(sred[j] + " "); // ???????Вывод среднего арифм каждого столбца
                    
                }
               
                Console.WriteLine(); 
            }

            Console.WriteLine("\n");
            Console.WriteLine();
            Console.Write("Press <Enter>");
            Console.ReadLine();
        }
    }
}
_Lenn вне форума Ответить с цитированием
Старый 11.11.2013, 07:17   #2
phomm
personality
Старожил
 
Аватар для phomm
 
Регистрация: 28.04.2009
Сообщений: 2,876
По умолчанию

Код:
for (int i = 0; i < m; i++) // цикл по строкам
{
    for (int j = 0; j < n; j++) // цикл по столбцам
        Console.Write(arr[i, j] + " "); //ВЫВОД матрицы                  
    Console.WriteLine(); // переход на след строку 
}
Console.WriteLine("average by columns");
for (int j = 0; j < n; j++) // цикл по столбцам
    Console.Write(sred[j] + " "); // Вывод среднего арифм каждого столбца
Как-то так. Писал тут, в студии не проверял, плюс полагался, что расчёты и остальной код у Вас верны, затык только в выводе.
phomm вне форума Ответить с цитированием
Старый 11.11.2013, 22:30   #3
_Lenn
Пользователь
 
Регистрация: 10.11.2013
Сообщений: 10
По умолчанию

Добавила ваш вывод ср.арифм, к сожалению, выводит не правильные значения. Я ошиблась в реализации расчета. Если кто-то понимает в чем я ошиблась, помоги, пожалуйста, поправить.

Код:
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;

namespace Project_Console2
{
    class Program
    {

        static void Main(string[] args)
        {
            Console.WriteLine("Введите количество строк матрицы:");
            int m = Convert.ToInt32(Console.ReadLine());
            Console.WriteLine("Введите количество столбцов матрицы:");
            int n = Convert.ToInt32(Console.ReadLine());
            Console.WriteLine();
            int[,] arr = new int[m, n];
            Random row = new Random();
            int[] sred = new int[n];
            int sum = 0;
            int sr_z = 0;
            for (int i = 0; i < m; i++)
            {
                for (int j = 0; j < n; j++)
                {

                    arr[i, j] = row.Next(1, 10);
                    sum += arr[i, j]; //сумма эл-тов
                    sr_z = sum / m; // (сумма/числострок)
                    sred[j] = sr_z; // среднее арифм для j столбца
                    
                }
            }
            for (int i = 0; i < m; i++)
            {
                for (int j = 0; j < n; j++)
                {
                    Console.Write(arr[i, j] + " "); //ВЫВОД матрицы  
                    
                }
                Console.WriteLine();
            }
            Console.WriteLine("average by columns");
            for (int j = 0; j < n; j++) // цикл по столбцам
                Console.Write(sred[j] + " "); // Вывод среднего арифм каждого столбца

            Console.WriteLine("\n");
            Console.WriteLine();
            Console.Write("Press <Enter>");
            Console.ReadLine();
        }
    }
}

На данный момент такой вывод:
Изображения
Тип файла: jpg 11.jpg (36.1 Кб, 59 просмотров)
_Lenn вне форума Ответить с цитированием
Старый 11.11.2013, 23:01   #4
GetMax
Форумчанин
 
Регистрация: 21.10.2010
Сообщений: 588
По умолчанию

По моему так должно быть
Код:
for (int j = 0; j < n; j++)
            {
                sum = 0;
                for (int i = 0; i < m; i++)
                {

                    arr[i, j] = row.Next(1, 10);
                    sum += arr[i, j]; //сумма эл-тов
                    
                }
                sr_z = sum / m; // (сумма/числострок)
                sred[j] = sr_z; // среднее арифм для j столбца
            }
И для среднеарифмитических значений массив лучше вещественный использовать.
Пользователь не знает, чего он хочет, пока не увидит то, что он получил.
Для благодарностей WMR R145235935681
GetMax вне форума Ответить с цитированием
Старый 11.11.2013, 23:11   #5
_Lenn
Пользователь
 
Регистрация: 10.11.2013
Сообщений: 10
По умолчанию

Да, спасибо. Теперь правильный вывод!
_Lenn вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц

Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
С#. Нахождение среднего арифметического, вывод массива. Андрей Телепнёв Помощь студентам 1 27.08.2013 11:20
Найти сумму наибольших элементов каждого столбца матрицы и их координаты. danteone Помощь студентам 2 21.05.2012 16:33
вычисления среднего арифметического каждого столбца под главной диагональю Павел Шилин Паскаль, Turbo Pascal, PascalABC.NET 2 18.05.2012 00:35