Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > IT форум > Помощь студентам
Регистрация

Восстановить пароль

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 30.04.2009, 21:36   #11
Элис
Пользователь
 
Регистрация: 28.04.2009
Сообщений: 12
По умолчанию

компилировала,но обратно в условие не возращается,приходится пользоваться Ctrl+Break
вот посмотрите пожалуйста,я перепроверяла,но может опять что-то пропустила...
код
uses crt;
const MAXN=100;
var N,i,j,k,tmp,t:integer;
A,C:array [1..MAXN] of integer;
begin
clrscr;
write ('Enter N:');
readln (N);
for i:=0 to N-1 do
readln (A[i]);
k:=-1;
for i:=0 to N-1 do
if A[i]>0 then
begin
inc (k);
C[k]:=A[i];
end;
for i:=0 to k-1 do
begin
t:=i;
for j:=i+1 to k do
if C[j]<C[t] then t:=j;
tmp:=C[i];
C[i]:=C[t];
C[t]:=tmp;
end;
writeln ('Massiv C:');
for i:=0 to k do
write (C[i],'');
readln;
end.
Элис вне форума Ответить с цитированием
Старый 30.04.2009, 21:39   #12
Sazary
В тени
Старожил
 
Аватар для Sazary
 
Регистрация: 19.12.2008
Сообщений: 5,788
По умолчанию

Элис, во-первых, код заключайте в теги CODE ("#" на панели в окне редактирования).
Во-вторых, все работает.
Вы сам массив-то вводите? Или после ввода N ждете, что он сам себя введет?
Вполне очевидно, чтобы что-то понять, необходимо книги читать.
Не нужно плодить бессмысленных тем. Вас Поиск избавит от многих проблем.

___________________________________ ___________________________________ _______
[=Правила форума=]_____[Поиск]_____[Литература по С++]____[Литература. Паскаль]
Sazary вне форума Ответить с цитированием
Старый 30.04.2009, 21:58   #13
Элис
Пользователь
 
Регистрация: 28.04.2009
Сообщений: 12
По умолчанию

Извините я Вам наверное надоела,если честно я первый раз работаю с массивами,извините если что не так...
я так поняла надо ввести N и нажать ентер,правильно?) только я вот никак не пойму в таком случае,если всё работает,почему у меня ОПЯТЬ выдает ошибку...) номэрик инвалид формат,номер ошибки 106...ничего не понимаю,вроде код проверила в порядке...
Элис вне форума Ответить с цитированием
Старый 30.04.2009, 22:02   #14
Sazary
В тени
Старожил
 
Аватар для Sazary
 
Регистрация: 19.12.2008
Сообщений: 5,788
По умолчанию

Цитата:
Извините я Вам наверное надоела
Совсем нет.
Цитата:
я так поняла надо ввести N и нажать ентер,правильно?
Да. И после этого ввести N элементов массива.

Измените код вот так. Наверное, так вам будет понятнее.
Код:
uses crt;
const MAXN=100;
var N,i,j,k,tmp,t:integer;
A,C:array [1..MAXN] of integer;
begin
clrscr;
write ('Enter N:');
readln (N);
for i:=0 to N-1 do
 begin
 write('Enter A[',i,']: ');
 readln(A[i]);
 end;
k:=-1;
for i:=0 to N-1 do
if A[i]>0 then
begin
inc (k);
C[k]:=A[i];
end;
for i:=0 to k-1 do
begin
t:=i;
for j:=i+1 to k do
if C[j]<C[t] then t:=j;
tmp:=C[i];
C[i]:=C[t];
C[t]:=tmp;
end;
writeln ('Massiv C:');
for i:=0 to k do
write (C[i],' ');
readln;
end.
Вполне очевидно, чтобы что-то понять, необходимо книги читать.
Не нужно плодить бессмысленных тем. Вас Поиск избавит от многих проблем.

___________________________________ ___________________________________ _______
[=Правила форума=]_____[Поиск]_____[Литература по С++]____[Литература. Паскаль]

Последний раз редактировалось Sazary; 30.04.2009 в 22:35.
Sazary вне форума Ответить с цитированием
Старый 30.04.2009, 22:26   #15
Элис
Пользователь
 
Регистрация: 28.04.2009
Сообщений: 12
По умолчанию

так код изменила,нажала Ctrl+F9,нажала N и ентер,а далее высветилось условие и опять ошибка 106 в строке readln (N); не пойму может это так и должно быть?
Вы написали:
Да.И после этого ввести N элементов массива.
у меня вопрос может и глупый,но куда его вводить,я ввела N нажала ентер ещё нужно что-то сделать или число ввести?? если,да то что и куда?)))
Элис вне форума Ответить с цитированием
Старый 30.04.2009, 22:38   #16
Sazary
В тени
Старожил
 
Аватар для Sazary
 
Регистрация: 19.12.2008
Сообщений: 5,788
По умолчанию

Цитата:
так код изменила,нажала Ctrl+F9,нажала N и ентер,а далее высветилось условие и опять ошибка 106 в строке readln (N);
Это значит только то, что вы что-то не так делаете.
У меня никаких ошибок не выводит.
Цитата:
у меня вопрос может и глупый,но куда его вводить,я ввела N нажала ентер ещё нужно что-то сделать или число ввести?? если,да то что и куда?)))
Вы как N вводите? Вводите число и жмете ентер.
Также нужно ввести и элементы массива!

Вот пример ввода:
Код:
Enter N:5
Enter A[0]: 1
Enter A[1]: 2
Enter A[2]: 3
Enter A[3]: 4
Enter A[4]: 5
Massiv C:
1 2 3 4 5
-------------------
Скопируйте листинг из моего последнего поста и скомпилируйте его.
Что-то мне не нравится ваше "так код изменила". Вы его меняете, или копируете код заново.
Вполне очевидно, чтобы что-то понять, необходимо книги читать.
Не нужно плодить бессмысленных тем. Вас Поиск избавит от многих проблем.

___________________________________ ___________________________________ _______
[=Правила форума=]_____[Поиск]_____[Литература по С++]____[Литература. Паскаль]
Sazary вне форума Ответить с цитированием
Старый 30.04.2009, 22:46   #17
Элис
Пользователь
 
Регистрация: 28.04.2009
Сообщений: 12
По умолчанию

ну я код вручную меняю...))
О получилось))) наконец-то))) спасибо Вам огромное!
Элис вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
паскаль...циклы и массивы... Верочка Помощь студентам 4 15.03.2009 11:35
паскаль...массивы и циклы... Верочка Помощь студентам 6 26.02.2009 21:06
Pascal(циклы и массивы) Rulyas Помощь студентам 8 26.01.2009 17:47
Вопрос массивы и циклы probmat Помощь студентам 7 16.03.2008 13:35