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

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

Вернуться   Форум программистов > IT форум > Помощь студентам
Регистрация

Восстановить пароль

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

Ответ
 
Опции темы Поиск в этой теме
Старый 16.12.2010, 01:35   #1
eduDo
Новичок
Джуниор
 
Регистрация: 15.12.2010
Сообщений: 3
По умолчанию Даны 2 массива

Даны два массива x[1] <= ... <= x[k], y[1] <= ... <= y[l].
Найти их "пересечение", т.е. массив z[1] <= ... <= z[m],
содержащий их общие элементы, причем, кратность каждого элемента
в массиве z равняется минимуму из его кратностей в массивах x и y.
Число действий должно быть порядка k+l.

Ниже код, где я описал массивы х, у. И массив z, но z не соответсвует условию задания а просто выводит элементы, которые пересекаются..( Условие : найти пересечение массива х и у т.е. миссив z содержащий общие элементы х и у, причем, кратность каждого элемента в массиве z равняется минимуму из его кратностей в массивах x и y,число действий должно быть порядка k+l.)

ЧЕМ ВОСПОЛЬЗОВАТЬСЯ И КАК ПРАВИЛЬНО ОТЛАДИТЬ ПРОГРАММУ ПО УСЛОВИЮ ЗАДАНИЯ:?


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

namespace ConsoleApplication6
{
    class Program
    {
        static void Main(string[] args)
        {
            int t = 0;
            int k = Convert.ToInt32(Console.ReadLine());
            int l = Convert.ToInt32(Console.ReadLine());
            double[] x = new double[k];
            double[] y = new double[l];
            double m = k + l;
            Random a = new Random();
            for (int i = 0; i < k; i++)
            {
                x.SetValue(a.Next(0, 10), i);
            }
            for (int j = 0; j < l; j++)
            {
                y.SetValue(a.Next(0, 10), j);
            }


            for (int i = 0; i < k; i++)
            {
                Console.Write("  " + x[i]);
            }
            Console.WriteLine();
            for (int j = 0; j < l; j++)
            {
                Console.Write("  " + y[j]);
            }

            Console.WriteLine(); Console.WriteLine();
            double[] z = new double[k * l];    // ograni4enie possledovatelnostu
            for (int i = 0; i < k; i++)        //proveraem perese4enie i zapusyvaem kak maccub
            {
                for (int j = 0; j < l; j++)
                {

                    if (x[i] == y[j])
                    {
                        
                        z.SetValue(x[i], t); Console.Write("  " + z[t]);
                        t++;
                    }

                }
            }
        }
    }
}

Последний раз редактировалось eduDo; 16.12.2010 в 01:37.
eduDo вне форума Ответить с цитированием
Ответ


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



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Даны два массива x[1] <= ... <= x[k], y[1] <= ... <= y[l]. eduDo Общие вопросы .NET 0 15.12.2010 17:00
Даны два массива x[1] <= ... <= x[k], y[1] <= ... <= y[l]. eduDo Общие вопросы C/C++ 0 15.12.2010 16:25
Даны два одномерных массива, содержащие вещественные числа. Упорядочить по убыванию значен [Meeen] Общие вопросы C/C++ 1 08.06.2010 00:49
Даны три массива по 10 элементов в каждом. ЮРИЙ ЮРЫЧ Помощь студентам 0 23.12.2009 19:38
1. Даны массивы Waia Помощь студентам 0 20.12.2009 18:09