Все технические форумы на одном сайте Удобный поиск информации с популярных форумов в одном месте
Вопрос: Подсчитать количество соседних пар элементов с противоположным значением

Даны 30 чисел в интервале от -20 до 20. Подсчитать количество соседних пар элементов с противоположным значением.
Ответ:
Сообщение от Ананасик
Подсчитать количество соседних пар элементов с противоположным значением.
Значением или знаком? То есть парой будет только "-5 5" или "-5 12" тоже подходит?

Добавлено через 6 минут
Вот программа, определяющая количество пар чисел, противоположных по знаку, если нужно что-то другое - просто поменяйте условие во втором цикле в ветвлении:

Pascal ABC.net

Pascal
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
program NumbersAndPairs;
 
var
  Ar : array [1..30] of Integer;
  i : Integer;
  Counter : Word;
 
begin
  //формируем и выводим ряд чисел
  randomize;
  for i := 1 to 30 do
    begin
      Ar[i] := random(40) - 20;
      write (Ar[i], ' ');
    end;
    
    
  //находим количество пар в этом ряду
  Counter := 0;
  for i := 1 to 29 do
    if ((Ar[i] > 0) and (Ar[i+1] < 0))  //если пара (отрицательный; положительный)
       or
       ((Ar[i] < 0) and (Ar[i+1] > 0))  //если пара (положительный; отрицательный)
    then Inc(Counter);
  
  
  writeln;
  writeln('Kolichestvo par: ', Counter);
  readln;
end.
Вопрос: Подсчитайте количество всех возможных линейных троек

Упорядоченная тройка чисел (s1,s2,s3) называется линейной, если
равны разности s2-s1 и s3-s2. Например: (1,2,3), (2,4,6), (14,21,28).
Вам дано отсортированное множество из N (3 <= N <= 30) уникальных целых
чисел в диапазоне от 1 до 100. Подсчитайте количество всех возможных
линейных троек, которые можно из них сформировать.
Ответ:
Код Pascal
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
{Упорядоченная тройка чисел (s1,s2,s3) называется линейной, если
равны разности s2-s1 и s3-s2. Например: (1,2,3), (2,4,6), (14,21,28).
Вам дано отсортированное множество из N (3 <= N <= 30) уникальных целых
чисел в диапазоне от 1 до 100. Подсчитайте количество всех возможных
линейных троек, которые можно из них сформировать.}
const
  n=6;
var
  x:array [1..n] of word;
  k,i:word;
function IfLinear(s1,s2,s3:word):boolean;
begin
  IfLinear:=(s2-s1)=(s3-s2);
end;
begin
  k:=0;
  x[1]:=2; x[2]:=4; x[3]:=6; x[4]:=14; x[5]:=21; x[6]:=28;
  for i:=2 to n-1 do
    if iflinear(x[i-1],x[i],x[i+1]) then
      inc(k);
  writeln('Количество всех возможных линейных троек: ',k);
  readln;
end.
Вопрос: Подсчитать количество слов, заканчивающихся на заданное сочетание букв

Дано предложение-строка. Подсчитать количество слов, заканчивающихся на заданное сочетание букв.
Ответ: Вариант с использованием регулярных выражений:
Visual Basic
1
2
3
4
5
6
7
8
9
10
11
12
Sub OkonchaniySlov()
    Dim s$, k&, okon$
    okon = "ние"
    s = "Дано предложение-строка. Подсчитать количество слов, заканчивающихся на заданное сочетание букв."
    's = "С выполнением просматривал почту."
    With CreateObject("VBScript.RegExp"): .Global = True
        .Pattern = "(?:[а-яё])" & okon & "(?=[^а-яё]|$)"
        If .test(s) Then k = .Execute(s).Count
        MsgBox "В тексте " & Chr(34) & s & Chr(34) & vbCrLf & _
            "Количество слов, заканчивающихся на " & Chr(34) & okon & Chr(34) & " = " & k
    End With
End Sub
Вопрос: Подсчитать количество букв "a" в n-ном слове строки

Дана строка. Необходимо подсчитать количество букв a в ее n-ом слове. Спасибо
Ответ: Да с кодировкой так получилось, вот читаемый вариант:
Код Visual Basic
1
2
3
4
5
Sub pr()
    Dim sl$
    sl = Split("Дана строка. Необходимо подсчитать количество букв a в ее n-ом слове. Спасибо")(InputBox("Выбери номер слова"))
    MsgBox "В выбранном слове букв 'а' - " & Len(sl) - Len(Replace(sl, "а", ""))
End Sub
Вопрос: подсчитать количество букв "о" в строке введеной с клавиатуры

подсчитать количество букв "о" в строке введеной с клавиатуры и удалить их из этой строки
Ответ:
Pascal
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
{подсчитать количество букв "о" в строке введеной с клавиатуры и удалить их 
из этой строки }
var
  s: string;
  k, i: integer;
 
begin
  readln(s);
  for i := length(s) downto 1 do
    if s[i] = 'o' then
    begin
      inc(k);
      delete(s, i, 1);
    end;
  writeln(s);
  writeln(k);
end.
Вопрос: Подсчитать количество гласных букв в каждом слове предложения (через библиотечную функцию)

решение через библиотечную функцию


Ввести с клавиатуры предложение. Подсчитать количество гласных букв в каждом слове предложения.

Код программы на си.
Спасибо за помощь
Ответ:
Сообщение от Максимии
Подсчитать количество гласных букв в каждом слове предложения.
C
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
#define GL "eEiIyYuUoOaA"
#define DEL " ,.!?;:"
#define N 255
int main(void)
{
    char str[N]="Lorem ipsum dolor sit amet, consectetur adipiscing ";
    char *p, *x;
    int c=0;
    for(p=strtok(str, DEL); p; p=strtok(NULL,DEL))
    {
        x=p;
        while((x=strpbrk(x, GL))!=NULL)
        {
            ++x;
            ++c;
        }
        printf("%s = %d\n", p, c);
        c=0;
    }
    return 0;
}
Вопрос: Подсчитать количество слов во введенном предложении

Подсчитать количество слов во введенном предложении.
Ответ:
Сообщение от SUPER_S
Как-то так....
Совсем не так, - вы ошиблись разделом форума.
Сообщение от Rage122435
Подсчитать количество слов
C
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
#include <stdio.h>
#include <stdlib.h>
#define N 255
int main(void)
{
    int k, i;
    char p, t;
    char str[N]="Lorem ipsum dolor sit amet, consectetur adipiscing elit.";
    i=0; p=' '; k=0;
    while(str[i])
    {
        t=str[i];
        if(t!=' ' && p == ' ')++k;
        p=t;
        ++i;
    }
    printf("%d\n", k);
  return 0;
}
Вопрос: Подсчитать количество компьютеров в сети

Всем привет! Есть функция, которая выводит в listbox имена компьютеров в сети. Вопрос. А можно как то без вывода компьютеров в listbox (и подсчета там строк) подсчитать сколько всего компьютеров в сети? спасибо.
vb.net
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
  Sub FindingThreats()
 
        Dim childEntry As DirectoryEntry
        Dim ParentEntry As New DirectoryEntry
        Try
            ParentEntry.Path = "WinNT:"
            For Each childEntry In ParentEntry.Children
                Select Case childEntry.SchemaClassName
                    Case "Domain"
 
                        Dim SubChildEntry As DirectoryEntry
                        Dim SubParentEntry As New DirectoryEntry
                        SubParentEntry.Path = "WinNT://" & childEntry.Name
                        For Each SubChildEntry In SubParentEntry.Children
                            Select Case SubChildEntry.SchemaClassName
                                Case "Computer"
                                    Try
 
                                        If My.Computer.Network.Ping(SubChildEntry.Name) = True Then
                                            ListBox1.Items.Add(SubChildEntry.Name)
                                        ElseIf My.Computer.Network.Ping(SubChildEntry.Name) = False Then
                                            MsgBox(SubChildEntry.Name)
                                        End If
 
                                    Catch ex As Exception
                                        MsgBox(ex.Message & " " & SubChildEntry.Name)
                                    End Try
                            End Select
                        Next
                End Select
            Next
        Catch Excep As Exception
            MsgBox("Error While Reading Directories : " + Excep.Message.ToString)
        Finally
            ParentEntry = Nothing
        End Try
    End Sub
Ответ: Orlangur1991, спасибо, разобрался
Вопрос: Подсчитайте количество нулей среди введенных чисел и выведите это количество

Есть задача, никак не могу понять, как принимать различное количество строк во входных данных:

Дано N чисел: сначала вводится число N, затем вводится ровно N целых чисел. Подсчитайте количество нулей среди введенных чисел и выведите это количество. Вам нужно подсчитать количество чисел, равных нулю, а не количество цифр.

Не столь нужно решение как подсчитать числа, сколько помощь с входными данными.
Ответ:
Сообщение от Marinero
Для меня вообще непонятно, почему надо ограничивать ввод N строками, числами и т.д (постоянно сталкиваюсь с такими примерами в питоновых задачах)? Составители задач не знают как ограничить ввод?
Если это задача для решения на Python'е - мне тоже не очень понятно. В задачах школьноолимпиадного уровня, которые можно решать на разных языках, такое делают, наверное, чтобы уж точно ни у кого проблем с вводом не было, потому что написать цикл от 1 до n может большее количество человек, чем поймать исключение в новом Pascal'е или использовать $I- и IOResult в старом.
Вопрос: Подсчитать количество букв “к” в самом длинном слове

Здравствуйте! Помогите, пожалуйста, с задачей

7. В заданном русском тексте слова разделены не менее чем одним пробелом.
a. подсчитать количество букв “к” в самом длинном слове.
b. подсчитать количество слов- палиндромов.
c. подсчитать сколько различных символов в каждом слове.
Ответ: А чего так много лишних действий?
Pascal
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
begin
  var L :=
  System.IO.&File.ReadAllText(ReadLnString('Имя файла:'), System.Text.Encoding.UTF8).
    Split((NewLine + ' ,."?-!();:[]*/<>0123456789''—…«»').ToCharArray()).Distinct(System.StringComparer.CurrentCultureIgnoreCase);
    
  var longest := L.OrderByDescending((s : string) -> Length(s)).FirstOrDefault();
  writeln('a) самое длинное слово: ', longest, '; букв "к" в нем: ', 
    Length(longest) - Length(longest.Replace('к', '')));
  var p := L.Where((s : string) -> (Length(s) > 1) and string.Equals(s, ReverseString(s),System.StringComparison.CurrentCultureIgnoreCase));
  writeln('b)' + string.Join(NewLine, p.ToArray()) +
    NewLine + 'количество слов - палиндромов: ', p.Count());
    
  writeln('c) количество различных символов в каждом слове:' +
    NewLine + string.Join(NewLine, L.Select((s : string) -> s + ' -> ' + IntToStr(s.ToCharArray().Distinct().Count())).ToArray()));
end.