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

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

Вернуться   Форум программистов > Delphi программирование > Паскаль, Turbo Pascal, PascalABC.NET
Регистрация

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

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

Ответ
 
Опции темы Поиск в этой теме
Старый 16.12.2012, 16:38   #1
svob
Пользователь
 
Регистрация: 22.11.2012
Сообщений: 47
Радость Задача для Free Pascal

Дан массив, который содержит n произвольных чисел. Найдите сумму элементов массива, а также замените элементы, меньшие 10, на 0.

Решите задачу + составьте блок-схему пожалуйста
svob вне форума Ответить с цитированием
Старый 16.12.2012, 17:54   #2
vokar97
Пользователь
 
Аватар для vokar97
 
Регистрация: 23.10.2012
Сообщений: 27
По умолчанию

Задача ведь не сложная, чего сам не решишь?
Количество произвольных чисел (n) вводить нужно?
vokar97 вне форума Ответить с цитированием
Старый 16.12.2012, 17:55   #3
Aranea tela telam
Пользователь
 
Аватар для Aranea tela telam
 
Регистрация: 11.01.2012
Сообщений: 51
По умолчанию

Код программы
Код:
Program User;
var 
a:array[1..10] of integer;
i,b:integer;
begin
randomize;
b:=0;
for i:=1 to 10 do
begin
a[i]:=Random(100);
if a[i]<10 then a[i]:=0;
b:=b+a[i];
end;
Writeln('Сумма массива ровна = ',b);
for i:=1 to 10 do
Write(' ',a[i]);
end.
А это блок схема к программе
Я учусь на своих ошибках, но порой их слишком много
Aranea tela telam вне форума Ответить с цитированием
Старый 16.12.2012, 18:06   #4
svob
Пользователь
 
Регистрация: 22.11.2012
Сообщений: 47
По умолчанию

Я - очень далек от паскаля) Спасибо большое за решение
svob вне форума Ответить с цитированием
Старый 16.12.2012, 18:32   #5
Sciv
Старожил
 
Аватар для Sciv
 
Регистрация: 16.05.2012
Сообщений: 3,211
По умолчанию

Цитата:
Спасибо большое за решение
Которое немного неправильное, имхо. Сначала ищем сумму элементов, потом заменяем на 0 меньшие 10. А в коде наоборот.

Кроме того, думаю, что n все же надо вводить, а не задавать константой.
Начал решать проблему с помощью регулярных выражений. Теперь решаю две проблемы...
Sciv вне форума Ответить с цитированием
Старый 16.12.2012, 19:25   #6
Aranea tela telam
Пользователь
 
Аватар для Aranea tela telam
 
Регистрация: 11.01.2012
Сообщений: 51
По умолчанию

Мда надо походу уже идти спать)
Вот исправил
Код:
Program User;
var 
a:array[1..100000000] of int64;
i,b,n:int64;
begin
randomize;
b:=0;
Readln(n);
for i:=1 to n do
begin
a[i]:=Random(100);
b:=b+a[i];
if a[i]<10 then a[i]:=0;
end;
Writeln('Сумма массива ровна = ',b);
for i:=1 to 10 do
Write(' ',a[i]);
end.
Я учусь на своих ошибках, но порой их слишком много
Aranea tela telam вне форума Ответить с цитированием
Старый 16.12.2012, 20:33   #7
Sciv
Старожил
 
Аватар для Sciv
 
Регистрация: 16.05.2012
Сообщений: 3,211
По умолчанию

Код:
a:array[1..100000000] of int64;
Че так жестоко-то?!
Начал решать проблему с помощью регулярных выражений. Теперь решаю две проблемы...
Sciv вне форума Ответить с цитированием
Старый 16.12.2012, 20:38   #8
svob
Пользователь
 
Регистрация: 22.11.2012
Сообщений: 47
По умолчанию

Спасибо большое
svob вне форума Ответить с цитированием
Старый 17.12.2012, 07:22   #9
Aranea tela telam
Пользователь
 
Аватар для Aranea tela telam
 
Регистрация: 11.01.2012
Сообщений: 51
По умолчанию

Цитата:
Сообщение от Sciv Посмотреть сообщение
Код:
a:array[1..100000000] of int64;
Че так жестоко-то?!
А что уж мелочится что ли?
Так надежнее будет
Я учусь на своих ошибках, но порой их слишком много
Aranea tela telam вне форума Ответить с цитированием
Старый 17.12.2012, 07:38   #10
whatever
a.k.a. Skull
Форумчанин
 
Регистрация: 17.11.2009
Сообщений: 963
По умолчанию

Цитата:
Сообщение от Aranea tela telam Посмотреть сообщение
А что уж мелочится что ли?
Так надежнее будет
Код:
Program User;
var 
a:array of int64;
i,b,n:int64;
begin
randomize;
b:=0;
Readln(n);
setlength(a,n)
for i:=0 to n-1 do
begin
a[i]:=Random(100);
b:=b+a[i];
if a[i]<10 then a[i]:=0;
end;
Writeln('Сумма массива ровна = ',b);
for i:=1 to 10 do
Write(' ',a[i]);
end.
не?
Все тривиальное просто
whatever вне форума Ответить с цитированием
Ответ


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



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Задача для Free Pascal svob Паскаль, Turbo Pascal, PascalABC.NET 13 23.11.2012 07:32
Задача(Free Pascal) Nastya1221 Помощь студентам 0 01.05.2012 13:20
Задача на цикл free Pascal }|{eka Паскаль, Turbo Pascal, PascalABC.NET 1 02.04.2012 05:11
Задача(Free Pascal) Nastya1221 Помощь студентам 0 21.02.2012 17:36
а free pascal не читает задачи которые написаны на turbo pascal? demonara Паскаль, Turbo Pascal, PascalABC.NET 3 25.05.2009 16:28