М
Молодежь
К
Компьютеры-и-электроника
Д
Дом-и-сад
С
Стиль-и-уход-за-собой
П
Праздники-и-традиции
Т
Транспорт
П
Путешествия
С
Семейная-жизнь
Ф
Философия-и-религия
Б
Без категории
М
Мир-работы
Х
Хобби-и-рукоделие
И
Искусство-и-развлечения
В
Взаимоотношения
З
Здоровье
К
Кулинария-и-гостеприимство
Ф
Финансы-и-бизнес
П
Питомцы-и-животные
О
Образование
О
Образование-и-коммуникации
анютка6780
анютка6780
10.04.2021 04:16 •  Информатика

Язык программирования Си Дано предложение. В нем слова разделены одним пробелом (начальные и конечные пробелы и символ в предложении отсутствуют). Определить количество слов в предложении.

👇
Ответ:
GOKAS
GOKAS
10.04.2021

Для підрахунку кількості слів в реченні використовують мову програмування Си, можна скористатися наступним алгоритмом:

Оголосити змінну "count" і встановити її значення на 1. Це буде вихідне значення кількості слів в реченні.

Зчитати речення з вхідного потоку або ввести його з клавіатури.

Пройтися по кожному символу у реченні.

Перевірити, чи поточний символ є пробілом. Якщо так, збільшити значення "count" на 1.

Продовжити перевірку кожного символу до кінця речення.

Вивести значення "count", яке представляє кількість слів в реченні.

Ось приклад коду на мові програмування Си, який виконує цей алгоритм:

#include <stdio.h>

int main() {

int count = 1;

char sentence[100];

printf("Введіть речення: ");

gets(sentence);

for (int i = 0; sentence[i] != '\0'; i++) {

if (sentence[i] == ' ') {

count++;

}

}

printf("Кількість слів у реченні: %d\n", count);

return 0;

}

Будь ласка, зверніть увагу, що функція gets() використовується тут для отримання речення з клавіатури. Проте, варто зауважити, що ця функція не є безпечною і може призвести до переповнення буфера. Рекомендується використовувати безпечні функції для отримання введених даних, такі як fgets().

4,4(82 оценок)
Открыть все ответы
Ответ:
keksikgovad
keksikgovad
10.04.2021

Количество зёрен на клетке будет равно 2^(N-1)

Тут сказано использовать переменную типа integer, при этом надо помнить, что максимальный номер клетки, который можно задавать равен 31 (для номеров выше будет либо ошибка, либо неверный ответ).

Чтобы считать зерно вплоть до последней, 64-ой клетки шахматной доски- надо менять тип на uint64 либо BigInteger (но, они не везде доступны да и программу надо будет править).

Вариант с циклом loop (в нём задаётся число повторов)

function Zern2(a: integer): integer;

begin

Result := 1;

loop a-1 do

Result := Result * 2;

end;

begin

var n,m: integer;

write('Введите номер клетки: ');

Read(n);

m:=Zern2(n);

write('Зёрен на этой клетке: ',m,' шт.');

end.

Вариант с циклом while:

function Zern2(a: integer): integer;

begin

Result := 1;

while a>1 do

begin

Result := Result * 2;

a := a - 1;

end;

end;

begin

var n,m: integer;

write('Введите номер клетки: ');

Read(n);

m:=Zern2(n);

write('Зёрен на этой клетке: ',m,' шт.');

end.

Вариант без цикла:

function Zern2(a: integer): integer;

begin

Result := Trunc(power(2,a-1));

end;

begin

var n,m: integer;

write('Введите номер клетки: ');

Read(n);

m:=Zern2(n);

write('Зёрен на этой клетке: ',m,' шт.');

end.

4,8(81 оценок)
Ответ:
maina342
maina342
10.04.2021
Const 
n=5;

Var
 ar:array[1..n] of integer;
 ar2:array[1..n] of integer;
 i,k:integer;

 function prost(a:integer):boolean;
 var i:integer;
 b:boolean;
  begin
  b:=true;
   for i:=2 to a div 2 do
    if a mod i=0 then
     begin;
      b:=false;
      break;
     end;
   if a=1 then b:=false;
  prost:=b;
 end;

  begin;
 randomize;
 k:=0;
  for i:=1 to n do
   begin;
    ar[i]:=random(101);
    write(ar[i]:4);
   end;
  writeln;
  for i:=1 to n do
  if prost(ar[i]) then
   begin;
    inc(k);
    ar2[k]:=ar[i];
    write(ar2[k]:4);
   end;
end.
4,6(58 оценок)
Это интересно:
Новые ответы от MOGZ: Информатика
logo
Вход Регистрация
Что ты хочешь узнать?
Спроси Mozg
Открыть лучший ответ