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


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

проверьте пожалуйта задачу.
В линейном массиве целлых чисел b(n) заменить все элементы кратные 5, на их удвоенное значение.
program zadacha
var B: array [1..30] of integer;
i, n of integer;
begin
writeln ('ввод колличество элементов массива');
readln (n);
for: i:=1 to n do
readln (a [i]);
for: i:=1 to n do
if a [i] mod 5 <>0 then
a [i]:=a [i]*2;
for: i:=1 to n do
writeln ( 'a [i]=');
end.
я не понимаю как сделать вывод и думаю, что должна вводить еще обозначения кроме I и n
Натуличка вне форума   Ответить с цитированием

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

Подскажу вам, что проблема может быть решена в похожих темах

Массивы. Паскаль
Массивы, Паскаль

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

Цитата:
Сообщение от Натуличка Посмотреть сообщение
я не понимаю как сделать вывод и думаю, что должна вводить еще обозначения кроме I и n
С Вашего разрешения, транслировать/запускать не буду, попробуем сначала умозрительно.
1. Плохо организован ввод - он "слепой", а потому неудобный. Лучше так:
Код:
for: i:=1 to n do
 begin
  write('a[',i:2,']= ');
  readln(a[i]);
 end;
2. А с выводом - и вовсе плохо. Вы просто n раз выводите надпись "a[i]=", а сам массив не выводите вовсе! Надо так:
Код:
for: i:=1 to n do
 writeln ( 'a[',i:2,']= ',a[i]);
3. Еще советую куда-нибудь между циклами ввода и вывода воткнуть оператор
Код:
writeln;
- прямо так, без параметров. Тогда образуется отступ в виде пустой строки. Так красивее.
4. Да, еще одно. В качестве предпоследней строки перед "end." поставьте readln; - это нужно, чтобы остановить выполнение программы и поиметь возможность рассмотреть результат.
Vladimir_S вне форума   Ответить с цитированием
Старый 08.06.2012, 20:59   #3 (permalink)
Натуличка
Member
 
Регистрация: 06.02.2012
Сообщений: 46
Сказал(а) спасибо: 0
Поблагодарили 0 раз(а) в 0 сообщениях
Репутация: 10
По умолчанию

что касается ввод, так нам рекомендует сам преподаватель. объясните, почему я должна записать write('a[',i:2,']= ')-???
Натуличка вне форума   Ответить с цитированием
Старый 08.06.2012, 21:54   #4 (permalink)
kreol
Member
 
Аватар для kreol
 
Регистрация: 27.02.2010
Сообщений: 659
Сказал(а) спасибо: 0
Поблагодарили 0 раз(а) в 0 сообщениях
Репутация: 1312
По умолчанию

Цитата:
Сообщение от Натуличка Посмотреть сообщение
объясните, почему я должна записать write('a[',i:2,']= ')-???
Элементарное удобство для пользователя. Он видит, что должен вводить.
kreol вне форума   Ответить с цитированием
Ads

Яндекс

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


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

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




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

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