IPB

Здравствуйте, гость ( Вход | Регистрация )

2 страниц V  1 2 >  
Ответить в эту темуОткрыть новую тему
> Одномерные массивы - помогите!, несколько задачек,которые я вообще не понимаю,и не знаю как решать!
ev4onka91
сообщение 16.12.2008, 13:40
Сообщение #1


Пользователь


Группа: Пользователи
Сообщений: 5
Регистрация: 27.11.2008
Пользователь №: 21 052



Пожалуйста помогите!!!!Я понимаю большинство в Паскале,но только не массивы,просто не была на парах, а теперь вот сдавать надо.....=(((((


Любые пять задачек я Вас просто умоляю(((

Варианты заданий

1 Последовательность аь аъ..., ап состоит из нулей и единиц. Поставить в начало этой последовательности нули, а затем единицы.
2 В последовательности действительных чисел аь аъ..., аn есть только положительные и отрицательные элементы. Вычислить произведение отрицательных элементов и произведение положительных элементов
3 Дан массив действительных чисел. Среди них есть равные. Найти его первый максимальный элемент и заменить его нулем.
4 Даны целые положительные числа ах, аъ ..., ап. Найти среди них те, которые являются квадратами некоторого числа т.
5 В массиве целых чисел с количеством элементов п найти наиболее часто встречающееся число
6 Дан целочисленный массив с количеством элементов п. Сжать массив, выбросив из него каждый второй элемент.
7 Задан массив с количеством элементов N. Сформировать два массива: в первый включить элементы исходного массива с четными номерами, а во второй - с нечетными
8 В массив A[N] занесены натуральные числа. Найти сумму тех элементов, которые кратны данному К.
9 В целочисленной последовательности есть нулевые элементы. Создать массив из номеров этих элементов.
10 Дана последовательность целых чисел аи аъ..., ап. Выяснить, какое число встречается раньше — положительное или отрицательное.
11 Дана последовательность действительных чисел аь аъ..., а„. Выяснить, будет ли она возрастающей.
12 Дана последовательность натуральных чисел аь аъ..., ап. Создать массив из четных чисел этой последовательности. Если та¬ких чисел нет, то вывести сообщение об этом факте.
13 Дана последовательность чисел аь аъ ..., ап. Указать наимень¬шую длину числовой оси, содержащую все эти числа.
14 Дана последовательность действительных чисел аь аъ ..., ап. Заменить все ее члены, большие данного Д этим числом. Подсчитать количество замен.
15 Последовательность действительных чисел оканчивается ну¬лем. Найти количество членов этой последовательности.
16 Дан массив действительных чисел, размерность которого N. Подсчитать, сколько в нем отрицательных, положительных и нулевых элементов.
17 Даны действительные числа аь аъ ..., ап. Поменять местами наибольший и наименьший элементы.
18 Даны целые числа а{, аъ ..., ап. Вывести на печать только те числа, для которых аг >1
19 В заданном одномерном массиве поменять местами сосед¬ние элементы, стоящие на четных местах, с элементами, стоящими на нечетных местах.
20 При поступлении в вуз абитуриенты, получившие двойку на первом экзамене, ко второму не допускаются. В массиве А[п] записаны оценки экзаменующихся, полученные на первом экза¬мене. Подсчитать, сколько человек не допущено ко второму эк¬замену.
21 Дана последовательность чисел, среди которых имеется один нуль. Вывести на экран все числа до нуля включительно.
22 Пригодность детали оценивается по размеру В который должен соответствовать интервалу (А - 5, А + б). Определить, имеются ли в партии из N деталей бракованные. Если да, то подсчитать их количество, в противном случае выдать отрицательный ответ.
23 Дан целочисленный массив с количеством элементов N. На¬печатать те его элементы, индексы которых являются степенями двойки (1, 2, 4, 8, 16,...).
24 Задана последовательность из N вещественных чисел. Определить, сколько среди них чисел меньших K, равных К и больших К
25 Задан массив действительных чисел. Определить, сколько раз меняется знак в данной последовательности чисел, запомнить номера позиций, в которых происходит смена знака.
26 Задана последовательность N целых чисел. Вычислить сумму элементов массива, порядковые номера которых совпадают со значением этого элемента.
27 Определить количество элементов последовательности натуральных чисел, кратных числу М и заключенных в промежутке от L до N.
28 Определить, сколько процентов от всего количества элементов последовательности целых чисел составляют нечетные элементы.
29 Задана последовательность N вещественных чисел. Вычислить сумму чисел, порядковые номера которых являются просты¬ми числами.
30 Задана последовательность N вещественных чисел. Вычислить сумму чисел, порядковые номера которых являются числами Фибоначчи.

31 Сформировать массив простых чисел не больших заданного натурального числа N.
32 Сформировать массив простых множителей заданного числа.
33 В одномерном массиве размещены: в первых элементах — зна¬чения аргумента, в следующих — соответствующие им значения функции. Напечатать элементы этого массива в виде двух параллельных столбцов (аргумент и значения функции).
34 Заполнить массив из N элементов с начальным значением
заданным А[0] <> 0, по принципу А [i ] =А [ 1 DIv 2 ] +А [ i-1 ].
35 Дана последовательность действительных чисел аь аъ..., ап. Указать те ее элементы, которые принадлежат отрезку [с, d]
36 Определить, сколько процентов от всего количества элементов последовательности целых чисел составляют нечетные элементы.
Пользователь в офлайнеКарточка пользователяОтправить личное сообщение
Вернуться в начало страницы
+Ответить с цитированием данного сообщения
PolPoll
сообщение 16.12.2008, 16:21
Сообщение #2


:)


Группа: Главные администраторы
Сообщений: 5 858
Регистрация: 24.11.2005
Из: Москва
Пользователь №: 5 327



Наброски? Вопросы?


--------------------
Пользователь в офлайнеКарточка пользователяОтправить личное сообщение
Вернуться в начало страницы
+Ответить с цитированием данного сообщения
PolPoll
сообщение 16.12.2008, 17:10
Сообщение #3


:)


Группа: Главные администраторы
Сообщений: 5 858
Регистрация: 24.11.2005
Из: Москва
Пользователь №: 5 327



Поищи по форуму. Вот например про простые числа http://www.opeople.ru/ipb.html?s=&showtopi...indpost&p=86096


--------------------
Пользователь в офлайнеКарточка пользователяОтправить личное сообщение
Вернуться в начало страницы
+Ответить с цитированием данного сообщения
denizk
сообщение 17.12.2008, 11:57
Сообщение #4


Пользователь


Группа: Активисты
Сообщений: 654
Регистрация: 31.10.2007
Пользователь №: 18 005



Вторая например:
Цитата
2 В последовательности действительных чисел аь аъ..., аn есть только положительные и отрицательные элементы. Вычислить произведение отрицательных элементов и произведение положительных элементов
Код

program polozotric;
Uses Crt;

Const n=10;

Var
a:array[1..n] of real;
i:integer;
sum,sum2:real;
flag,flag2:boolean;

Begin
ClrScr;

flag:=false;
flag2:=false;
sum:=1;
sum2:=1;

For i:=1 to n do
read(a[i]);

For i:=1 to n do
if a[i]<0 then begin
sum:=sum*a[i];
flag:=true;
end else
begin
sum2:=sum2*a[i];
flag2:=true;
end;

if (flag=false) then sum:=0;
if (flag2=false) then sum2:=0;


Writeln('Proizvedenie polozitelnix: ',sum2,' ','Proizvedenie otricatelnix: ',sum);

repeat until keypressed;
end.


Третья:
Цитата
3 Дан массив действительных чисел. Среди них есть равные. Найти его первый максимальный элемент и заменить его нулем.

Код

program zammax;
Uses Crt;

Const
n=5;

Var
a:array[1..n] of real;
i,j,nm:integer;
max:real;

Begin
ClrScr;

for i:=1 to n do
Read(a[i]);

i:= 1; begin
nm:=i;
max:=a[i];
for j:= i+1 to n do
if a[j]>max then begin
max:=a[j];
nm:=j;
end;
end;

a[nm]:=0;

for i:=1 to n do
writeln(a[i]);

repeat until keypressed;
end.


Девятая задача
Цитата
9 В целочисленной последовательности есть нулевые элементы. Создать массив из номеров этих элементов.

Код

program number;
Uses Crt;

Const
n=10;

Var
a:array[1..n] of integer;
b:array[1..n] of integer;
i,k:integer;

Begin
ClrScr;

k:=0;

for i:=1 to n do begin
write('a[',i,']: ');
read(a[i]);
end;

for i:=1 to n do
if (a[i]=0) then
begin
k:=k+1;
b[k]:=i;
end;

writeln;
if (k=0) then writel('Elementov ravnix nulu net') else begin
writeln('Nomera nulevix elementov: ');

for i:=1 to k do
write(b[i],' ');
end;

repeat until keypressed;
end.


Сообщение от модератора PolPoll
добавлены условия для удобства


Сообщение отредактировал PolPoll - 18.12.2008, 17:51
Пользователь в офлайнеКарточка пользователяОтправить личное сообщение
Вернуться в начало страницы
+Ответить с цитированием данного сообщения
ev4onka91
сообщение 17.12.2008, 13:02
Сообщение #5


Пользователь


Группа: Пользователи
Сообщений: 5
Регистрация: 27.11.2008
Пользователь №: 21 052



Спасибо огромное.....!!!! blush.gif
Пользователь в офлайнеКарточка пользователяОтправить личное сообщение
Вернуться в начало страницы
+Ответить с цитированием данного сообщения
PolPoll
сообщение 17.12.2008, 13:09
Сообщение #6


:)


Группа: Главные администраторы
Сообщений: 5 858
Регистрация: 24.11.2005
Из: Москва
Пользователь №: 5 327



denizk, во второй надо произведение, третья не правильная тоже rolleyes.gif


--------------------
Пользователь в офлайнеКарточка пользователяОтправить личное сообщение
Вернуться в начало страницы
+Ответить с цитированием данного сообщения
denizk
сообщение 17.12.2008, 13:19
Сообщение #7


Пользователь


Группа: Активисты
Сообщений: 654
Регистрация: 31.10.2007
Пользователь №: 18 005



Цитата(PolPoll @ 17.12.2008, 13:09) *

denizk, во второй надо произведение, третья не правильная тоже rolleyes.gif

Вторую подправил,чёт постоянно обычно на сумму задания и написал плюсик) ну это не трабла,просто изменить знак на умножение.))

А чего в третьей не так?) smile.gif
Пользователь в офлайнеКарточка пользователяОтправить личное сообщение
Вернуться в начало страницы
+Ответить с цитированием данного сообщения
PolPoll
сообщение 17.12.2008, 13:23
Сообщение #8


:)


Группа: Главные администраторы
Сообщений: 5 858
Регистрация: 24.11.2005
Из: Москва
Пользователь №: 5 327



Цитата(denizk @ 17.12.2008, 16:19) *

Вторую подправил,чёт постоянно обычно на сумму задания и написал плюсик) ну это не трабла,просто изменить знак на умножение.))

А чего в третьей не так?) smile.gif
не просто wink.gif
раньше хоть суммы считала, а теперь - ничего! biggrin.gif

во второй введи массив 1 2 3 4 5 ...


--------------------
Пользователь в офлайнеКарточка пользователяОтправить личное сообщение
Вернуться в начало страницы
+Ответить с цитированием данного сообщения
denizk
сообщение 17.12.2008, 19:47
Сообщение #9


Пользователь


Группа: Активисты
Сообщений: 654
Регистрация: 31.10.2007
Пользователь №: 18 005



Цитата(PolPoll @ 17.12.2008, 13:23) *

не просто wink.gif
раньше хоть суммы считала, а теперь - ничего! biggrin.gif

во второй введи массив 1 2 3 4 5 ...

подправил вторую и третью,и добавил 9-ую)
Пользователь в офлайнеКарточка пользователяОтправить личное сообщение
Вернуться в начало страницы
+Ответить с цитированием данного сообщения
PolPoll
сообщение 17.12.2008, 20:33
Сообщение #10


:)


Группа: Главные администраторы
Сообщений: 5 858
Регистрация: 24.11.2005
Из: Москва
Пользователь №: 5 327



Во второй и третьей, вообще-то даны массивы вещественных чисел wink.gif

Надеюсь, во второй нулей действительно не будет, как в условии и сказано biggrin.gif А то не посчитает произведение положительных...

в третьей вместо цикла
Код
for i:= 1 to n-1 do begin
напиши
Код
i:= 1; begin


в девятой если не будет 0, хорошо бы об этом сообщить...





--------------------
Пользователь в офлайнеКарточка пользователяОтправить личное сообщение
Вернуться в начало страницы
+Ответить с цитированием данного сообщения
denizk
сообщение 17.12.2008, 21:21
Сообщение #11


Пользователь


Группа: Активисты
Сообщений: 654
Регистрация: 31.10.2007
Пользователь №: 18 005



Цитата(PolPoll @ 17.12.2008, 20:33) *

Во второй и третьей, вообще-то даны массивы вещественных чисел wink.gif

Надеюсь, во второй нулей действительно не будет, как в условии и сказано biggrin.gif А то не посчитает произведение положительных...

в третьей вместо цикла
Код
for i:= 1 to n-1 do begin
напиши
Код
i:= 1; begin


в девятой если не будет 0, хорошо бы об этом сообщить...

Всё доделали,всем всё сообщили.)) smile.gif

Задача №29.
Цитата
29 Задана последовательность N вещественных чисел. Вычислить сумму чисел, порядковые номера которых являются просты¬ми числами.

Код

Program prostchis;
Uses Crt;

Const
N=10;
Var
i,j,lim:word;
k:integer;
sum:real;
a:array[1..n] of real;

Begin
ClrScr;

for k:=1 to n do begin
write('a[',k,']: ');
read(a[k]);
end;

writeln;
for i:=1 to n do
begin
  j:=2;
  lim:=round(sqrt(i));
  while (i mod j <> 0) and (j <= lim) do inc( j );
  if (j > lim) then sum:=sum+a[i];
end;

writeln;
writeln('Summa ravna: ',sum:3:3);

repeat until keypressed;
end.
Пользователь в офлайнеКарточка пользователяОтправить личное сообщение
Вернуться в начало страницы
+Ответить с цитированием данного сообщения
PolPoll
сообщение 17.12.2008, 21:32
Сообщение #12


:)


Группа: Главные администраторы
Сообщений: 5 858
Регистрация: 24.11.2005
Из: Москва
Пользователь №: 5 327



опять в третьей ошибки... smile.gif




--------------------
Пользователь в офлайнеКарточка пользователяОтправить личное сообщение
Вернуться в начало страницы
+Ответить с цитированием данного сообщения
denizk
сообщение 17.12.2008, 21:38
Сообщение #13


Пользователь


Группа: Активисты
Сообщений: 654
Регистрация: 31.10.2007
Пользователь №: 18 005



Цитата(PolPoll @ 17.12.2008, 21:32) *

опять в третьей ошибки... smile.gif

Каюсь точку с запятой забыл,я ж на форуме их пишу,не засовываю в паскаль,соответсвенно не запускаю. )) smile.gif
Пользователь в офлайнеКарточка пользователяОтправить личное сообщение
Вернуться в начало страницы
+Ответить с цитированием данного сообщения
PolPoll
сообщение 17.12.2008, 21:41
Сообщение #14


:)


Группа: Главные администраторы
Сообщений: 5 858
Регистрация: 24.11.2005
Из: Москва
Пользователь №: 5 327



там еще и nm вещественный...


--------------------
Пользователь в офлайнеКарточка пользователяОтправить личное сообщение
Вернуться в начало страницы
+Ответить с цитированием данного сообщения
denizk
сообщение 18.12.2008, 9:20
Сообщение #15


Пользователь


Группа: Активисты
Сообщений: 654
Регистрация: 31.10.2007
Пользователь №: 18 005



Цитата(PolPoll @ 17.12.2008, 21:41) *

там еще и nm вещественный...

Случайно перенёс.)

Задача №21
Цитата
21 Дана последовательность чисел, среди которых имеется один нуль. Вывести на экран все числа до нуля включительно.

Код

Program Null;
Uses Crt;

Const
n=10;

Var
a:array[1..n] of integer;
i,k:integer;

Begin
ClrScr;

for i:=1 to n do begin
Write('a[',i,']: ');
Read(a[i]);
end;

for i:=1 to n do
if (a[i]=0) then k:=i;

for i:=1 to k do
Write('a[',i,']: ',a[i],' ');

repeat until keypressed;
end.
Пользователь в офлайнеКарточка пользователяОтправить личное сообщение
Вернуться в начало страницы
+Ответить с цитированием данного сообщения
denizk
сообщение 18.12.2008, 11:48
Сообщение #16


Пользователь


Группа: Активисты
Сообщений: 654
Регистрация: 31.10.2007
Пользователь №: 18 005



Задача №14
Цитата
14 Дана последовательность действительных чисел аь аъ ..., ап. Заменить все ее члены, большие данного Д этим числом. Подсчитать количество замен.

Код

Program zampos;
Uses Crt;

Const
n=10;

Var
a:array[1..n] of real;
d:real;
i,k:integer;

Begin
ClrScr;

k:=0;

for i:=1 to n do begin
Write('a[',i,']: ');
Read(a[i]);
end;

Writeln;
Write('D: ');
Read(d);

for i:=1 to n do
if (a[i]>d) then begin
k:=k+1;
a[i]:=d;
end;

if (k=0) then begin
writeln;
writeln('Chisel menwe D nety');
end else
begin
  writeln;
  write('Kol-vo zamen: ',k);
  writeln;

for i:=1 to n do
writeln('a[',i,']: ',a[i]:3:3,' ');
end;

repeat until keypressed;
end.
Пользователь в офлайнеКарточка пользователяОтправить личное сообщение
Вернуться в начало страницы
+Ответить с цитированием данного сообщения
Denis
сообщение 18.12.2008, 12:06
Сообщение #17


Пользователь


Группа: Пользователи
Сообщений: 1 081
Регистрация: 24.1.2005
Пользователь №: 1 933



Цитата
Дана последовательность действительных чисел аь аъ ..., ап. Заменить все ее члены, большие данного Д этим числом. Подсчитать количество замен.

я даже задания не понял biggrin.gif
в 21 можно было использовать один цикл вместо двух
Код

for i:=1 to n do
if (a[i]=0) then k:=i;

for i:=1 to k do
Write('a[',i,']: ',a[i],' ');

заменить на

for i:=1 to n do if (a[i]<>0) then Write('a[',i,']: ',a[i],' ');
else break;
Write('a[',i,']: ',a[i],' ');

а так в принципе denizk 6 задач решил. молодец smile.gif
Пользователь в офлайнеКарточка пользователяОтправить личное сообщение
Вернуться в начало страницы
+Ответить с цитированием данного сообщения
denizk
сообщение 18.12.2008, 12:45
Сообщение #18


Пользователь


Группа: Активисты
Сообщений: 654
Регистрация: 31.10.2007
Пользователь №: 18 005



Задача №25
Цитата
25 Задан массив действительных чисел. Определить, сколько раз меняется знак в данной последовательности чисел, запомнить номера позиций, в которых происходит смена знака.

Код

Program smenaznaka;
Uses Crt;

Const
n=10;

Var
a:array[1..n] of real;
b:array[1..n] of integer;
i,k:integer;

Begin
ClrScr;

k:=0;

for i:=1 to n do begin
Write('a[',i,']: ');
Read(a[i]);
end;

if (a[1]>=0) then begin
for i:=2 to n do
if ((a[i]<0) and (a[i-1]>=0)) then begin
k:=k+1;
b[k]:=i;
end else if ((a[i]>=0) and (a[i-1]<0)) then
begin
k:=k+1;
b[k]:=i;
end;
end else
if (a[1]<0) then begin
for i:=2 to n do
if ((a[i]>=0) and (a[i-1]<0)) then begin
k:=k+1;
b[k]:=i;
end else if ((a[i]<0) and (a[i-1]>=0)) then begin
k:=k+1;
b[k]:=i;
end;
end;

writeln;
Write('Nomera pozicii smeni znaka: ');
for i:=1 to k do
write(b[i],' ');

writeln;
write('Znak menylsa: ',k,' raz');

repeat until keypressed;

end.


Цитата(Denis @ 18.12.2008, 12:06) *

я даже задания не понял biggrin.gif
в 21 можно было использовать один цикл вместо двух
Код

for i:=1 to n do
if (a[i]=0) then k:=i;

for i:=1 to k do
Write('a[',i,']: ',a[i],' ');

заменить на

for i:=1 to n do if (a[i]<>0) then Write('a[',i,']: ',a[i],' ');
else break;
Write('a[',i,']: ',a[i],' ');

а так в принципе denizk 6 задач решил. молодец smile.gif

Спасибо)) 7 задача решил) Пока ты писал я как раз вставлял задачку.) Или наоборот.) smile.gif
Пользователь в офлайнеКарточка пользователяОтправить личное сообщение
Вернуться в начало страницы
+Ответить с цитированием данного сообщения
Denis
сообщение 18.12.2008, 18:01
Сообщение #19


Пользователь


Группа: Пользователи
Сообщений: 1 081
Регистрация: 24.1.2005
Пользователь №: 1 933



сложновато как-то реализована 25 задача. предлагаю тебе переделать след. образом: проверять условие в цикле по i с 1 до n-1 условие
Код
if (a[i]*a[i+1]<0)or((a[i]=0)and(a[i+1]<0))or((a[i]<0)and(a[i+1]=0)) then ...
да и просьба, начинай программу с описания условия в коментариях, а то неудобно вверх прокручивать и читать условие smile.gif
Код

{25 Задан массив действительных чисел. Определить, сколько раз меняется знак в данной }
Program smenaznaka;
Uses Crt;
...


Сообщение отредактировал Denis - 18.12.2008, 18:01
Пользователь в офлайнеКарточка пользователяОтправить личное сообщение
Вернуться в начало страницы
+Ответить с цитированием данного сообщения
denizk
сообщение 18.12.2008, 19:39
Сообщение #20


Пользователь


Группа: Активисты
Сообщений: 654
Регистрация: 31.10.2007
Пользователь №: 18 005



Цитата(Denis @ 18.12.2008, 18:01) *

сложновато как-то реализована 25 задача. предлагаю тебе переделать след. образом: проверять условие в цикле по i с 1 до n-1 условие
Код
if (a[i]*a[i+1]<0)or((a[i]=0)and(a[i+1]<0))or((a[i]<0)and(a[i+1]=0)) then ...
да и просьба, начинай программу с описания условия в коментариях, а то неудобно вверх прокручивать и читать условие smile.gif
Код

{25 Задан массив действительных чисел. Определить, сколько раз меняется знак в данной }
Program smenaznaka;
Uses Crt;
...



Как собразил так и сделал.)) smile.gif

Как ты предлагаешь думаю,будет проще,но щас уже делать не охота.) Просили пять,я и так 7 сделал хватит.) smile.gif

А про условие учту.) wink.gif
Пользователь в офлайнеКарточка пользователяОтправить личное сообщение
Вернуться в начало страницы
+Ответить с цитированием данного сообщения

2 страниц V  1 2 >
Ответить в эту темуОткрыть новую тему
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0

 



- Текстовая версия Сейчас: 9.2.2012, 4:31