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

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

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

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

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

Ответ
 
Опции темы Поиск в этой теме
Старый 05.12.2016, 12:00   #1
Владислав9494
Новичок
Джуниор
 
Регистрация: 05.12.2016
Сообщений: 1
По умолчанию Ввести предложения. Вывести на консоль длинное слово в нем

Помогите переписать код на язык с#
Код:
#include <stdio.h>
#include <string.h>
main() {
    char s[100];
    int i, id, max, count, len;
    gets(s);
    len = strlen(s);
    max = 0;
    id = 0;
    count = 0;
    for (i=0; i<len; i++)
        if (s[i] != ' ') count += 1;
        else {
            if (count > max) {
                max = count;
                id = i - count;
            }
            count = 0;
        }
 
    if (count > max) {
        max = count;
        id = i - count;
    }
    max += id;
    for (i=id; i<max; i++)
        putchar(s[i]);
    printf("\n");
}
_____
Код программы нужно выделять (форматировать) тегами [CODE] (читать FAQ)
Модератор

Последний раз редактировалось Владислав9494; 05.12.2016 в 12:27.
Владислав9494 вне форума Ответить с цитированием
Старый 05.12.2016, 15:01   #2
tools
Форумчанин
 
Регистрация: 07.10.2008
Сообщений: 213
По умолчанию

Код:
using System;

class Program
{
    static void Main(string[] args)
    {
        Console.WriteLine("Type in some sentence");
        string s = Console.ReadLine();
        int count = 0, max = 0, id = 0, i = 0;
        for (i = 0; i < s.Length; i++)
        {
            if (s[i] != ' ')
            {
                count++;
            }
            else
            {
                if (count > max)
                {
                    max = count;
                    id = i - count;

                }
                count = 0;
            }                
        }

        if (count > max)
        {
            max = count;
            id = i - count;
        }

        max += id;
        for (int j = id; j < max; j++)
            Console.Write(s[j]);
        Console.WriteLine();
    }
}
tools вне форума Ответить с цитированием
Старый 05.12.2016, 16:18   #3
Serge_Bliznykov
Старожил
 
Регистрация: 09.01.2008
Сообщений: 26,229
По умолчанию

да, нормальный перевод.

а вот ещё вариант решения данной задачи:
Код:
		public static void Main(string[] args)
		{
			Console.WriteLine("Type in some sentence");
			string s = Console.ReadLine();
        
			string maxWord = "";
			foreach (string one_word in s.Split(' ')) {
				if(one_word.Length>maxWord.Length)
					maxWord = one_word;
			}
			Console.WriteLine("the longest word: {0}", maxWord);
			
			Console.Write("Press any key to continue . . . ");
			Console.ReadKey(true);
		}
Serge_Bliznykov вне форума Ответить с цитированием
Ответ


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

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

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


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Найти самое длинное симметричное слово заданного предложения Ана88 Паскаль, Turbo Pascal, PascalABC.NET 8 07.12.2015 21:58
Как вывести в консоль слово 50 раз I_I_I Общие вопросы C/C++ 8 14.07.2013 01:15
Вывести на экран предложения, в которых есть хотя бы одно слово состоящее из 7 букв Shonny94 Помощь студентам 0 18.02.2013 17:40
Найти самое длинное симметричное слово заданного предложения С++ swimming1 Фриланс 6 30.11.2010 18:50
Вывести самое длинное слово (Си) ManInBlack Помощь студентам 10 19.01.2009 00:17