Тема: допоможіть з С#
Дано послідовність слів, відокремлених комами, в кінці крапка. Надрукувати всі слова, відмінні від останнього якщо кожна літера входить в слово не менше двох разів.
Ви не увійшли. Будь ласка, увійдіть або зареєструйтесь.
Ласкаво просимо вас на україномовний форум з програмування, веб-дизайну, SEO та всього пов'язаного з інтернетом та комп'ютерами.
Будемо вдячні, якщо ви поділитись посиланням на Replace.org.ua на інших ресурсах.
Для того щоб створювати теми та надсилати повідомлення вам потрібно Зареєструватись.
Український форум програмістів → C#, .NET → допоможіть з С#
Сторінки 1
Для відправлення відповіді ви повинні увійти або зареєструватися
Дано послідовність слів, відокремлених комами, в кінці крапка. Надрукувати всі слова, відмінні від останнього якщо кожна літера входить в слово не менше двох разів.
/*
* Сделано в SharpDevelop.
* Пользователь: user
* Дата: 25.03.2017
* Время: 9:26
* Дано послідовність слів, відокремлених комами, в кінці крапка.
* Надрукувати всі слова, відмінні від останнього
* якщо кожна літера входить в слово не менше двох
*/
using System;
using System.Collections.Generic;
namespace Ex001
{
class Program
{
static string inputString = "word1,word8,word2,UserresU,word3,word4,word5,word6,word7word7,word8.";
static List<string> inputList = new List<string>();
public static void Main(string[] args)
{
Console.WriteLine("Hello World!");
StringToList(inputString);
PrintList(inputList);
string lastWord = inputList[inputList.Count-1];
inputList.RemoveAt(inputList.Count-1);
PrintList(inputList);
List<string> uList = GetUniqeList(inputList,lastWord);
PrintList(uList);
List<string> endList = GetLDblLetlist(uList);
PrintList(endList);
// TODO: Implement Functionality Here
Console.Write("Press any key to continue . . . "+lastWord);
Console.ReadKey(true);
}
static void StringToList(string s)
{
inputList.AddRange(s.Split(",.".ToCharArray(), StringSplitOptions.RemoveEmptyEntries));
//inputList.RemoveAt(
}
static List<string> GetLDblLetlist(List<string> lst)
{
List<string> retList = new List<string>();
foreach (string element in lst) {
char[] chArray = element.ToCharArray();
bool b = false;
foreach (char ch in chArray) {
if (!IsExistsChar(ch, element)) {
b = false;
break;
}
b=true;
}
if (b == true) {
retList.Add(element);
}
}
return retList;
}
static bool IsExistsChar(char ch, string s)
{
int count = 0;
char[] chArray = s.ToCharArray();
foreach (char element in chArray) {
if (ch == element) {
count++;
}
} //s.IndexOf( P
bool b = (count > 1) ? true : false;
return b;
}
static List<string> GetUniqeList(List<string> lst, string s)
{
List<string> retList = new List<string>();
foreach (string element in lst) {
if (element != s) {
retList.Add(element);
}
}
return retList;
}
static void PrintList(List<string> lst) {
string s = string.Empty;
foreach(string e in lst) {
s += e +",";
}
//s.Substring(0,s.Length - 2);
Console.WriteLine(s.Substring(0,s.Length - 2)+"\r\n");
}
}
}
Мене одного бентежить таке завдання?
Якесь воно... загнуте...
Але з того що я зрозумів мабудь рішення буде десь таким:
string s = "Дано,папаха,слів,парапапая,відокремлених,комами,в,кінці,па";
var w = s.Split(',');
var q = from i in w
where i!=w.Last()
where w.Last().Where(c => i.Count(v => v == c) < 2).Count() == 0
select i;
Console.Write(String.Join(" ", q));
Console.ReadKey();
Ми порізному зрозуміли умови задачі
Ми порізному зрозуміли умови задачі
Тому що вони (умови) некоректно пiднесени
Сторінки 1
Для відправлення відповіді ви повинні увійти або зареєструватися