Помогите перевести код с Pascal на cprogram glas;uses crt;type T_str=array[1..10] of
Помогите перевести код с Pascal на c
program glas;
uses crt;
type T_str=array[1..10] of string[80];
T_set=set of char;
var s,new: T_str;
alf,gls,sogl: T_set;
kol,i,j,kolg,kolsg,schet:byte;
prom: string;
begin
clrscr;
textcolor(green);
schet:=1;
kolg:=0; kolsg:=0;
alf:=['A'..'Z'];
gls:=['A','E','I','O','U','Y'];
sogl:=['B','C','D','F','G','H','J','K',
'L','M','N','P','Q','R','S','T','V','W','X'];
writeln;
writeln(' Vvedite kol-vo slov(ne gt; 10 !):');
readln(kol);
writeln;
textcolor(red);
writeln(' VVODIM TOLKO ZAGLAVNIMI !!!');
textcolor(green);
writeln;
for i:=1 to kol do
begin
writeln(' vvod ',i,'-go slova:');
readln(s[i]);
prom:=s[i];
kolg:=0; kolsg:=0;
for j:=1 to length(prom) do
begin
if (prom[j] in gls) then
kolg:=kolg+1
else kolsg:=kolsg+1;
end;
if kolggt;kolsg then
begin
new[schet]:=prom;
schet:=schet+1;
end;
end;
clrscr;
writeln;
writeln(' IsHodnii massiv slov:');
writeln;
for i:=1 to kol do
begin
write(' ',s[i]);
end;
readkey;
writeln;writeln;
writeln(' Slova gde gt; glas.');
writeln;
for i:=1 to schet do
begin
write(' ',new[i]);
end;
readkey;
end.
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Text.RegularExpressions;
internal static class Program
private const string glasnye_ = "aeiouy";
private const string soglasnye_ = "bcdfghjklmnpqrstvwxz";
private static void Main()
try
Console.WriteLine("Введите строку слов (любые знаки будут считаться разделителями)");
var s = Console.ReadLine();
Console.WriteLine("Гласных больше чем согласных:\n Task1(s).Aggregate("", (current, t) =gt; current + t.ToUpper() + " ")");
Console.WriteLine();
Console.WriteLine("Гласных больше чем согласных:\n Task1Regex(s).Aggregate("", (current, t) =gt; current + t.ToUpper() + " ")");
Console.ReadLine();
catch(Exception e)
Console.WriteLine(e);
Console.ReadLine();
private static IEnumerablelt;stringgt; Task1(string s)
Console.ForegroundColor = ConsoleColor.Cyan;
Console.WriteLine("Без поддержки постоянных выражений");
var words = s.Split(new[] ' ', '-', ',', '.', '*', ':', ';', '_', StringSplitOptions.RemoveEmptyEntries).ToList();
var sb = new StringBuilder();
for (var i = 0; i lt; words.Count; i++)
sb.AppendLine("Слово[i] = words[i].ToUpper()");
Console.Write(sb.ToString());
var result = new Listlt;stringgt;();
foreach (var word in words)
var k = 0;
foreach (var c in word.ToLower().ToCharArray())
k += glasnye_.Contains(c) ? 1 : 0;
k -= soglasnye_.Contains(c) ? 1 : 0;
if (k gt; 0)
result.Add(word);
return result;
private static IEnumerablelt;stringgt; Task1Regex(string s)
Console.ForegroundColor = ConsoleColor.Green;
Console.WriteLine("С постоянными выражениями");
var ms = Regex.Matches(s, @"[A-z]+", RegexOptions.IgnoreCase);
var sb = new StringBuilder();
for (var i = 0; i lt; ms.Count; i++)
sb.AppendLine("Слово[i] = ms[i].Value.ToUpper()");
Console.Write(sb.ToString());
var result = new Listlt;stringgt;();
for (var i = 0; i lt; ms.Count; i++)
var v = ms[i].Value;
var k = Regex.Matches(v, "[glasnye_]", RegexOptions.IgnoreCase).Count;
k -= Regex.Matches(v, "[soglasnye_]", RegexOptions.IgnoreCase).Count;
if (k gt; 0)
result.Add(v);
return result;
-
Вопросы ответы
Статьи
Информатика
Статьи
Разные вопросы.
Разные вопросы.
Математика.
Русский язык.
Русский язык.
Разные вопросы.
Қазақ тiлi.
Английский язык.
Математика.
История.