Перейти к содержанию

Задачи на Pascal/Delphi (РЕШЕНИЕ)


Рекомендуемые сообщения

ght


const n = 7;
var c: array[1..n] of integer;
s,i: integer;
begin
clrscr;
for i := 1 to n do
begin
write( 'c[',i,'] = ' );
read( c[i] );
end;
s := 1;
for i := 1 to n do
s := s * c[i];
if ( s < 0 ) then
writeln( abs(s) )
else
writeln(s);
readkey;
end.
uses crt;


const n = 7;
var c: array[1..n] of integer;
s,i,max,min,maxi,mini: integer;
begin
clrscr;
for i := 1 to n do
begin
write( 'c[',i,'] = ' );
read( c[i] );
end;
max:= c[1];
min:= c[1];
for i := 1 to n do
if ( max < c[i] ) then
begin
max := c[i];
maxi := i;
end;
for i := 1 to n do
if ( min > c[i] ) then
begin
min := c[i];
mini := i;
end;
s := 0;
for i:= mini to maxi do
s := s+c[i];
writeln(s);
readkey;
end.
uses crt;

Ссылка на комментарий

Прошу помощи , кому не лень , решите , пожалуйста .

1. Дан массив целых чисел , состоящий из 10 элементов . Заполнить его с клавиатуры . Найти:

а. удвоенную сумму положительных элементов ;

б. вывести индексы тех элементов , значения которых больше значения предидущего элемента (начиная со второго) .

2. Определить , есть ли пара соседних элементов с одинаковыми знаками .

Ссылка на комментарий

1. Даны две матрицы из вещественных чисел А(5,6), В(6,4).  Расположить строки матрицы в порядке убывания количеств отрицательных элементов в строке.          

2. Даны сведения о сотрудниках учреждения: фамилия, инициалы, номер телефона (если телефона нет, то 0).
а) Выдать на экран сведения о сотрудниках, номер телефона которых заканчивается на “10”, и подсчитать их количество.
б) Упорядочить все сведения о сотрудниках в алфавитном порядке фамилий.

3. В файле содержатся сведения о сдаче студентами сессии: фамилия, имя, группа, оценки по четырем предметам. Определить процентный состав отличников и двоечников в каждой группе.

4. все звонкие согласные буквы,  которые входят только в одно слово.

Помогите, срочно *89

Ссылка на комментарий

1 создай процедурку. на вход размерность матрицы на выход вектор с порядковыми номерами строк по убыванию. В основной проге тупо вывод строк по данному вектору.

2 а)если номер телефона строка то s[length(s)]=0; s[length(s)-1]=1; , если число то вычислять остаток от целочисленного деления до тех пор пока не останется 2 разряда. далее сравнение оставшегося числа с 10.

б) метод сортировки :) фамилия1>фамилия2 при выполнении условия замена обеих записей местами.

3 проход по файлу----->n->кол-во студентов. n5->кол-во пятерок. n2->кол-во 2. 100*n5/n=%отличников. 100*n2/n=%двоечников.

4 составляешь множество согласных звонких и создаешь пустое множество. Выделяешь слово далее if s in a then b:=b+[s]; вроде бы так. Как только дошел до конца слова смотришь равны ли множества а и b. Если да то все звонкие согласные буквы входят в данное слово.

Ссылка на комментарий

2-б

uses crt;
Type
t=record
name:string[15];
ini:string[15];
t:integer;
end;
Var
i,j,n:integer;
a:t;
mas:array [1..30] of t;
Begin
write('n=');
readln(n);
for i:=1 to n do
with mas[i] do
Begin
writeln ('i=',i:4);
writeln ('Family');
readln (name);
writeln ('Iniciale')
;readln (ini);
writeln ('telefon');
readln (t);
end;
for i:=1 to n-1 do
for j:=1 to n-i do
if mas[j].name>mas[j+1].name then
begin
a:=mas[j];
mas[j]:=mas[j+1];
mas[j+1]:=a;
end;
clrscr;
write(' ':4,'family',' ':4);
write(' ':2,'Iniciale',' ':2);
write(' ':3,'telefon',' ':38);
for i:=1 to n do
with mas[i] do
begin
write(name:15);
write(' ',ini:15);
write(' ',t:42);
end;
end.

проверте, а то что то не получается.

Ссылка на комментарий

readln (t); невозможно считать тип.

и цикл сортировки идет не

for i:=1 to n-1 do

for j:=1 to n-i do

а

for i:=1 to n-1 do

for j:=i+1 to n do

и условие не if mas[j].name>mas[j+1].name then а

if mas.name>mas[j].name then

Ссылка на комментарий

Немогли бы вы расписать:

Даны две матрицы из вещественных чисел А(5,6), В(6,4). Расположить строки матрицы в порядке убывания количеств отрицательных элементов в строке.

Заранее спасибо)

Ссылка на комментарий

Глобальный массив вектор vector хранит итоговвый упорядоченный вектор.

procedure sort(matr:matrica;n,k:integer);

var i,j,kol,m:integer;

begin

for i:=1 to n do

begin kol:=0;

for j:=1 to k do

if matr[i,j]<0 then inc(kol);

vector[i,1]:=kol;vector[i,2]:=i;

end;

for i:=1 to n-1 do

for j:=i+1 to n do

if vector[i,1]

begin

kol:=vector[i,1];

m:=vector[i,2];

vector[i,1]:=vector[j,1];

vector[i,2]:=vector[j,2];

vector[j,1]:=kol;

vector[j,2]:=m;

end;

end;

в самой программе :

for i:=1 to n do

begin

for j:=1 to k do

write(a[vector[i,2],j],' ');

writeln;

end;

P.S. не проверялЮ но что то типо этого)

Ссылка на комментарий

уважаемые!

мне нужно чтобы в текстовый файл записывались рандомные значения переменной.

максимальная длина строки должна быть в 32 символа

вот примерный код:

var

Form1: TForm1; f:textfile; b:byte; i:integer;

implementation

{$R *.dfm}

procedure TForm1.zap1Click(Sender: TObject);

begin

begin

randomize;

AssignFile(f,'c:\1.txt'); // привязка названия к переменной

{$I-}

Append(f); // открыть файл для добавления

if IOResult<>0 then // если ошибка открытия (напр. файла нет)

begin

{$I-}

Rewrite(f); // создать новый файл

{$I+}

if IOResult<>0 then // ошибка создания файла

begin

ShowMessage('Ошибка создания файла C:\1.TXT');

Exit;

end;

end;

while i<=32 do

begin

i:=i+1;

b:=random(1);

Write(f,' ',B); // запись в файл строки с символами перевода строки

if i=32 then writeln;

end;

CloseFile(f); // закрыть файл

end;

end;

end.

Добавлено спустя 55 секунд:

этот код показывает ошибку 105 ( I\O error 105)

Ссылка на комментарий

Братцы Помагите:

Отметьте неправильно составленные инструкции ввода данных (Бейсик)

1) INPUT

2) INPUT A

3) INPUT "Введите значение А" А

4) INPUT "Введите значение А", А

5) INPUT "Введите значение А, В"; А, В

6) INPUT "Введите значение А, В", А, В;

7) READ A, B, C

8) READ "Введите данные" ; А, В, С

Ссылка на комментарий
Глобальный массив вектор vector хранит итоговвый упорядоченный вектор.

procedure sort(matr:matrica;n,k:integer);

var i,j,kol,m:integer;

begin

for i:=1 to n do

begin kol:=0;

for j:=1 to k do

if matr[i,j]<0 then inc(kol);

vector[i,1]:=kol;vector[i,2]:=i;

end;

for i:=1 to n-1 do

for j:=i+1 to n do

if vector[i,1]

begin

kol:=vector[i,1];

m:=vector[i,2];

vector[i,1]:=vector[j,1];

vector[i,2]:=vector[j,2];

vector[j,1]:=kol;

vector[j,2]:=m;

end;

end;

в самой программе :

for i:=1 to n do

begin

for j:=1 to k do

write(a[vector[i,2],j],' ');

writeln;

end;

P.S. не проверялЮ но что то типо этого)

Надо сделать через процедуры и функции :help: )

Ссылка на комментарий

procedure sort(matr:matrica;n,k:integer); //процедура сортировки, на выходе массив vector

var i,j,kol,m:integer;

begin

for i:=1 to n do //идем по строкам

begin kol:=0; //обнуляем количество отрицательных элементов по каждой строке

for j:=1 to k do //пробегаемся по столбцам

if matr[i,j]<0 then inc(kol); //считаем количество отрицательных элементов данной строки

vector[i,1]:=kol;vector[i,2]:=i; //заносим в массив vector в первую часть количество отрицательных элементов, во вторую порядковый номер строки

end;

for i:=1 to n-1 do //собственно метод сортировки

for j:=i+1 to n do //собственно метод сортировки

if vector[i,1]

begin

kol:=vector[i,1];

m:=vector[i,2];

vector[i,1]:=vector[j,1];

vector[i,2]:=vector[j,2];

vector[j,1]:=kol;

vector[j,2]:=m;

end;

end;

пример вход матрица:

1 2 3 -5

-2 -2 -2 -2

0 -5 3 -2

1 1 1 1

на выходе из процедуры имеем массив vector:

4 2 1 0 ----->количество отрицательных элементов(Массив vector уже упорядочен)

2 3 1 4 ----->порядковые номера строк.

в самой программе:

for i:=1 to n do //бегаем по строкам

begin

for j:=1 to k do //бегаем по столбцам

write(a[vector[i,2],j],' '); // порядковый номер строки забираешь из массива вектор, столбец прежний

writeln;

end;

в итоге получишь матрицу

-2 -2 -2 -2 //количество отрицательных 4, порядковый номер строки в исходной матрице 2

0 -5 3 -2 //количество отрицательных 2, порядковый номер строки в исходной матрице 3

1 2 3 -5 //количество отрицательных 1, порядковый номер строки в исходной матрице 1

1 1 1 1 //количество отрицательных 0, порядковый номер строки в исходной матрице 4

Примечание: создаешь тип matrica заведомо больший по размерности чем будет предложено в задаче( в твоей задаче помойму хватит и 6 на 6 :) ) Матрица Vector суть глобальный массив (тебе хвати размерности 6 на 2 :) )

n и k соответсвенно размерность входной матрицы :) как я понимаю, суть задачи создание универсальной процедуры/функции удовлетворяющей поставленной задачи. Помойму оно и есть собственно :)

Ссылка на комментарий

1. Дан одномерный массив В. Вставьте в него элемент В в L позицию.

2. Для конкурного отбора манекенщиц приглашается девушки не ниже 180см., и весом не ниже 70кг. Определить будет ли допущена Таня к участью в конкурсе.

3. Вывести на экран все целые числа от А до В, кратные некоторому числу С.

4. Даны действительное число х и натуральное n. Вычислить S=1/a2+1/a4+…1/a2n

вот эти плз

Ссылка на комментарий

ght

1.

program ex1;
var a: array[1..10] of integer;
k,l,i: integer;
begin
write ('vvedite massiv: ');
for i:=1 to 10 do
begin
read(a[i]);
end;
write('vvedite element: '); readln(l);
write('vvedite poziciu: '); readln(k);
for i:=9 downto k do
a[i+1] := a[i];
a[k]:=l;
for i:=1 to 10 do
begin
write(a[i], ' ');
end;
end.

2.

Var
r,v: integer;
Begin
write ('Vvedite rost i ves Tani');
readln (r,v);
if r>180 then
Begin
if v<70 then
Begin
writeln ('dopushena');
end
else writeln ('ne dopushena');
end
else
writeln ('ne dopushena');
end.

Проверь.

Ссылка на комментарий

Задан массив C из 10 элементов вычислить первое нулевое значение и указать его место если таковых нет вывести об этом сообщение.

Плиз сделать сегодня до 24:00

Ссылка на комментарий

Помогите моя девушки попросила решить задачу, а я чот невкуриваю решите пожалста, задача решается на Pascal ABS

Вычислить произведение элементов массива C[7] целых чисел, и если это произведение отрицаетльное, то вывести его абсолюиое значение.

Ссылка на комментарий

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

1.задан вещественный массив X из 10 элементов.Найти минимальный элемент и его порядковый номер.

2.Эсуперзамок". секретный замок для сейфа состит из 10 расположенных в ряд ячеек,в которые надо вставить игральные кубики. Но,дверь открывается только в том случае,когда в любых соседних ячейках сумма точек на передних гранях кубиков равно 10.(игральный кубик имеет на каждой грани 1 до 6 точек.) напишите программу,которая разгадывает код замка при условии,что два кубика уже вставлены в ячейку.

1.Написать программу ,которая бы запрашивала возвраст человека и сообщала,сколько лет ему осталось до пенсии,либо он уже пенсионер.Учитывать наступление пенсионного возвраста для мужчин и жещин.

2. Масса 8 литров бензина 5,68 кг. Цистерна имеет объем 500 куб.метров Хватит ли её,чтобы вместить А тонн бензина?

___________________________________________________________

1.Вычислить произведение массива С[7] целых чисел,и если это произведение отрицательное,то вывести его абсолютное значение.

2.Дана последовательность n различных целых чисел. найти сумму её членов,расположенным между максимальным и минимальным значениями (в сумму включить и оба этих числа)

________________________________________________________

1.Ракета запускается с точки на экваторе и развивает скорость v км/с.Каков результат запуска? Замечание: если v<=7/8 км/с,то ракета упадет на Землю,если 7/816.4,то ракета покинет Солнечную систему.

2. Составьте программу,проверяющую,верно ли утверждение,что сумма цифр введенного вами целого числа является четным.

1.задан вещественный массив X из 10 элементов.Найти минимальный элемент и его порядковый номер.

Ссылка на комментарий

Пожалуйста, войдите, чтобы комментировать

Вы сможете оставить комментарий после входа в



Войти
  • Последние посетители   0 пользователей онлайн

    • Ни одного зарегистрированного пользователя не просматривает данную страницу
×
×
  • Создать...