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

Составьте программу, выясняющую, есть ли в слове х хотя бы одна из букв "о" или "а"?

👇
Ответ:
Var
  s, w: string;
  i, X, n, k, p, q: integer;

begin
  Writeln('Введите фразу, разделяя слова ровно одним пробелом');
  Readln(s);
  Write('Введите номер слова для поиска: '); Readln(X);
  {
  Ищем в строке s местоположение слова номер Х.
  Его начальную позицию в строке обозначим p, а конечную - q
  }
  n := Length(s);
  i := 1; k := 0; p := 0; q := 0;
  repeat
    if s[i] = ' ' then
    begin
      Inc(k);
      if k = X - 1 then p := i + 1
      else if k = X then q := i - 1
    end;
    if q = 0 then i := i + 1
  until (q > 0) or (i > n);
  if (p = 0) then Writeln('Количество слов в строке меньше ', X)
  else if q = 0 then q := n;
  w := Copy(s, p, q - p + 1);
  if (Pos('а', w) > 0) or (Pos('о', w) > 0) then
    Writeln('Одна из букв (а,о) есть в слове "', w, '"')
  else Writeln('В слове "', w, '" нет ни буквы а, ни буквы о')
end.

Тестовое решение:
Введите фразу, разделяя слова ровно одним пробелом
Самая лучшая рыба- это колбаса!
Введите номер слова для поиска: 5
Одна из букв (а,о) есть в слове "колбаса!"

Введите фразу, разделяя слова ровно одним пробелом
Тестирование программ может служить доказательством наличия ошибок, но никогда не докажет их отсутствие!» Эд. Дейкстра, 1972 г.
Введите номер слова для поиска: 4
В слове "служить" нет ни буквы а, ни буквы о
4,8(83 оценок)
Ответ:
Dindonn
Dindonn
03.07.2022
#include <iostream>
#include <string>

int main()
{
std::string x;
std::cin >> x;

bool same= false;
for (auto i : x){
    if (i == 'o' || i == 'a') {same = true; break;}
}
std::cout << std::boolalpha << same;

return 0;
}
4,7(9 оценок)
Открыть все ответы
Ответ:
ifraank
ifraank
03.07.2022

1) Если изначальный массив НЕ дан, т.е необходимо его заполнить случайными числами

#include <iostream>

#include <cstdlib>

#include <ctime>

using namespace std;

void GetMaxAndMinIndex(int* data,int* MaxIndex,int* MinIndex) {

for (int i = 0; i < 200; ++i) {

 if (data[i] > data[i + 1]) {

  *MaxIndex = i;

 }

 if (data[i] < data[i + 1]) {

  *MinIndex = i;

 }

}

}

void SearchSrAr(int* data,int* MaxIndex,int* MinIndex) {

int tmpI = 0;

int TmpNum = 0;

for (int i = *MinIndex; i < *MaxIndex; ++i) {

 TmpNum = TmpNum + data[i];

 tmpI++;

}

double output = TmpNum / tmpI;

cout <<"Ваше число "<< output;

}

int main() {

setlocale(LC_ALL, "Russian");

int* data = new int[200];

int MaxIndex = 0, MinIndex = 100;

srand(time(NULL));

for (int i = 0; i < 200;++i) {

 data[i] = rand() % 100;

}

GetMaxAndMinIndex(data, &MaxIndex, &MinIndex);

SearchSrAr(data, &MaxIndex, &MinIndex);

delete[] data;

}

И если этот массив и его размер нам известны

#include <iostream>

#include <cstdlib>

#include <ctime>

using namespace std;

void GetMaxAndMinIndex(int* data,int* MaxIndex,int * n,int* MinIndex) {

for (int i = 0; i < *n; ++i) {

 if (data[i] > data[i + 1]) {

  *MaxIndex = i;

 }

 if (data[i] < data[i + 1]) {

  *MinIndex = i;

 }

}

}

void SearchSrAr(int* data,int* MaxIndex,int* MinIndex) {

int tmpI = 0;

int TmpNum = 0;

for (int i = *MinIndex; i < *MaxIndex; ++i) {

 TmpNum = TmpNum + data[i];

 tmpI++;

}

double output = TmpNum / tmpI;

cout <<"Ваше число "<< output;

}

int main() {

setlocale(LC_ALL, "Russian");

int n;

cout << "Введите количество чисел в массиве " << endl;

cin >> n;

int* data = new int[n];

int MaxIndex = 0, MinIndex = 100;

cout << "Введите ваш массив " << endl;

for (int i = 0; i < n; ++i) {

 cin >> data[i];

}

GetMaxAndMinIndex(data, &MaxIndex,&n, &MinIndex);

SearchSrAr(data, &MaxIndex, &MinIndex);

delete[] data;

}

Объяснение:

Код на с++

4,5(8 оценок)
Ответ:
юля2761
юля2761
03.07.2022

const

 N = 10;

var

 B: array[1..N+1] of integer;

 Sum, i, first_even_i: integer;

Begin

 WriteLn('Введите массив: ');

 For i := 1 to N do

   Read(B[i]);

 

 For i := 1 to N-1 do

   if (B[i+1] mod 2 <> 0) then

     B[i] := 0;

 

 For i := 1 to N do

   if (B[i] mod 2 = 0) then

   begin

     first_even_i := i;

     break;

   end;

 

 For i := N+1 downto first_even_i + 1 do

   B[i] := B[i-1];

 

 B[first_even_i] := 0;

 

 WriteLn('Среднее арифметическое всех элементов: ', Sum / (N + 1));

 WriteLn('Получившийся массив: ', B);

End.

4,4(81 оценок)
Это интересно:
Новые ответы от MOGZ: Информатика
logo
Вход Регистрация
Что ты хочешь узнать?
Спроси Mozg
Открыть лучший ответ