Убедительная просьба ко всем, кто выкладывает исходники: 1. Обязательно пользуйтесь тэгом code (иначе очень трудно читать)
2. Старайтесь делать отступы
Если вы хотите чтобы вам помогли в написании программы, внятно излагайте задание!
Прежде чем задать вопрос, воспользуйтесь учебником
Возможно, что нужная вам программа уже написана, поэтому советую просмотреть список здесь и здесь Отредактировано куратором: Lord_of_Darkness. Дата: 07.07.2006 19:36
Member
Статус: Не в сети Регистрация: 10.03.2003 Откуда: Россия, Моск...
Задачка такая:
Массив натуральных чисел. Даны числа a1...an, n. Надо найти количество членов последовательности ak, состоящей из членов последовательности an, удовлетворяющих требованиям: кратны 3, но не кратны 5, ak>a(k-1)+a(k-1).
Процедуры и функции использоваться не дожны.
Паскаль ругается на выделеную строку, причем во время работы проги (после ввода N).
Код:
Program Pr_8; Const N0=100; Type TA=Array[1..N0] Of INTEGER; Var K,I,S,N : INTEGER; F,R : REAL; A : TA; B : Array[1..N0] Of INTEGER; Begin Write('N='); Readln(N); I:=0; For I:=I+1 To N Do Begin F:=A[I] Mod 3; R:=A[I] Mod 5; [b] If (F=0) And (R<>0) Then B[I]:=A[I] Else;[/b] I:=I+1; End; For K:=1 To High(B) Do Begin If B[K]<B[k-1]+B[K+1] Then S:=S+1 Else; K:=K+1; End; Write('S=',S); Readln End.
Добавлено спустя 50 секунд n и k - индексы в условии задачи.
Member
Статус: Не в сети Регистрация: 10.03.2003 Откуда: Россия, Моск...
тогда уж вот так
Код:
Program Pr_8; Const N0=100; Type TA=Array[1..N0] Of INTEGER; Var K,I,S,N : INTEGER; F,R : REAL; A : TA; B : Array[1..N0] Of INTEGER; Begin Write('N='); Readln(N); I:=0; For I:=I+1 To N Do Begin F:=A[I] Mod 3; R:=A[I] Mod 5; If (F=0) And (R<>0) Then B[I]:=A[I] Else End; k:=0; For K:=K+1 To High(B) Do Begin If B[K]<B[k-1]+B[K+1] Then S:=S+1 Else End; Write('S=',S); Readln End.
Куратор темы Статус: Не в сети Регистрация: 03.01.2004 Откуда: Питер
m2 Нет уж тогда вот так:
Код:
uses crt; const N0 = 100; var i, k, N, count: integer; A, B: array [1..N0] of integer; begin clrscr; write('N= '); readln(N); for i:=1 to N do begin write('A[',i,']= '); readln(A[i]); end; writeln; k:=1; for i:=1 to N do begin if ((A[i] mod 3) = 0) and (A[i] mod 5 <> 0) then begin B[k]:=A[i]; inc(k); end; end;
count:=0; for i:=2 to k-2 do begin if B[i] > B[i-1]+B[i+1] then begin inc(count); writeln('B[',i,']= ',B[i]); end; end; writeln('count= ',count);
end.
Что-то ты опять страшное сотворил.
Ты же массив А не заполняешь в своей программе, так откуда же данные возьмутся?
_________________ Здесь так мало тех, с кем легко говорить,
Еще меньше тех, с кем не страшно молчать (c)
Куратор темы Статус: Не в сети Регистрация: 03.01.2004 Откуда: Питер
m2 Ну тогда так:
Код:
uses crt; const N0 = 100; var i, k, N, count: integer; A, B: array [1..N0] of integer; begin clrscr; write('N= '); readln(N); for i:=1 to N do begin A[i]:=i; end; writeln; k:=1; for i:=1 to N do begin if ((A[i] mod 3) = 0) and (A[i] mod 5 <> 0) then begin B[k]:=A[i]; inc(k); end; end;
count:=0; for i:=2 to k-2 do begin if B[i] > B[i-1]+B[i+1] then begin inc(count); writeln('B[',i,']= ',B[i]); end; end; writeln('count= ',count);
end.
_________________ Здесь так мало тех, с кем легко говорить,
Еще меньше тех, с кем не страшно молчать (c)
Писать на Паскаль - к сожалению, принципиально.
Трабл в том, что из меня ОЧЕНЬ плохой программер!
Как юзать record знаю.
Конкретно не знаю как проверить "на тупого пользователя программу"(при заполнении базы данных надо чтобы программа не вылетала, если введено не то значение) и не знаю резервное копирование при модификации базы данных. Модификация базы - тоже аспект, который вызывает некоторые сомнения.
В общем, I'm hopeless!:weep:
Формулировка такая:
Требуется создать систему для хранении данных о технических характеристиках однотипных стандартных изделий , а также их движения на производственном складе.
Изделие - электрический чайник. Параметры: фирма(производитель), модель, цвет, объем, S/n, дата поступления и дата продажи.
Система должна выполнять следующие функции:
1. Создание новой базы данных.
2. Внесение информации о новом изделии.
3. Редактирование (изменение) информации об изделии, информация о котором уже внесена в базу данных.
4. Выборку записей об изделиях по заданному критерию и вывод ее на экран.
База должна храниться в файле
Member
Статус: Не в сети Регистрация: 14.08.2004 Откуда: Москва
Возвращаясь к очень старой теме поиска простых чисел Может кому понадобится такой оооочень быстрый способ Например... даны два числа больше 2 но меньше 30000 найти все простые числа в интервале между ними. Время работы программы ограничего например 3 секундами... тупой перебор не поможет... Если пропускать чётные... хмм.. не знаю, не пробовал.. Вобщем один пацан у нас на городской сделал так: поставил тупой перебор, вывел все числа... Затем объявил массив как константу с уже готовым набором чисел и выводил простые числа из массива, которые лежать в интервале от меньшего введённого числа до большего... ПРосто и изящно
Привет. Вот такой вопрос. Есть прога. Назовем proga.pas. Если откомпилировать будет proga.exe
Если написать в командной строке proga.exe file.txt как получить этот самый 'file.txt'. Ну есть ли какаято функция которая возвращала бы параметр с которым была запущена программа?
Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 2
Вы не можете начинать темы Вы не можете отвечать на сообщения Вы не можете редактировать свои сообщения Вы не можете удалять свои сообщения Вы не можете добавлять вложения