Top.Mail.Ru
Мастера DELPHI, Delphi programming community Титульная страница Поиск, карта сайта Написать письмо 
| Новости | Поиск | FAQ | Статьи | Книги | Новости VCL |
| Форумы ЧАТ | Орешник | KOL и MCK |
Форумы -» Основная («Начинающим»)/ Базы / WinAPI / Компоненты / Сети / Media / Игры / Corba и COM / KOL / FreePascal / .Net / Прочее / RSDN.ORG

« предыдущая ветвь | форум | следующая ветвь »

масивчик (


Страницы:   1 2 3

G-leb ©   (2012-11-16 21:05:00) 

Задали массив чисел A (n) , n ≤ 500. Разработать программу, которая вычисляет сумму всех чисел, которые повторяются, и произведение всех чисел, которые не повторяются
///Задайте значение действительным величинам произвольным образом в диапазоне от 0 до 100///

uses
 SysUtils;
const n = 500;
type mas = array[1..n] of integer;
var a: mas; i: byte;
begin writeln('vvod:');
for i:=1 to n do readln(a[i]);
writeln('vuvod:');
  for i:=1 to n do write(a[i]:n);
  readln;
  end.


вот масив .. как дописать чтоб находило похожие и добавляло ... а не походие умножало ?


Сергей М.   (2012-11-16 23:27:00) [41]


> G-leb   (16.11.12 23:21) [14]


Подсказка : сначала отсортируй массив (по возрастанию или убыванию  - не важно) любым известным тебе алгоритмом сортировки.


G-leb   (2012-11-16 23:27:00) [42]

первые 2 лабы сам написал почти .. немного в нете подсказывали ... но там легко иф елсе одни  ввод вывод  переменных  кнопка батон и текстовые поля ... а тут цыкл и масив появился .. и я  еще не совсем понимаю как с ними работать .. теорию вроде  прочитал .. а куда-то в сторону пофантазировать иже проблематично


G-leb   (2012-11-16 23:21:00) [43]

первый курс - 3 лабораторная по программированию ..  до етого никогда не сталкивался с программирование )) .. ну может чуть чуть


Сергей М.   (2012-11-16 22:50:00) [44]


> так не запускается  с real


Так ты разберись почему"не запускается" - в сообщение об ошибке вникни ..
Или препод с тобой "разберется", если ты не разберешься)

Ну есть, конечно, и "запасной вариант" - купитьу кого-нибудь готовое решение и попытаться впарить его преподу как своё).. Но тут есть немалый риск что "аппаратура при нем"))


Rouse_   (2012-11-16 22:49:00) [45]

В вузах учат, это явно не вуз...


Jeer   (2012-11-16 22:47:00) [46]


>  Где учишся, что за ПТУ такой?


Скорее всего ВУЗ, заявленный под сокращение. :(
Да и правильно.

P.S.
Иди в ремесленники, работай руками - это более понятно и востребовано.


Rouse_   (2012-11-16 22:44:00) [47]


> uses
> crt; тож ошибку выдает ставлю
> uses
> SysUtils; только тогда работает

Т.е. для тебя что паскалевская программа, что на дельфе, как я понял монопенисюальны? Где учишся, что за ПТУ такой?


G-leb   (2012-11-16 22:43:00) [48]

так не запускается  с real :(


Сергей М.   (2012-11-16 22:43:00) [49]


> Вот помогли мне


Тебе "помог" такой же незнайка.
Так сказать медвежью услугу тебе оказал, подсуетившись и выдав неверное решение.


Сергей М.   (2012-11-16 22:37:00) [50]


> ставлю real выдает ошибку


Вернешь на место integer - "ошибку" тебе выдаст препод, не засчитав задание выполненным.

Придется тебе выбирать из двух зол меньшее)


G-leb   (2012-11-16 22:12:00) [51]

Вот помогли мне  .... но есть кое что непонятное

program lab5;

{$APPTYPE CONSOLE}

uses
 crt;

Var
  a : array [1..500] of   integer;
  n, i, j, k, sum, mul, col: integer;
begin
 write('Введите размерность массива:');
 readln(n);
 mul := 1;// cумма элементов
 sum := 0;
// инициализация массива
 for i := 1 to n do
 begin
   randomize;
   a[i] := random (100);
 end;
// вывод элементов
 for i := 1 to n do   write(a[i], ' ');
//  проход массива. Каждый элемент сравниваем с каждым.
 writeln;
 k := 1;
 for i := 1 to n do
 begin
   col := 0; // переменная для  подсчёта  количества совпадений.
   for j := 1 to n do
   begin
   // если встретился такой же элемент
     if (a[i] = a[j]) then
     begin
       inc(col);// увеличиваем счётчик совпадений на 1
     end;
   end;
   { если  в программе было только одно свпадение чисел(сравнили
   число с самим собой) - произведение элнментов }
   if (col = 1) then
     mul := mul * a[i]
   else
   // иначе - сумма
   sum := (sum + a[i]);
 end;
 writeln('Cумма = ',sum);
 writeln('Произведение = ', mul);
 
end.


1
> mas = array[1..n] of integer; ставлю real выдает ошибку ...

2. генерирует как-то странно по 10-15 одинаковых чисел
и

uses
crt; тож ошибку выдает ставлю
uses
SysUtils; только тогда работает


AV   (2012-11-16 22:10:00) [52]


> Разработать программу, которая вычисляет сумму всех чисел,
>  которые повторяются

начать надо с определения таковых.
напиши как найти первое число, которое уже встречалось.


Сергей М.   (2012-11-16 21:44:00) [53]


> G-leb   (16.11.12 21:05)  


Тебе ж сказано в задании - "Задайте значение действительнымвеличинам"

А ты что пишешь вместо этого ?
> mas = array[1..n] of integer;

За два дня можно было бы вполне разобраться хотя бы с этим весьма важнымдля поиска и выбора решения моментом.


Rouse_   (2012-11-16 21:16:00) [54]

Ну ты код то свой покажи чего наваял, лучше каждую строчку прокомментируй, так может и сам поймешь ошибку


G-leb   (2012-11-16 21:13:00) [55]

2 день сижу .. не могу понять ничего ... прочитал уже штук 30 примеров  не могу понять как найти ..


Rouse_   (2012-11-16 21:10:00) [56]

Глеб, представь что оперирующий тебя врач прибежал на форум с вопросом "с какой стороны аппендицит"?

Я могу понять когда люди провели собственные изыскания и уперлись в непонятный им момент, но вот так чтобы сразу (решите за меня).

Сейчас девять - за два часа, думаю сможешь написать то, что тебе не понятно в алгоритме. Если нет - закрываемся...


Страницы:   1 2 3

Наверх

Титульная страница Поиск, карта сайта Написать письмо