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

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

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

Восстановить пароль
Повторная активизация e-mail

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

Ответ
 
Опции темы Поиск в этой теме
Старый 04.12.2008, 22:18   #1
FatCat
 
Регистрация: 03.12.2008
Сообщений: 8
По умолчанию Pascal. Одномерные массивы разрешенных и неразрешенных значений.

Задание: Вводится длина вектора и значения его элементов.
Вводится дополнительный вектор разрешенных значений. Составить вектор из элементов исходного вектора, имеющих неразрешенные значения.
Моё решение: Program LAB1;
Uses crt;
var A:array[1..100] of integer;
B:array[1..100] of integer;
Razm,RRM,I,J:integer;
begin
clrscr;
writeln('Vvedi razmer massiva!(znachenie dolzhno bit bolshe 0)');
Readln(Razm);
For I:=1 to Razm do
Begin
Writeln('Vvedite ', I , ' element massiva');
Readln(A[I]);
end;
Writeln('Isxodnii massiv');
For I:=1 to Razm do
Write(A[I]:3);
Writeln;
Writeln ('vvedi razmer massiva razreshennih znachenii');
readln(RRM);
For J:=1 to RRM do
Begin
Writeln('Vvedite ', J ,' razreshennoe znacenie!');
Readln(B[J]);
end;
Writeln('Massiv razreshennix znaceniy');
For I:=1 to RRM do
Write(B[I]:3);
Writeln;
Writeln('Massiv nerasrehennix chisel!');
For J:=1 to RRM and i:=1 to Razm do
If A[I]<>B[j] then Write(A[I]:3) else Write(' ':3);
readkey;
end.
В результате программа выводит не те значения, которые надо. Помогите исправить. И как сделать входной контроль, на ввод отрицательных чисел и букв?
FatCat вне форума Ответить с цитированием
Старый 05.12.2008, 11:08   #2
puporev
Старожил
 
Регистрация: 13.10.2007
Сообщений: 2,740
По умолчанию

Код:
Program LAB1;
Uses crt;
var A,B:array[1..100] of integer;
    Razm,RRM,I,J,k:integer;
    s:tring;
    t,c:integer

begin
clrscr;
repeat  //вводим размерность массива с проверкой диапазона
writeln('Vvedi razmer massiva A (znachenie dolzhno bit bolshe 0)');
Readln(Razm);
until (Razm>0)and(Razm<=100);
For I:=1 to Razm do  //вводим элементы массива с проверкой правильности ввода символов
  begin
   Write('A[',I,']=');
    repeat
    readln(s); //вводим число как строку
    val(s,t,c); //преобразуем в число
    if c<>0 then //если это не число
    writeln('Vveden nevernyj simvol. Povtorite vvod: ');//сообщаем
    until c=0;
    A[i]:=t; //присваиваем значение
   end;
repeat
Writeln ('vvedi razmer massiva razreshennih znachenii B:');//тоже с массивом В
readln(RRM);
until (Razm>0)and(Razm<=100);
For J:=1 to RRM do
 begin
   Write('B[',j,']='); //то же с массивом В
   repeat
   readln(s);
   val(s,t,c);
   if c<>0 then
   writeln('Vveden nevernyj simvol. Povtorite vvod: ');
   until c=0;
   B[j]:=t;
 end;
clrscr; //очищаем экран
Writeln('Isxodnii massiv A:');//выводим оба массива
For I:=1 to Razm do
Write(A[i],' ');
Writeln;
Writeln('Massiv razreshennix znaceniy B:');
For I:=1 to RRM do
Write(B[i]:3);
Writeln;
Writeln('Massiv nerasrehennix chisel!'); //ищем в массиве В числа из массива А. Если не находим, выводим на экран
For J:=1 to Razm do
  begin
    k:=0;
    for i:=1 to RRM do
    If A[j]<>B[i] then k:=k+1;
    if k=RRM then //если нет ни одного совпадения
    Write(A[j],' ');
  end;
readkey;
end.

Последний раз редактировалось puporev; 05.12.2008 в 11:39.
puporev вне форума Ответить с цитированием
Старый 05.12.2008, 11:39   #3
puporev
Старожил
 
Регистрация: 13.10.2007
Сообщений: 2,740
По умолчанию

Немного неправильно сделал, внес изменения.
puporev вне форума Ответить с цитированием
Ответ


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



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Даны одномерные массивы А и В. Сформировать массивы, состоящие из элемент LyaLya Помощь студентам 15 20.12.2009 14:12
Одномерные массивы в Turbo Pascal W_P Помощь студентам 10 18.12.2009 19:14
Одномерные массивы 2 (Pascal) Дима82 Помощь студентам 4 16.02.2009 21:21
Одномерные массивы(Pascal) Дима82 Помощь студентам 7 07.06.2008 15:33
Одномерные массивы - Pascal W_P Помощь студентам 8 27.02.2008 19:24