Lloid1612
22.01.2021 22:40

Нужно написать подробное решение этих подпрограмм и сравнить что лучше использовать для решения процедуру или функцию и почему : процедура //uses crt; //подсчет количества слов в строке type arr = array[1..20] of string; procedure first(s: string; var a: arr; var k: integer); var t,i: integer; // переменные для хранения длины строки,количества вхождений символа в строку begin if s[1]=' ' then k: =1 else k: =2; t: =0; for i: = 1 to length(s) do begin if s[i]< > ' ' then begin t: =t+1 end else begin if s[i+1]< > ' ' then begin a[k]: =copy(s,i-t,t); t: =0; k: =k+1; end else t: =t+1; end; end; k: =k-1; end; //поиск n-ого слова procedure second(var s: string; a: arr; num: integer); var s2,l: string; i,h: integer; // переменные для хранения длинны строки,количества вхождений символа в строку begin num: =num+1; l: =a[num]; h: = pos(a[num],s); for i: =length(l) downto 1 do s2: =s2+l[i]; delete(s,h,length(l)); insert(s2,s,h); end; var s: string; a: arr; k: integer; begin //clrscr; readln(s); first(s,a,k); writeln('количество слов равно: ',k); {блок считает и выписывает слова из строки s в массив a, количество слов равно (k-1), при этом блок программы игнорирует пробелы в строке} second(s,a,2); writeln('строка после изменения: ',s); {выводим итоговое значение строки s с перевёрнутым вторым словом} readln; end. функция uses crt; type arr = array[1..20] of string; function first(s: string; var a: arr): integer; var k,i,t: integer; begin if s[1]=' ' then k: =1 else k: =2; t: =0; for i: = 1 to length(s) do begin if s[i]< > ' ' then begin t: =t+1 end else begin if s[i+1]< > ' ' then begin a[k]: =copy(s,i-t,t); t: =0; k: =k+1; end else t: =t+1; end; end; first: =k-1; end; function second(s: string; var a: arr; num: integer): string; var l,s2: string; i,h: integer; begin num: =num+1; l: =a[num]; h: = pos(a[num],s); for i: =length(l) downto 1 do s2: =s2+l[i]; delete(s,h,length(l)); insert(s2,s,h); second: =s; end; var s: string; a: arr; i,k: integer; begin clrscr; writeln('введите предложение : '); readln(s); k: =first(s,a); writeln('количество слов равно: ',k); s: =second(s,a,2); writeln('строка после изменения: ',s); readln; end.

Нажмите на рекламу ниже и сразу увидите ответ
Популярные вопросы:
Ответ:
karimovaanasta1
07.10.2021 20:22

#define _CRT_SECURE_NO_WARNINGS

#include <iostream>

#include <ctime>

#include <clocale>

#include <cstdlib>

void determax(int fnum, int snum) {

if (fnum > snum) {

 printf("Число %d больше числа %d\n\n", fnum, snum);

}  

else if (fnum < snum) {

 printf("Число %d больше числа %d\n\n", snum, fnum);

}

else if (fnum == snum) {

 printf("Числа %d и %d равны\n\n", snum, fnum);

}

}

int main() {

system("chcp 1251");

setlocale(LC_ALL, "Rus");

srand(time(NULL));

int a = rand() % 100, b = rand() % 100;

determax(a, b);

system("pause");

return 0;

}

0,0(0 оценок)
Ответ:
elviradonchuk
28.02.2020 12:39

1) задание

#include <iostream>

using namespace std;

int main(){

   int n;  

   cin >> n;

   if(n >= 3 && n <= 5){

       cout << "BecHa" ;

   }

   else if(n >= 6 && n <= 8){

       cout << "LeTo";

   }

   else{

       cout << "3uMa";

   }

}

2) Задание

#include <iostream>

using namespace std;

int main(){

   int a,b;

   cin >> a >> b;

   char c;

   cin >> c;

   if(c == '*'){

       cout << a * b;

   }

   else if(c == '/'){

       cout << a / b;

   }

   else if(c == '-'){

       cout << a - b;

   }

   else if(c == '+'){

       cout << a + b;

   }

   return 0;

}

3) задание

#include <iostream>

using namespace std;

int main(){

   setlocale(0, "");

   int a;

   cin >> a;

   if(a == 1){

       cout << "Философский камень ";

   }

   else if(a == 2){

       cout << "Тайная комната ";

   }

   else if(a == 3){

       cout << "Узник Азкабана ";

   }

   else if(a == 4){

       cout << "Огненный кубок ";

   }

   else if(a == 5){

       cout << "Орден Феникса ";

   }

   else if(a == 6){

       cout << "Принц-полукровка ";

   }

   else if(a == 7){

       cout << "Дары смерти ";

   }

   else if(a == 8 ){

       cout << "Проклятое дитя ";

   }

}

0,0(0 оценок)
Полный доступ
Позволит учиться лучше и быстрее. Неограниченный доступ к базе и ответам от экспертов и ai-bota Оформи подписку
logo
Начни делиться знаниями
Вход Регистрация
Что ты хочешь узнать?
Спроси ai-бота