Дан массив Q - [ q [ i, j] , i =1,10; j=1,10]
(элементы выбираются случайным образом):
*Найти сумму элементов, удовлетворяющих условию 1 < q [i, j] <18.
Вывести на экран индексы не нулевых элементов.
Найти максимальный отрицательный элемент.
* Произведение положительных элементов главной диагонали матрицы. i + j – 1, если j - четно и i >3
Построить массив qi,j = { i 2 + 1, в остальных случаях
Дано целое число. Вычислить произведение цифр в числе.
С клавиатуры вводится текст. Слова разделяются пробелом. Ввод текста прекращается после нажатия на клавиатуре точки. Выдать на экран преобразованный текст, удалив из него все гласные буквы.
Другие языки программирования и технологии
Задачи на массив паскаль, помогите пожалуйста
это какой класс?
Сергей Маховский
Институт
Могу дать произведение цифр.
var x,p:integer;
begin
write('Chislo:');
readln(x);
p:=1;
while x>0 do
begin
p:=p*(x mod 10);
x:=x div 10;
end;
writeln('Proizv=',p)
end.
var x,p:integer;
begin
write('Chislo:');
readln(x);
p:=1;
while x>0 do
begin
p:=p*(x mod 10);
x:=x div 10;
end;
writeln('Proizv=',p)
end.
разбей все вот это на отдельные задания и для каждого задавай вопрос. так больше шансов на ответ.
program TooBig;
const min = -100;
const max = 100;
const vowels = 'eaoiuyEAOIUY ';
var
Q : array[1..10, 1..10] of integer;
ind : string[1023];
buf : string[3];
i, j, k : integer;
sum : integer;
eMin, eMax : integer;
prod : real;
begin
randomize;
sum := 0;
ind := "";
eMin := max;
eMax := min;
prod := 1;
writeln('PART ONE');
for i := 1 to 10 do
begin
for j := 1 to 10 do
begin
Q[i,j] := random(max-min+1) + min;
write(Q[i, j], ' ');
if (Q[i,j] > 1) and (Q[i,j] < 18) then sum := sum + Q[i, j];
if Q[i, j] <> 0 then
begin
Str(i, buf);
ind := concat(ind, '[', buf, ',');
Str(j, buf);
ind := concat(ind, buf, ']; ');
end;
if Q[i,j] < 0 then
begin
if Q[i, j] > eMax then eMax := Q[i, j];
if Q[i, j] < eMin then eMin := Q[i,j];
end;
if (i=j) and (Q[i, j] > 0) then prod := prod * Q[i,j];
end;
writeln;
end;
write('Sum of elements between 1 and 18: ');
writeln(sum);
write('Indexes of non-zero-elements: ');
writeln(ind);
write('MAX negative element: ');
writeln(eMax);
write('MIN negative element: ');
writeln(eMin);
write('Production of positive elements of main diagonal: ');
writeln(prod:20:0);
writeln;
writeln('PART TWO');
for i:=1 to 10 do
begin
for j := 1 to 10 do
begin
if (j mod 2 =0) and (i > 3) then Q[i,j] := i+j-1 else Q[i,j] := i*i+1;{Такая формула? }
write(Q[i, j], ' ');
end;
writeln;
end;
writeln;
writeln('PART THREE');
write('Enter number: ');
read(k);
if k < 0 then k := -k;
prod := 1;
i := 10;
while k div i > 9 do
i := i*10;
prod := prod * (k div i);
while i > 1 do
begin
k := k mod i;
i := i div 10;
prod := prod*(k div i);
end;
write('Production of digits: ');
writeln(prod:20:0);
writeln;
writeln('PART FOUR');
writeln('Enter your line:');
ind := "";
repeat
read(buf[1]);
for i := 1 to 13 do
if buf[1] = vowels[i] then break;
if i >12 then ind := ind + buf[1];
until buf[1] = '.';
writeln(ind);
end.
{Input:
11335
There is something wrong. Do you know what is it exactly?
Output:
PART ONE
-48 -67 81 25 -59 59 30 -67 -50 89
24 37 -35 -38 -67 31 57 64 -35 -20
34 77 100 76 49 -18 32 -71 -80 -17
-69 -49 -94 51 -45 91 -92 -15 -52 -1
-36 -18 -74 4 -3 -69 -93 -16 98 -48
83 -82 28 -87 -56 -54 -59 91 -36 -63
-2 -81 -85 -62 -86 93 72 51 49 26
-19 31 63 -8 51 -28 65 -64 3 -24
54 4 91 -52 92 96 -76 -42 90 16
-52 12 -37 -62 -52 62 32 52 7 16
Sum of elements between 1 and 18: 62
Indexes of non-zero-elements: [1,1]; [1,2]; [1,3]; [1,4]; [1,5]; [1,6]; [1,7]; [1,8]; [1,9]; [1,10]; [2,1]; [2,2]; [2,3]; [2,4]; [2,5]; [2,6]; [2,7]; [2,8]; [2,9]; [2,10]; [3,1]; [3,2]; [3,3]; [3,4]; [3,5]; [3,6]; [3,7]; [3,8]; [3,9]; [3,10]; [4,1]; [4,2]; [4,3]; [4,4]; [4,5]; [4,6]; [4,7]; [4,8]; [4,9]; [4,10]; [5,1]; [5,2]; [5,3]; [5,4]; [5,5]; [5,6]; [5,7]; [5,8]; [5,9]; [5,10]; [6,1]; [6,2]; [6,3]; [6,4]; [6,5]; [6,6]; [6,7]; [6,8]; [6,9]; [6,10]; [7,1]; [7,2]; [7,3]; [7,4]; [7,5]; [7,6]; [7,7]; [7,8]; [7,9]; [7,10]; [8,1]; [8,2]; [8,3]; [8,4]; [8,5]; [8,6]; [8,7]; [8,8]; [8,9]; [8,10]; [9,1]; [9,2]; [9,3]; [9,4]; [9,5]; [9,6]; [9,7]; [9,8]; [9,9]; [9,10]; [10,1]; [10,2]; [10,3]; [10,4]; [10,5]; [10,6]; [10,7]; [10,8]; [10,9]; [10,10];
MAX negative element: -1
MIN negative element: -94
Production of positive elements of main diagonal: 19564416000
PART TWO
2 2 2 2 2 2 2 2 2 2
5 5 5 5 5 5 5 5 5 5
10 10 10 10 10 10 10 10 10 10
17 5 17 7 17 9 17 11 17 13
26 6 26 8 26 10 26 12 26 14
37 7 37 9 37 11 37 13 37 15
50 8 50 10 50 12 50 14 50 16
65 9 65 11 65 13 65 15 65 17
82 10 82 12 82 14 82 16 82 18
101 11 101 13 101 15 101 17 101 19
PART THREE
Enter number: Production of digits: 45
PART FOUR
Enter your line:
Thr s smthng wrng.
}
const min = -100;
const max = 100;
const vowels = 'eaoiuyEAOIUY ';
var
Q : array[1..10, 1..10] of integer;
ind : string[1023];
buf : string[3];
i, j, k : integer;
sum : integer;
eMin, eMax : integer;
prod : real;
begin
randomize;
sum := 0;
ind := "";
eMin := max;
eMax := min;
prod := 1;
writeln('PART ONE');
for i := 1 to 10 do
begin
for j := 1 to 10 do
begin
Q[i,j] := random(max-min+1) + min;
write(Q[i, j], ' ');
if (Q[i,j] > 1) and (Q[i,j] < 18) then sum := sum + Q[i, j];
if Q[i, j] <> 0 then
begin
Str(i, buf);
ind := concat(ind, '[', buf, ',');
Str(j, buf);
ind := concat(ind, buf, ']; ');
end;
if Q[i,j] < 0 then
begin
if Q[i, j] > eMax then eMax := Q[i, j];
if Q[i, j] < eMin then eMin := Q[i,j];
end;
if (i=j) and (Q[i, j] > 0) then prod := prod * Q[i,j];
end;
writeln;
end;
write('Sum of elements between 1 and 18: ');
writeln(sum);
write('Indexes of non-zero-elements: ');
writeln(ind);
write('MAX negative element: ');
writeln(eMax);
write('MIN negative element: ');
writeln(eMin);
write('Production of positive elements of main diagonal: ');
writeln(prod:20:0);
writeln;
writeln('PART TWO');
for i:=1 to 10 do
begin
for j := 1 to 10 do
begin
if (j mod 2 =0) and (i > 3) then Q[i,j] := i+j-1 else Q[i,j] := i*i+1;{Такая формула? }
write(Q[i, j], ' ');
end;
writeln;
end;
writeln;
writeln('PART THREE');
write('Enter number: ');
read(k);
if k < 0 then k := -k;
prod := 1;
i := 10;
while k div i > 9 do
i := i*10;
prod := prod * (k div i);
while i > 1 do
begin
k := k mod i;
i := i div 10;
prod := prod*(k div i);
end;
write('Production of digits: ');
writeln(prod:20:0);
writeln;
writeln('PART FOUR');
writeln('Enter your line:');
ind := "";
repeat
read(buf[1]);
for i := 1 to 13 do
if buf[1] = vowels[i] then break;
if i >12 then ind := ind + buf[1];
until buf[1] = '.';
writeln(ind);
end.
{Input:
11335
There is something wrong. Do you know what is it exactly?
Output:
PART ONE
-48 -67 81 25 -59 59 30 -67 -50 89
24 37 -35 -38 -67 31 57 64 -35 -20
34 77 100 76 49 -18 32 -71 -80 -17
-69 -49 -94 51 -45 91 -92 -15 -52 -1
-36 -18 -74 4 -3 -69 -93 -16 98 -48
83 -82 28 -87 -56 -54 -59 91 -36 -63
-2 -81 -85 -62 -86 93 72 51 49 26
-19 31 63 -8 51 -28 65 -64 3 -24
54 4 91 -52 92 96 -76 -42 90 16
-52 12 -37 -62 -52 62 32 52 7 16
Sum of elements between 1 and 18: 62
Indexes of non-zero-elements: [1,1]; [1,2]; [1,3]; [1,4]; [1,5]; [1,6]; [1,7]; [1,8]; [1,9]; [1,10]; [2,1]; [2,2]; [2,3]; [2,4]; [2,5]; [2,6]; [2,7]; [2,8]; [2,9]; [2,10]; [3,1]; [3,2]; [3,3]; [3,4]; [3,5]; [3,6]; [3,7]; [3,8]; [3,9]; [3,10]; [4,1]; [4,2]; [4,3]; [4,4]; [4,5]; [4,6]; [4,7]; [4,8]; [4,9]; [4,10]; [5,1]; [5,2]; [5,3]; [5,4]; [5,5]; [5,6]; [5,7]; [5,8]; [5,9]; [5,10]; [6,1]; [6,2]; [6,3]; [6,4]; [6,5]; [6,6]; [6,7]; [6,8]; [6,9]; [6,10]; [7,1]; [7,2]; [7,3]; [7,4]; [7,5]; [7,6]; [7,7]; [7,8]; [7,9]; [7,10]; [8,1]; [8,2]; [8,3]; [8,4]; [8,5]; [8,6]; [8,7]; [8,8]; [8,9]; [8,10]; [9,1]; [9,2]; [9,3]; [9,4]; [9,5]; [9,6]; [9,7]; [9,8]; [9,9]; [9,10]; [10,1]; [10,2]; [10,3]; [10,4]; [10,5]; [10,6]; [10,7]; [10,8]; [10,9]; [10,10];
MAX negative element: -1
MIN negative element: -94
Production of positive elements of main diagonal: 19564416000
PART TWO
2 2 2 2 2 2 2 2 2 2
5 5 5 5 5 5 5 5 5 5
10 10 10 10 10 10 10 10 10 10
17 5 17 7 17 9 17 11 17 13
26 6 26 8 26 10 26 12 26 14
37 7 37 9 37 11 37 13 37 15
50 8 50 10 50 12 50 14 50 16
65 9 65 11 65 13 65 15 65 17
82 10 82 12 82 14 82 16 82 18
101 11 101 13 101 15 101 17 101 19
PART THREE
Enter number: Production of digits: 45
PART FOUR
Enter your line:
Thr s smthng wrng.
}
Похожие вопросы
- Сортировка массива (Паскаль) помогите пожалуйста
- Задача на МАССИВЫ Паскаль ОЧЕНЬ СРОЧНО!!!!
- Задача на массивы двумерные помогите доделать на C#,код прикрепляю и задачу
- Задача в паскале. помогите пожалуйста... очень срочно нужно!
- Паскаль! Помогите пожалуйста разобраться в задачке.
- Программирование на Паскале Помогите, пожалуйста , написать программу на паскале
- Люди, кто шарит в паскале, помогите, пожалуйста.
- Как найти сумму цифр пятизначного числа в турбо паскаль? Помогите, пожалуйста!!!
- паскаль ( помогите пожалуйста
- Те, кто разбирается в программе Паскаль, помогите пожалуйста!