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

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

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

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

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

Ответ
 
Опции темы Поиск в этой теме
Старый 24.09.2014, 20:33   #1
TGOD
Пользователь
 
Регистрация: 24.09.2014
Сообщений: 12
По умолчанию Написать программу удаляющую дубликат строки

Дан двумерный массив. Рассматривая его построчно, написать программу, удаляющую дубликаты строк (сделать так, чтобы строки не повторялись). Помогите please
TGOD вне форума Ответить с цитированием
Старый 24.09.2014, 23:36   #2
WorldMaster
Старожил
 
Аватар для WorldMaster
 
Регистрация: 25.08.2011
Сообщений: 2,841
По умолчанию

В чем помочь то? Где наработки?
Skype - wmaster_s E-Mail - WorldMasters@gmail.com
Работаем по 3 критериям - быстро, качественно, недорого. Заказчик выбирает любые два.
WorldMaster вне форума Ответить с цитированием
Старый 24.09.2014, 23:41   #3
TGOD
Пользователь
 
Регистрация: 24.09.2014
Сообщений: 12
По умолчанию

Код:
using System;
using System.Collections.Generic;
using System.Linq;
 
namespace Test
{
    class Test : IEqualityComparer<int[]>
    {
        static void Main()
        {
            Console.WriteLine("Enter number of rows and columns in array (press enter between them):");
            var arr = new int[int.Parse(Console.ReadLine()), int.Parse(Console.ReadLine())];
            for (int i = 0; i < arr.GetLength(0); i++)
                for (int j = 0; j < arr.GetLength(1); j++)
                {
                    Console.WriteLine("Enter a[{0}, {1}]", i, j);
                    arr[i, j] = int.Parse(Console.ReadLine());
                }
 
            var list = new List<int[]>();
            for (int i = 0; i < arr.GetLength(0); i++)
            {
                list.Add(new int[arr.GetLength(1)]);
                for (int j = 0; j < arr.GetLength(1); j++)
                    list[i][j] = arr[i, j];
            }
 
            var arrNew = list.Distinct(new Test());
            foreach (var a in arrNew)
            {
                for (int i = 0; i < a.Length; i++)
                    Console.Write(a[i] + " ");
                Console.WriteLine();
            }
        }
 
        public bool Equals(int[] x, int[] y)
        {
            if (x.Length != y.Length) return false;
            for(int i = 0; i<x.Length; i++)
            {
                if (x[i] != y[i]) return false;
            }
            return true;
        }
 
        public int GetHashCode(int[] obj)
        {
            return 0;
        }
    }
}



___________
Код нужно оформлять по правилам:
тегом [CODE]..[/СODE]
(кнопочка на панели форматирования с решёточкой #)
Не забывайте об этом!

Модератор.

Последний раз редактировалось Serge_Bliznykov; 25.09.2014 в 09:28.
TGOD вне форума Ответить с цитированием
Старый 24.09.2014, 23:41   #4
TGOD
Пользователь
 
Регистрация: 24.09.2014
Сообщений: 12
По умолчанию

вот наработки, но что-то не так в ней
TGOD вне форума Ответить с цитированием
Старый 25.09.2014, 09:16   #5
WorldMaster
Старожил
 
Аватар для WorldMaster
 
Регистрация: 25.08.2011
Сообщений: 2,841
По умолчанию

Цитата:
Сообщение от TGOD Посмотреть сообщение
вот наработки, но что-то не так в ней
Что именно?
Skype - wmaster_s E-Mail - WorldMasters@gmail.com
Работаем по 3 критериям - быстро, качественно, недорого. Заказчик выбирает любые два.
WorldMaster вне форума Ответить с цитированием
Старый 25.09.2014, 10:31   #6
cerkonst
Пользователь
 
Аватар для cerkonst
 
Регистрация: 18.01.2011
Сообщений: 19
По умолчанию

Цитата:
Сообщение от TGOD Посмотреть сообщение
вот наработки, но что-то не так в ней
вы хотя бы попытались что-то написать, а не набор функций не связаных между собой.
Особенно красивая вот эта:
Цитата:
Сообщение от TGOD;
Код:
public int GetHashCode(int[] obj)
        {
            return 0;
        }
Здесь помогают решить проблему, а не сделать все за вас.
___________________________________ _________
Самые гениальные идеи - самые простые.
Помог с ответом нажми на весы.
cerkonst вне форума Ответить с цитированием
Старый 25.09.2014, 18:04   #7
TGOD
Пользователь
 
Регистрация: 24.09.2014
Сообщений: 12
По умолчанию

ну вы хотя бы можете дать направление в котором мне смотреть, как что делать? я не разбираюсь в этом, поэтому прошу
TGOD вне форума Ответить с цитированием
Старый 25.09.2014, 18:16   #8
WorldMaster
Старожил
 
Аватар для WorldMaster
 
Регистрация: 25.08.2011
Сообщений: 2,841
По умолчанию

Цитата:
Сообщение от TGOD Посмотреть сообщение
ну вы хотя бы можете дать направление в котором мне смотреть, как что делать? я не разбираюсь в этом, поэтому прошу
Вы сам алгоритм в голове представляете? По пунктам распишите на листике .. и там видно будет
Skype - wmaster_s E-Mail - WorldMasters@gmail.com
Работаем по 3 критериям - быстро, качественно, недорого. Заказчик выбирает любые два.
WorldMaster вне форума Ответить с цитированием
Старый 25.09.2014, 21:18   #9
Stilet
Белик Виталий :)
Старожил
 
Аватар для Stilet
 
Регистрация: 23.07.2007
Сообщений: 57,097
По умолчанию

Предложу такое:
Код:
using System;

namespace рр
{
	class MainClass
	{
		static int [,] a={{1,2},{2,3},{1,5}};

		public static int seek(int iRow){
			int cnt=0;
			for (int i = 0; i < a.GetLength (0); i++) {
				int k = 0;
				for (int j = 0; j < a.GetLength (1); j++) {
					if (a [iRow, j] == a [i, j])
						k++;
				}
				if (k == a.GetLength (1))
					cnt++;
			}
			return cnt;
		}

		public static void Main (string[] args)
		{

			for (int i = 0; i < a.GetLength (0); i++) {
				if(seek(i)==1)
				for (int j = 0; j < a.GetLength (1); j++) {
						Console.Write ("{0}\t",a[i,j]);
				}
				Console.WriteLine ();
			}
			Console.ReadKey ();
		}
	}
}
I'm learning to live...
Stilet вне форума Ответить с цитированием
Ответ


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



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
написать программу инвертирования строки на асемблере Ipman222 Assembler - Ассемблер (FASM, MASM, WASM, NASM, GoASM, Gas, RosAsm, HLA) и не рекомендуем TASM 3 31.05.2014 17:24
Assemler. Написать программу, удаляющую все цифры "1" из исходной строки. lady.Meri Помощь студентам 1 24.04.2013 17:53
подпрограмму, удаляющую из строки повторяющиеся слова (Delphi) kt35 Помощь студентам 1 01.06.2011 13:34
не могу написать программу на строки MAX_150275 Помощь студентам 4 14.05.2011 17:03
Напишите программу, удаляющую из всех слов предложения k-ую букву parovoz121 Помощь студентам 5 05.06.2010 15:49