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

Решить в стиле турбо паскаля 80-х годов. тема: одномерные массивы известны данные о мощности двигателя(в л.с.) и стоимости 30-ти марок легковых автомобилей. напечатать стоимость каждого из автомобилей, у которых мощность двигателя не превышает 80 л.с.

👇
Ответ:
Retrostyle
Retrostyle
24.04.2023
Uses Crt;

const
  n=30;

type
  tA=array[1..n] of integer;
  tS=array[1..n] of string[30];
 
var
  i:integer;
  p,c:tA;
  s:tS;

begin
  ClrScr;
  for i:=1 to n do begin
    Write('Марка автомобиля ',i,': ');
    Readln(s[i]);
    Write('его мощность (л.с.) и стоимость (руб.); ');
    Readln(p[i],c[i])
    end;
  Writeln;  
  Writeln('Автомобили мощностью не более 80 л.с.');
  for i:=1 to n do
    if p[i]<=80 then Writeln(s[i]:30,p[i]:10,c[i]:10);
  ReadKey;
end.
4,4(30 оценок)
Открыть все ответы
Ответ:
Fulfevgen
Fulfevgen
24.04.2023

1) тк не уточнила загружаем из файла, или вводим с клавиатуры, получай с этими двумя функциями. в каталоге с программой должен быть файлик .txt

 

var a,filename:string[255];
chk,i,res:integer;
f1:Text;
begin
res:=0;
chk:=0;
Writeln('1. Input line');
Writeln('2. Load from file');
Readln(chk);
if chk=1 then
begin
  Writeln('Input line: ');
  Readln(a);
  for i:=1 to Length(a) do
    if a[i]='.' then
    res:=res+1;
  Writeln('Result: ',res);
end;
if chk=2 then
begin
  writeln('Input name of file: ');
  Readln(filename);
  filename:=filename+'.txt';
  Assign (f1, filename);
  Reset(f1);
  while not eof (f1) do
    begin
    readln (f1, a);
    writeln(a);
    for i:=1 to Length(a) do
        if a[i]='.' then
        res:=res+1;
    end;
  Writeln('Result: ',res);
  Close (f1);
end;
readln;
end.

 

 

 

 

2) вводим не запятую, а точку, как разделитель частей числа

 

var a,substr:string[100];
x,res,i:integer;
begin
writeln('Input number:');
Readln(a);
substr:='.';
x:=Pos(substr,a);
for i:=1 to x-1 do
  res:=res+strtoint(a[i]);
Writeln('Result of first part: ',res);
res:=0;
for i:=x+1 to Length(a) do
  res:=res+StrToInt(a[i]);
Writeln('Result of second part: ',res);
readln;
end.

4,7(91 оценок)
Ответ:
Sokol123412343412
Sokol123412343412
24.04.2023

А давайте!) Я пишу на C, но алгоритм лёгок, и его запросто можно перевести на другой язык.

Итак.

 

int mas [3]; //объявляем массив

mas[0]=1;

mas[1]=2;

mas[2]=3; //присваиваем элементам значения

int i=0; //переменная для цикла

 

for(i=0; i<sizeof(mas)-1; i++){ //пробегаемся по всем элементам массива

if(mas[i]%2==0){ // если остаток от деления - 0, то число четное

mas[i]=mas[i]*mas[i];

}else{ // для нечетных

mas[i]=mas[i]*2;

}

}

 

Ну вот. В принципе, должно работать. Если чего-то непонятно - напишите :)

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