Turbo pascal » Страница 5

-

Общие вопросы.



leader6670


репутация:
на сайте с 1970 года
сообщений:

#42

Так я пробовал, ничего не получается, где-то у меня ошибка есть:(

Besplotnyi


репутация: 104
на сайте с 2007 года
сообщений: 192

Apple iPhone 14 Pro

Луганск

Возраст - 33

#44

leader6670
Так я пробовал, ничего не получается, где-то у меня ошибка есть:(

да не может быть! В чем ошибка?
данные одного типа? Тебе скопировать из одного массива в другой или их местами поменять?
И код бы уже давал, телепаты в отпуск ушли - лето.

leader6670


репутация:
на сайте с 1970 года
сообщений:

#45

Сначала сделал так:

Program array14;
Uses crt;
Var a,b,c:array[1..10] of integer;
I,n:integer;
Begin
Clrscr;
Write('ввести кол-во элементов в массиве = ');
Read(n);
Writeln;
For i:1 to n do
A[i]:=random(100);
For i:=1 to n do
Write(a[i],' ');
writeln;
Begin
If a[1] mod 2 = 0 then
For i:=1 to n do
B[1]:=a[1]
else c[1]:=a[1];
If a[2] mod 2 = 0 then
For i:=1 to n do
B[2]:=a[2]
else c[2]:=a[2];
If a[3] mod 2 = 0 then
For i:=1 to n do
B[3]:=a[3]
else c[3]:=a[3];
If a[4] mod 2 = 0 then
For i:=1 to n do
B[4]:=a[4]
else c[4]:=a[4];
If a[5] mod 2 = 0 then
For i:=1 to n do
B[5]:=a[5]
else c[5]:=a[5];
If a[6] mod 2 = 0 then
For i:=1 to n do
B[6]:=a[6]
else c[6]:=a[6];
End
Write('четные числа');
Writeln;
Write(b[i],' ');
Writeln;
Write('нечетные числа');
Writeln;
Write(c[i],' ');
Writeln;
End


Никак не пойму как все четные елементы разместить в массиве b, а нечетные в с, их еще и отсортировать надо будет по возрастанию, но примеры сортировки элементов массива я нашел. Где ошибка не знаю:(

w_asd


репутация: 328
на сайте с 2005 года
сообщений: 37

Samsung GT-N7100 Galaxy Note II

Уфа

Возраст - 38

#46

у тебя адовый замес какой то
для простоты раздели код на части (процедуры), если непонятно как это реализовать в одной процедуре

и несколько непонятно задание - отсортировать по возрастанию как именно? в одном массиве сначала идут по возрастанию четные, а потом по возрастанию нечетные?

1) заполняем массив случайными элементами
2) перебираем элементы массива:
-если четный, то записываем его в новый массив для четных элементов
-так же для нечетных
учти, что в данном случае индексы элементов исходного и новых массивов совпадать не будут (у тебя эта ошибка как раз)
3) сортируем каждый массив по возрастанию
4) выводим результат
5) ???
6) PROFIT!!!
-------------
добавлено в 17.54: код я тебе не пишу, иначе поучительного эффекта не будет)

Besplotnyi


репутация: 104
на сайте с 2007 года
сообщений: 192

Apple iPhone 14 Pro

Луганск

Возраст - 33

#47

leader6670, Замес реально адовый))
ну как-то так, накидал на скорую руку.


var
a, b, c: array [1..10] of integer;
i, j, k, n: byte;

begin
writeln('Введите кол-во элементов в массиве ');
readln(n);
for i:=1 to n do begin
a[i]:=random(100);
writeln(a[i], ' ');
end;
j:=1; k:=1;
for i:=1 to n do begin
if (a[i] mod 2=0) then begin
b[j]:=a[i];
inc(j);
end
else begin
c[k]:=a[i];
inc(k);
end;
end;
writeln('Четные числа');
for i:=1 to n do write(b[i], ' ');
writeln('Нечетные числа');
for i:=1 to n do write(c[i], ' ');
end.


Кстати, если элементов будет не больше 10 - еще ладно, а если больше?
Может тебе лучше динамический массив заюзать? В турбопаскале их, по моему нет, в делфи есть - юзай.

Цитата: w_asd
код я тебе не пишу, иначе поучительного эффекта не будет)

Я таки дам код, пусть уж в пример посмотрит. Если захочет понять - поймет, не захочет - его дело.
Сортировку сам сделает)

leader6670


репутация:
на сайте с 1970 года
сообщений:

#48

У меня уже мозги кипят от этих кодов:( вот надо было блин на 4-ом курсе такую дрянь нам дать... Всем спасиб, попробую за ночь понятьsmile

leader6670


репутация:
на сайте с 1970 года
сообщений:

#49

скажите пожалуйста, почему паскаль абц не воспринимает процедуру swap? я попытался применить пузырьковую сортировку, но он мне фигу показывает, говорит что неизвестный идентификатор!

вот код:
program array14;
uses crt;
var
a,b,c: array [1..10] of integer;
i,j,k,f,n: byte;
begin
clrscr;
write('Введите кол-во элементов в массиве = ');
readln(n);
writeln;
for i:=1 to n do begin
a[i]:=random(100);
write(a[i],' ');
write;
end;
j:=1; k:=1;
for i:=1 to n do begin
if (a[i] mod 2=0) then begin
b[j]:=a[i];
inc(j);
end
else begin
c[k]:=a[i];
inc(k);
end;
begin
for f:=1 to N-1 do
for i:=1 to N-f do
if b[i] > b[i+1] then
swap(b[i],b[i+1])
end
writeln;
writeln('Четные числа');
for i:=1 to n do write(b[i],' ');
writeln;
writeln('Нечетные числа');
for i:=1 to n do write(c[i],' ');
writeln;
end.

Besplotnyi


репутация: 104
на сайте с 2007 года
сообщений: 192

Apple iPhone 14 Pro

Луганск

Возраст - 33

#50

leader6670, это код так парсер DV уродует или ты так и пишешь?
[code=Delphi] юзай
И зачем тебе менять местами байты, объясни.


Яндекс.Метрика