Технический форум
Вернуться   Технический форум > Программирование > Форум программистов > Помощь студентам


Ответ
 
Опции темы Опции просмотра
Старый 27.06.2012, 22:22   #1 (permalink)
Натуличка
Member
 
Регистрация: 06.02.2012
Сообщений: 46
Сказал(а) спасибо: 0
Поблагодарили 0 раз(а) в 0 сообщениях
Репутация: 10
По умолчанию Паскаль. Не получается вывод

у меня явные проблемы с ввыводом! я честно признаюсь не понимаю как его надо делать т.к в разных задачах по-разному: вот и сейчас.
В линейном массиве целых чисел удалить из массива элемент равный заданному числу d/ полученный массив вывести на эуран.
поскольку эта задача на удаление, то получаются, что мой массив смещается на 1 ячейку илм же нет в зависимости от условия. я должна вывводить
writeln ('a[i]=, i' a[i]);
Натуличка вне форума   Ответить с цитированием

Старый 27.06.2012, 22:22
Helpmaster
Member
 
Аватар для Helpmaster
 
Регистрация: 08.03.2016
Сообщений: 0

Возможно, после ознакомления с похожими проблемами решение найдется

Вывод данных о температуре
Турбо Паскаль или Фри Паскаль. Задание по теме Типизированный файл
Задача на заполнение, транспонирование и вывод матрицы

Старый 27.06.2012, 22:27   #2 (permalink)
Vladimir_S
Специалист
 
Регистрация: 27.08.2008
Адрес: Санкт-Петербург
Сообщений: 27,807
Сказал(а) спасибо: 340
Поблагодарили 583 раз(а) в 208 сообщениях
Репутация: 113184
По умолчанию

Цитата:
Сообщение от Натуличка Посмотреть сообщение
writeln ('a[i]=, i' a[i]);
writeln('a[',i,']= ',a[i]);
Vladimir_S вне форума   Ответить с цитированием
Старый 27.06.2012, 22:32   #3 (permalink)
Натуличка
Member
 
Регистрация: 06.02.2012
Сообщений: 46
Сказал(а) спасибо: 0
Поблагодарили 0 раз(а) в 0 сообщениях
Репутация: 10
По умолчанию

я так тоже пробывала....( безуспешно (спасибо все равно)
Натуличка вне форума   Ответить с цитированием
Старый 27.06.2012, 22:45   #4 (permalink)
Vladimir_S
Специалист
 
Регистрация: 27.08.2008
Адрес: Санкт-Петербург
Сообщений: 27,807
Сказал(а) спасибо: 340
Поблагодарили 583 раз(а) в 208 сообщениях
Репутация: 113184
По умолчанию

Цитата:
Сообщение от Натуличка Посмотреть сообщение
я так тоже пробывала....( безуспешно (спасибо все равно)
Код:
Var
 a:Array[1..9] of Byte;
 i:Byte;
Begin
 For i:=1 to 9 do a[i]:=i*i;
 For i:=1 to 9 do Writeln('a[',i,']= ',a[i]:2);
 Readln
End.
Миниатюры
examp_1.jpg  
Vladimir_S вне форума   Ответить с цитированием
Старый 27.06.2012, 22:50   #5 (permalink)
Натуличка
Member
 
Регистрация: 06.02.2012
Сообщений: 46
Сказал(а) спасибо: 0
Поблагодарили 0 раз(а) в 0 сообщениях
Репутация: 10
По умолчанию

[QUOTE=Vladimir_S;755685]writeln('a[',i,']= ',a[i]);[/QUOT
почему так? вот моё решение:
var a: array [1..50] of integer;
i,n,d,j:integer;
begin
writeln ('ввод кол-ва эл мас');
readln (n);
writeln ('ввод эл мас');
for i:=1 to n do
readln(a[i]);
writeln ('ввод заданного числа');
readln (d);
for i:=1 to n do
if a[i]=d then
begin
j:=i;
j:i+1;
end;
for i:=j to n-1 do
a[i]:=a[i+1];
writeln
readln
end.
Натуличка вне форума   Ответить с цитированием
Ads

Яндекс

Member
 
Регистрация: 31.10.2006
Сообщений: 40200
Записей в дневнике: 0
Сказал(а) спасибо: 0
Поблагодарили 0 раз(а) в 0 сообщениях
Репутация: 55070
Старый 28.06.2012, 09:57   #6 (permalink)
Vladimir_S
Специалист
 
Регистрация: 27.08.2008
Адрес: Санкт-Петербург
Сообщений: 27,807
Сказал(а) спасибо: 340
Поблагодарили 583 раз(а) в 208 сообщениях
Репутация: 113184
По умолчанию

М-да... Боюсь, смысл ниже приведенного фрагмента навсегда останется тайной создавшего его программиста.
Цитата:
Сообщение от Натуличка Посмотреть сообщение
for i:=1 to n do
if a[i]=d then
begin
j:=i;
j:i+1;
end;
Ладно, не буду заниматься демагогией. Я бы на свой вкус предложил такое решение:
Код:
var
 a: array [1..50] of integer;
 i,n,d,j:integer;
begin
 write('ввод кол-ва эл мас ');
 readln(n);
 writeln ('ввод эл мас');
 for i:=1 to n do
  begin
   write('a[',i:2,']= ');
   readln(a[i]);
  end;
 writeln;
 for i:=1 to n do write(a[i]:4);
 writeln;
 writeln;
 write('ввод заданного числа ');
 readln(d);
 for i:=1 to n do
  if a[i]=d then
   begin
    for j:=i to n-1 do a[j]:=a[j+1];
    dec(n);
   end;
 writeln;
 for i:=1 to n do write(a[i]:4);
 readln
end.
Vladimir_S вне форума   Ответить с цитированием
Ads

Яндекс

Member
 
Регистрация: 31.10.2006
Сообщений: 40200
Записей в дневнике: 0
Сказал(а) спасибо: 0
Поблагодарили 0 раз(а) в 0 сообщениях
Репутация: 55070
Ответ


Ваши права в разделе
Вы не можете создавать новые темы
Вы не можете отвечать в темах
Вы не можете прикреплять вложения
Вы не можете редактировать свои сообщения

BB коды Вкл.
Смайлы Вкл.
[IMG] код Выкл.
HTML код Выкл.
Trackbacks are Вкл.
Pingbacks are Вкл.
Refbacks are Выкл.




Часовой пояс GMT +4, время: 03:41.

Powered by vBulletin® Version 6.2.5.
Copyright ©2000 - 2014, Jelsoft Enterprises Ltd.