Paskal.3 задачи.

###F###
Сообщения: 5
Зарегистрирован: 16 ноя 2008, 15:59

1)В одномерном массиве,состоящем из N целых элементов,вычислить:
*Сумму элементов массива с четными номерами
*Сумму элементов массива,расположенных после последнего нулевого элемента.


2)Дано целое число произвольной разрядности.
Проверить,содержит ли число только четные цифры.


3)Дана информация о студентах первого курса, о каждом известно:
-фамилия студента
-номер группы
-средний бал за последнюю сессию.
В первой группе определить фамилию студента с макс.средним балом.


Заранее благодарен,всем кто отозвался.
Аватара пользователя
Naeel Maqsudov
Сообщения: 2570
Зарегистрирован: 20 фев 2004, 19:17
Откуда: Moscow, Russia
Контактная информация:

граждане, ну имейте совесть!
уже тыщу раз решали подобные задачи.

Код: Выделить всё

const 
  N=10;
var
  A:array[1..N] of integer; 
  i,S:integer;
begin
  {заполнение}
  for i:=1 to N do A[i]:=random(10);
  {вывод на экран}
  for i:=1 to N do writeln(A[i]);
  {сумма}
  S:=A[2];
  for i:=4 to N div 2 do S:=S[i*2];
  writeln('Сумма четных элементов=',S);
  {сумма после нулевого
  если нулевого нет, то подсчитается полная сумма}
  i:=succ(N); S:=0;
  repeat  
    dec(i);
    S:=S+A[i];
  {идея проста, шагаем от конца, до первого нуля или до начала}
  until (i=1) or (A[i]=0);
  writeln('Сумма элементов после последнего 0=',S);
end.
Аватара пользователя
Naeel Maqsudov
Сообщения: 2570
Зарегистрирован: 20 фев 2004, 19:17
Откуда: Moscow, Russia
Контактная информация:

Код: Выделить всё

var
  X:longint; N:integer;
begin
  write('введите число:'); readln(X);
  N:=0;
  while (X>0) do begin
    if ((X mod 10) mod 2) = 1 then inc(N);
    X:=X div 10;
  end;
  if N>0 then writeln('Число содержит нечетные цифры') else writeln('Все цифры в числе - четные');
end.
Аватара пользователя
Naeel Maqsudov
Сообщения: 2570
Зарегистрирован: 20 фев 2004, 19:17
Откуда: Moscow, Russia
Контактная информация:

3)

Максимальное количество записей ограничено или должно быть произвольным?
###F###
Сообщения: 5
Зарегистрирован: 16 ноя 2008, 15:59

Произвольным.
Большое спасибо за первые две,вы меня очень выручили.
Аватара пользователя
Naeel Maqsudov
Сообщения: 2570
Зарегистрирован: 20 фев 2004, 19:17
Откуда: Moscow, Russia
Контактная информация:

Т.е. память под массив будем динамически выделять по GetMem?
GetMem вы там проходили уже или нет?
C_O_D_E
Сообщения: 296
Зарегистрирован: 13 фев 2008, 20:10
Откуда: Беларусь. Орша
Контактная информация:

я полагаю что не GetMem а кол-во записей вводит сам пользователь
Если назначен специальный человек для контроля за чистотой исходной информации, то найдется изобратательный идиот, который придумает способ, чтобы неправильная информация прошла этот контроль.
###F###
Сообщения: 5
Зарегистрирован: 16 ноя 2008, 15:59

Нет, еще не проходили...
###F###
Сообщения: 5
Зарегистрирован: 16 ноя 2008, 15:59

Все, что у меня есть по этой задаче-это условие, которое я уже выкладывыл выше...
Нам задачи раздали и сказали делайте...
Хыиуду
Сообщения: 2442
Зарегистрирован: 06 мар 2005, 21:03
Откуда: Москва
Контактная информация:

П.3 поищите в этом же разделе или в разделе "Алгоритмы", что-то такое точно было.
Искусство программирования - заставить компьютер делать все то, что вам делать лень.
Для "спасибо" есть кнопка "Спасибо" в виде звездочки внизу под ником автора поста.
Ответить