Модераторы: volvo877, Snowy, MetalFan
  

Поиск:

Закрытая темаСоздание новой темы Создание опроса
> Задания по Паскалю!!HELP, Спасите 
:(
    Опции темы
NiKitos
Дата 21.12.2004, 00:12 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 3
Регистрация: 20.12.2004

Репутация: нет
Всего: нет



кому не лень помогите написать эти три задачи!просто я уже не успеваю их написать!!прошу вас!!Заранее большое человеческое спасибо!!
1)В одномерном массиве, состоящем из n вещественных элементов, вычислить:

1. количество элементов массива, равных 0;
2. сумму элементов массива, расположенных после минимального
элемента.

Упорядочить элементы массива по возрастанию модулей элементов.

2)Уплотнить заданную матрицу, удаляя из нее строки и столбцы,
заполненные нулями ( оформить в виде процедуры ).
Найти номер первой из строк, содержащих хотя бы один положи-
тельный эл-т ( оформить в виде функции ).

3) 1. Описать пользовательский тип данных с именем NOTE типа запись
(RECORD), содержащий следующие поля:
- NAME - фамилия, имя - (тип STRING);
- TELE - номер телефона - (тип STRING);
- BDAY - день рождения -массив из трех чисел (тип INTEGER).
2. Написать программу, выполняющую следующие действия:
- ввод с клавиатуры данных в массив BLOC_NOTE, состоящий из 8-и
элементов типа NOTE; записи должны быть упорядочены по трем первым
цифрам номера телефона.
- вывод на экран информации о человеке, чья фамилия введена с
клавиатуры;
- если такового нет - выдать на дисплей соответствующее сообщение.
Выбор режима работы программы и ввод исходных данных осуществля-
ется через окно диалога. Формируемый массив BLOC_NOTE отображаетя в
окне исходных данных. Результаты поиска отображаются в окне результа-
тов.

PM MAIL   Вверх
~FoX~
Дата 21.12.2004, 09:48 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


НЕ рыжий!!!
****


Профиль
Группа: Участник Клуба
Сообщений: 2819
Регистрация: 8.10.2003
Где: Зеленоград

Репутация: 1
Всего: 68



NiKitos
Ну во первых читай правила форума.
Название темы должно отражать суть проблемы.
Во вторых подожди до обеда я тебе готовый код выложу.


--------------------
user posted image
…множественность никогда не следует полагать без необходимости…
PM MAIL WWW ICQ Jabber   Вверх
~FoX~
Дата 21.12.2004, 12:43 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


НЕ рыжий!!!
****


Профиль
Группа: Участник Клуба
Сообщений: 2819
Регистрация: 8.10.2003
Где: Зеленоград

Репутация: 1
Всего: 68



Код

program Project1;

{$APPTYPE CONSOLE}

uses
 SysUtils;

var
 GenArray: array[0..100] of real; //Главный массив

procedure FullArray(); // Заполняем массив случайными значениями
var
 I: integer;
 r: real;
begin
 randomize;
 for i := 0 to 100 do begin
   r := random*10;
   GenArray[i] := r;
 end;
end;

function TestToZero():integer; //Сколько нулей в массиве
var
 i: integer;
 K: integer;
begin
 k:=0;
 for i := 0 to 100 do begin
   if int(GenArray[i]) = 0 then k := k+1;
 end;
 result := k;
end;

function FindMin(): integer;  //Ищем позицию минимального элемента
var
i, min: integer;
begin
min := 0;
for i := 0 to 100 do begin
  if GenArray[min] > GenArray[i] then min := i;
end;
result := min;
end;

function SummAfterMin(el: integer): real;  //Суммируем элементы после минимального
var
 i: integer;
 summ: real;
begin
 summ := 0;
 for i := el to 100 do begin
   summ := summ + GenArray[i];
 end;
 result := summ;
end;

procedure SortGenArray(); //Сортируем массив методом пузырька по модулю элементов
var
 i, k: integer;
 temp: real;
begin
 for i := 0 to 99 do
   for k := i to 100 do begin
     If abs(GenArray[i]) < abs(GenArray[k]) then begin
       temp := GenArray[i];
       GenArray[i] := GenArray[k];
       GenArray[k] := temp;
     end;
   end;
end;



var
 i, h, min: integer;
 summ : real;
begin  // вызываем все вышеизложенное и выводим на экран.
 FullArray;
 for i := 0 to 100 do
   Writeln(GenArray[i]);

 h:=TestToZero;
 Writeln('Index zero= ', h);

 min := FindMin;
 Writeln('Min element position= ', min);

 summ:=SummAfterMin(min);
 Writeln('Summ after min element= ', summ);

 readln;


 SortGenArray;
 for i := 0 to 100 do
   Writeln(GenArray[i]);
 readln;
end.


Писано на Delphi consol application, просто чистого паскаля нет пока.
Жди продолжения, сейчас работы много.

Это сообщение отредактировал(а) ~FoX~ - 21.12.2004, 12:46


--------------------
user posted image
…множественность никогда не следует полагать без необходимости…
PM MAIL WWW ICQ Jabber   Вверх
NiKitos
Дата 21.12.2004, 22:16 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 3
Регистрация: 20.12.2004

Репутация: нет
Всего: нет



Цитата
NiKitos
Ну во первых читай правила форума.
Название темы должно отражать суть проблемы.
Во вторых подожди до обеда я тебе готовый код выложу.

Приношу свои извенения за нарушение правил форума!В предь попытаюсь не нарушать их!
Добавлено @ 22:18
Цитата
Код

program Project1;

{$APPTYPE CONSOLE}

uses
 SysUtils;

var
 GenArray: array[0..100] of real; //Главный массив

procedure FullArray(); // Заполняем массив случайными значениями
var
 I: integer;
 r: real;
begin
 randomize;
 for i := 0 to 100 do begin
   r := random*10;
   GenArray[i] := r;
 end;
end;

function TestToZero():integer; //Сколько нулей в массиве
var
 i: integer;
 K: integer;
begin
 k:=0;
 for i := 0 to 100 do begin
   if int(GenArray[i]) = 0 then k := k+1;
 end;
 result := k;
end;

function FindMin(): integer;  //Ищем позицию минимального элемента
var
i, min: integer;
begin
min := 0;
for i := 0 to 100 do begin
  if GenArray[min] > GenArray[i] then min := i;
end;
result := min;
end;

function SummAfterMin(el: integer): real;  //Суммируем элементы после минимального
var
 i: integer;
 summ: real;
begin
 summ := 0;
 for i := el to 100 do begin
   summ := summ + GenArray[i];
 end;
 result := summ;
end;

procedure SortGenArray(); //Сортируем массив методом пузырька по модулю элементов
var
 i, k: integer;
 temp: real;
begin
 for i := 0 to 99 do
   for k := i to 100 do begin
     If abs(GenArray[i]) < abs(GenArray[k]) then begin
       temp := GenArray[i];
       GenArray[i] := GenArray[k];
       GenArray[k] := temp;
     end;
   end;
end;



var
 i, h, min: integer;
 summ : real;
begin  // вызываем все вышеизложенное и выводим на экран.
 FullArray;
 for i := 0 to 100 do
   Writeln(GenArray[i]);

 h:=TestToZero;
 Writeln('Index zero= ', h);

 min := FindMin;
 Writeln('Min element position= ', min);

 summ:=SummAfterMin(min);
 Writeln('Summ after min element= ', summ);

 readln;


 SortGenArray;
 for i := 0 to 100 do
   Writeln(GenArray[i]);
 readln;
end.


Писано на Delphi consol application, просто чистого паскаля нет пока.
Жди продолжения, сейчас работы много.

Спасибо за код!!Благодарю вас за то что нашли время!!
PM MAIL   Вверх
K@K@!N**
Дата 3.7.2005, 19:01 (ссылка)    |    (голосов: 0) Загрузка ... Загрузка ... Быстрая цитата Цитата


Unregistered











Просьба помочь с последней частью программы связанной с обработкой массивов. 3/4 программы я сделал, а в четвертой части требуется упорядочить нечетных по номеру элементы второй половины массива по убыванию квадратов значений. Вот код 3/4 программы длы понятия:

program pr;
uses crt;
var n,i,j,m,a,b,sum:integer;
max:real;
x:array [1..30] of integer;
begin
clrscr;
Write('Vvedite kol-vo elementov v massive: ');
readln(n);
write('Vvedite interval izmeneiya chisel: ');
readln(a,b);
for i:=1 to n do
begin
x[i]:=round((b-a+1)*random(100)/100+a);
write(' ',x[i]);
end;
writeln;
sum:=0;
for i:=(trunc(n/2)+1) to trunc(3*n/4) do
if i mod 3=0 then
sum:=sum+x[i];
writeln('Sum=',sum);
writeln;
max:=-exp((-6)*ln(10));
for i:= (trunc(n/2)+1) to n do
if x[i] mod 2=0 then
if x[i]>max then
max:=x[i];
writeln('Max=',max:4:1);
writeln;
{for i:=1 to trunc(n/2)-1 do
for j:=3 to trunc(n/2) do
if (i mod 2<>0) and (j mod 2<>0) then
if sqr(x[i])>sqr(x[j]) then
begin
m:=x[i];
x[i]:=x[j];
x[j]:=m;
end;
for i:=1 to trunc(n/2) do
if (i mod 2<>0) then
write(' ',x[i]);}
readln;
end.
end.


ПОЖАЛУЙСТА ПОМОГИТЕ !
  Вверх
mvdr
Дата 3.7.2005, 19:46 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


физик
***


Профиль
Группа: Участник
Сообщений: 1349
Регистрация: 31.12.2004
Где: Волгоград, Россия

Репутация: нет
Всего: 42



Цитата(K @ 3.7.2005, 20:01)
требуется упорядочить нечетных по номеру элементы второй половины массива по убыванию квадратов значений.
насколько я понял:надо разделить массив пополам, взять все элементы с нечетными порядковыми номерами со второй половины и сортировать их по убыванию квадратов их значений. Так?



--------------------
Появляюсь редко, но часто метко

Изображать идиота сложнее, чем изображать умного: полезнее и не каждому дано
PM ICQ   Вверх
mvdr
Дата 3.7.2005, 20:03 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


физик
***


Профиль
Группа: Участник
Сообщений: 1349
Регистрация: 31.12.2004
Где: Волгоград, Россия

Репутация: нет
Всего: 42



итак:
Код

var n, i, j,p:integer; begin ClrScr;
for i:=(n mod 2) to n do  // цикл для второй половинки массива
begin
if (n div 2)=1 then b[k]:=a[i];  // проверяем на нечетность, и если нечетный порядковый номер, то
k:=k+1;                                  // записываем в новый массив
end;
for p:=1 to b[0] do // вроде так длина массива определяется
c[p]:=b[p]*b[p]; // создали масиив квадратов
c[1]:=max;
for j:=1 to c[0] do
if c[j]>max then c[j]:=max; // здесь сортировка.

end. 



--------------------
Появляюсь редко, но часто метко

Изображать идиота сложнее, чем изображать умного: полезнее и не каждому дано
PM ICQ   Вверх
Fedor
Дата 3.7.2005, 21:02 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Днепрянин
****


Профиль
Группа: Участник
Сообщений: 2090
Регистрация: 8.2.2003
Где: Великий

Репутация: нет
Всего: 32



Модератор: читайте правила форума: один топик - один вопрос. Тему закрываю.


--------------------
Мы - Днепряне. Мы всех сильней.
PM ICQ   Вверх
  
Закрытая темаСоздание новой темы Создание опроса
Правила форума "Delphi"
THandle
Rrader
volvo877

Запрещается!

1. Обсуждать и делится взломанными компонентами или программным обеспечением

2. Публиковать ссылки на варез

3. Оффтопить

  • Действия модераторов можно обсудить здесь
  • С просьбами о написании курсовой, реферата и т.п. обращаться сюда
  • Вопросы по реализации алгоритмов рассматриваются здесь
  • 90% ответов на свои вопросы можно найти в DRKB (Delphi Russian Knowledge Base) - крупнейшем в рунете сборнике материалов по Дельфи

Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, THandle, Rrader, volvo877.

 
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | Object Pascal: кроссплатформенные технологии | Следующая тема »


 




[ Время генерации скрипта: 0.3930 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.