Компьютерный форум OSzone.net  

Компьютерный форум OSzone.net (http://forum.oszone.net/index.php)
-   Программирование и базы данных (http://forum.oszone.net/forumdisplay.php?f=21)
-   -   [решено] Нужна помощь в написании массивов на С (http://forum.oszone.net/showthread.php?t=221573)

vita_ivanova_95 27-11-2011 12:56 1804163

Нужна помощь в написании массивов на С
 
Народ! Очень нужна помощь!Помогите написать 2 массива на языке С.

1. Дан массив различных целых чисел B(10). Найти элементы с минимальным и максимальным значением. Если эти элементы одинаковой четности, то заменить их нулями. В противном случае поменять эти элементы местами.
2. Задан двумерный массив X(3,3). Вывести на экран номера строки и столбца, на пересечении которых находится элемент с наименьшим значением.
Буду очень благодарна Спасибо!

Tonny_Bennet 27-11-2011 13:54 1804186

Написал первую программу на C# думаю разобраться будет не сложно если что вопросы задавай.

Код:

class Program
    {
        static void Main(string[] args)
        {
            //создаём массив
            int[] b = new int[10];

            //заполняем его случанйыми числами
            Random rand = new Random();

            for (int i = 0; i < b.Length; i++)
            {
                b[i] = rand.Next(100);
            }

            Console.WriteLine("Входной массив");
            for (int i = 0; i < b.Length; i++)
            {
                Console.Write(b[i].ToString() + " ");
            }
            Console.WriteLine();


            //ищем минимальные и максимальные значения массива
            int min = b[0];
            int max = b[0];

            int i_max = 0;
            int i_min = 0;

            for (int i = 0; i < b.Length; i++)
            {
                if (b[i] > max) { max = b[i]; i_max = i; };
                if (b[i] < min) { min = b[i]; i_min = i; };
            }

            Console.WriteLine(String.Format("Максиммальный элемент = {0}, с номером {1}", max, i_max));
            Console.WriteLine(String.Format("Минимальный элемент = {0}, с номером {1}", min, i_min));

            //определяем чётность чисел
            if ((Math.IEEERemainder(max, 2d) == 0 & Math.IEEERemainder(min, 2d) == 0) | (Math.IEEERemainder(max, 2d) != 0 & Math.IEEERemainder(min, 2d) != 0))
            {
                b[i_max] = b[i_min] = 0;
                Console.WriteLine("Максимальный и минимальный элемент имеют одинаковую чётность");
            }
            else
            {
                b[i_max] = min;
                b[i_min] = max;
                Console.WriteLine("Максимальный и минимальный элемент имеют разную чётность");
            }

            Console.WriteLine("Выходной массив");
            for (int i = 0; i < b.Length; i++)
            {
                Console.Write(b[i].ToString() + " ");
            }
            Console.ReadKey();

        }
    }

P.S. Сейчас вторую напишу

Tonny_Bennet 27-11-2011 14:11 1804194

Вторая программа на C#

Код:

class Program
    {
        static void Main(string[] args)
        {
           
          //создаём массив
            int[,] x = new int[3, 3];

            Random rand = new Random();
            //заполняем его случайными числами
            for (int i = 0; i < 3; i++)
                for (int j = 0; j < 3; j++)
                {
                    x[i, j] = rand.Next(100);
                }

         
            //выводим массив
            Console.WriteLine("Исходный массив");
            for (int i = 0; i < 3; i++)
            {
                for (int j = 0; j < 3; j++)
                {
                    Console.Write(x[i, j].ToString() + " ");
                }
                Console.WriteLine();
            }

            //ищем минимальный элемент
          int min=x[0,0];
          int i_min = 0;
          int j_min = 0;
            for (int i = 0; i < 3; i++)
            {
                for (int j = 0; j < 3; j++)
                {
                    if (x[i, j] < min)
                    {
                        min = x[i, j];
                        i_min = i;
                        j_min = j;
                    };
                }
            }

            Console.WriteLine(String.Format("Элемент с минимальным значением {0} находится на пересечении {1} столбца и {2} строки", min, j_min + 1, i_min + 1));

            Console.ReadKey();


        }
    }


Delirium 27-11-2011 14:56 1804222

Tonny_Bennet, я рад, что у нас есть знающие люди, решающие задачи за других, однако правил форума никто не отменял. http://forum.oszone.net/thread-69092.html - тема, обязательная для всех при написании вопроса в раздел программирования. Мы ПОМОГАЕМ, но не РЕШАЕМ за других задачи.
Если задача сложная, то да, мы можем помочь. В данном случае же это стандартные задачи для первокурсников и для их решения достаточно нескольких дней прочтения рабочего материала.

vita_ivanova_95, первое и последнее китайское предупреждение. В следующий раз тема будет перемещена в тест-форум.

Tonny_Bennet 27-11-2011 15:37 1804255

Delirium, извините, только увидел как Вы в эту тему другого человека отправили, у которого я узнавал специальность :) Просто проснулся с бодуна небольшого решил мозги потренировать... как говорится заигрался.... постараюсь больше так не делать....

Delirium 28-11-2011 00:50 1804651

Tonny_Bennet, если хочешь, делай, кто мешает :) Просто политика такова, что мы пытаемся не просто решить задачу, а подтолкнуть человека на самостоятельное осмысление проблемы, таким образом он и решит сам и в голове знания отложатся. :)

Tonny_Bennet 28-11-2011 14:10 1804883

Цитата:

Цитата Delirium
мы пытаемся не просто решить задачу, а подтолкнуть человека на самостоятельное осмысление проблемы »


Эвристика

В Древней Греции под эвристикой понимали способ обучения, практикуемый Сократом, когда учитель приводит ученика к самостоятельному решению какой-либо задачи, задавая ему наводящие вопросы. В настоящее время эвристическими способами решения задач называют способы, позволяющие минимизировать перебор возможных решений, зачастую основанные на интуиции. Значительный интерес к исследованию эвристических методов возник в связи с возможностью решения ряда задач (распознавание объектов, доказательство теорем и т. д.), в которых человек не может дать точный алгоритм решения, с помощью технических устройств.


Согласен на все 100%.


Время: 10:46.

Время: 10:46.
© OSzone.net 2001-