Перейти к содержанию
СофтФорум - всё о компьютерах и не только

Заказы "Сделайте все за меня"


Рекомендуемые сообщения

№3

раз число целое, то переменная, где оно будет храниться будет типа Comp

нам надо посчитать сумму и кол-во цифр

Пусть а - заданное число, тогда создадим массив b из 100 элементов типа byte, в котором будем хранить цифры числа.

Итак:

readln(A); i:=1;while (a mod 10)<>0 dobeginb[i]:=(a mod 10); a:=(a div 10); i:=i+1;end;b[i]:=a;{Теперь переменная i хранит количество цифр в числе}for j:=i downto 1 dobeginwhile (s<>summa) and (b[j]<9) dobeginb[j]:=b[j]+1;for k:=1 to i  do s:=s+b[k];if s=summa then break;end;end;if s=summa then beginfor k:=1 to i do write (b[k]);end else writeln (' Числа с таким кол-вом цифр и такой суммой цифр нет');end.

Кстати, эта прога проверяет только "вперед", т.е. только большие чилса - но у тебя и по условию "следующее" по-моему это и означает.

Насчет меньших думаю и сам теперь составишь.

Можно вопросик: А где это такие задачи задают, в каком универе , на какой спец. ? А то у нас задачки пока идут как для лохов.

насчет trunc я тебе в личку написал

Ссылка на комментарий
Поделиться на другие сайты

Visual Basic 6

здравствуйте народ =)

помогите мне плз.

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

буду очень признателен

Ссылка на комментарий
Поделиться на другие сайты

Нужна программа на трупо паскале для перевода из 2, 8 ,10 систем счисления в шеснадцати ричную, т.е пишешь 10, он выводит 2 и т.д.

Срочно.

Ссылка на комментарий
Поделиться на другие сайты

  • 3 недели спустя...

Привет всем! прошу хелп кто может - в институте начали изучение пролога

после СИ воопсче ниче не понятно - не то чтобы совсем но трудности есть - в конце месяца курсовой млин...

задали задачку до конца недели - кто знает помогите плиз и если не трудно с обьяснениями.

Загадка Эйнштейна

Как утверждал Эйнштейн, 98% людей разгадать её не могут.

Но это было в далеком 20 веке...

Итак...

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

1. Норвежец живет в первом доме.

2. Англичанин живет в красном доме.

3. Зеленый дом находится левее белого.

4. Датчанин пьёт чай.

5. Тот, кто курит Rothmans, живет рядом с тем, кто выращивает кошек.

6. Тот, кто живет в желтом доме, курит Dunhill.

7. Немец курит Marlboro.

8. Тот, кто живет в центре, пьёт молоко.

9. Сосед того, кто курит Rothmans, пьёт воду.

10. Тот, кто курит Pall Mall, выращивает птиц.

11. Швед выращивает собак.

12. Норвежец живет рядом с синим домом.

13. Тот, кто выращивает лошадей, живет в синем доме.

14. Тот, кто курит Philip Morris, пьёт пиво.

15. В зеленом доме пьют кофе.

Вопрос: Кто выращивает рыбок?

Ссылка на комментарий
Поделиться на другие сайты

Visual Basic 6

здравствуйте народ =)

помогите мне плз.

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

буду очень признателен

FileCopy "Путь к фала откуда будет копировать", "Путь куда будет копировать файл"

Ссылка на комментарий
Поделиться на другие сайты

  • 2 недели спустя...

rapid1985:

Вопрос: Кто выращивает рыбок?

Немец.

Жаль, что только сегодня зашёл сюда. :1eye: Люблю подобные головоломки. Решил за пол-часа, но, очевидно, что объяснять уже поздно.

Ссылка на комментарий
Поделиться на другие сайты

Skif:

объяснять уже поздно

Почему? думаю многим интересно узнать как это решать ;) (мне лично интересно :D )

Ссылка на комментарий
Поделиться на другие сайты

CreatoR:

Почему? думаю многим интересно узнать как это решать (мне лично интересно )

Неужели неинтересно докопаться самостоятельно? :D

Я пошёл следующим путём:

1. Нарисовал пять длинных колонок (домов) и определил очерёдность цветов:

Жёлтый, Синий, Красный, Зелёный, Белый.

2. Вписал прямые подсказки:

Жёлтый - Норвежец - Dunhill,

Синий - Лошади,

Красный - Англичанин - Молоко,

Зелёный - Кофе.

3. Подвёл черту под "верняком".

4. Отталкиваясь от остальных условий, вписал в колонки возможные "атрибуты" (одну связку, например <Pall Mall - птицы>, в две-три колонки).

5. Методом исключения повычёккивал неприемлемые связки.

Результат:

1.Жёлтый - Норвежец - Dunhill - Кошки - Вода

2.Синий - Датчанин - Rothmans - Лошади - Чай

3.Красный - Англичанин - Pall Mall - Птицы - Молоко

4.Зелёный - Немец - Marlboro - Рыбки - Кофе

5.Белый - Швед - Philip Morris - Собаки - Пиво

Ссылка на комментарий
Поделиться на другие сайты

Программеры, я ведь чего в ваш топик зашёл - нужна маленькая прога. НО! Напрягать никого не хочу. Просто подскажите язык попроще, освоив азы которого, я мог бы сварганить такую программульку:

Небольшое окно. Поле ввода цифр (как вариант набор клавиш, подобных калькуляторским), "ввод", "сброс". Вводимые цифры распределяются по нескольким колонкам, согласно заданным условиям.

Возможно, есть подходящий конструктор, подобный разным "сайтостроителям"?

Ссылка на комментарий
Поделиться на другие сайты

Люди, выручайте!!!

Нужна следующая задачка на Паскале:

Осуществить логический сдвиг элементов прямоугольной матрицы на n элементов вправо или вниз (в зависимости отведенного режима). n может быть больше количества элементов в строке или столбце.

В просторах сети на шел следующее

uses crt;var a:array[1..100,1..100] of real;n,m,i,j,c,zdvig,z,zd:integer;beginclrscr;writeln('Vvedite kolichestvo stolbcov');readln(n);writeln('Vvedite kolichestvo strok');readln(m);writeln('Vvedite matricu');for i:=1 to n doBegin	 for j:=1 to m do		 Begin			  readln(a[i,j]);		 end;end;writeln('Vvedite na skolko edinic nugno sdelat sdvig');readln(zdvig);writeln('Esli nugno sdelat sdvig vpravo vvedite 1, esli vniz vvedite 0');readln©;if c=1 then		for i:= 1 to n do		 for j:=1 to m do			  begin			  z:=zdvig mod n;				  zd:=z+i;				  a[zd mod n,j]:=a[i,j];			 end	   else	begin	z:=zdvig mod m;	zd:=z+j;	a[i,zd mod m]:=a[i,j];   end;   for i:=1 to n do	   begin			for j:=1 to m do				begin					 writeln(a[i,j]);				end;	   end;readln;end.

Вроде должна подходить по условиям на 99,9%, но вот результат какой-то не такой выдает (а мож я и ошибаюсь)

Подправте кто может. Очень надо!!!

Ссылка на комментарий
Поделиться на другие сайты

ts@ndr:

Чем искать ошибки, проще сделать самому.

 uses crt;var a:array[1..100,1..100] of real;n,m,i,j,k,l,r,d:integer;beginclrscr;write('Kolichestvo strok: '); readln(n);write('Kolichestvo stolbcov: '); readln(m);writeln('Vvedite matricu');for i:=1 to n do for j:=1 to m doBegin Write('Element A[',i:2,',',j:2,']=');readln(a[i,j]) end;for i:=1 to n do beginfor j:=1 to m do Write(a[i,j]:6:1); writeln end;r:=0; d:=0; write('Velichina sdviga: '); readln(k);write('Napravlenie sdviga (0 - vniz, <>0 - vpravo: '); readln(l);if l=0 then d:=k else r:=k; if r<>0 then  for i:= 1 to n dofor j:=m downto 1 do  if j>r then a[i,j]:=a[i,j-r] else a[i,j]:=0;if d<>0 then  for j:= 1 to m dofor i:=n downto 1 do  if i>d then a[i,j]:=a[i-d,j] else a[i,j]:=0;for i:=1 to n do beginfor j:=1 to m do Write(a[i,j]:6:1);writeln end;readln;end. 

Для проверки проще всего вводить матрицу 3х3 с числами 1...9

Изменено пользователем Тролль
Ссылка на комментарий
Поделиться на другие сайты

помогите с задачам плиз....

1)не разрешается использование строк и массивов, а также функций преобразования строки в число и обратно.

Дано натуральное число N. Заменить любую из его цифр (только одну) так, чтобы получилось число, максимально близкое к некоторой степени двойки. Операция сдвига влево – N shl(3 количество позиций влево, то есть * на 8 в двоичной системе координат)

(можно использовать толькло Циклические алгоритмы.)

2)Написать функцию, вычисляющую количество делителей заданного натурального числа. Использовать ее в составлении программы, которая среди вводимых пользователем натуральных чисел находит последнее из чисел, имеющих максимальное количество делителей.

(нельзя масивы и строки,можно Циклические алгоритмы и функций)

Ссылка на комментарий
Поделиться на другие сайты

  • 2 недели спустя...

Не могу получить зачёт по програмированию =(

Нужно написать две программы в Паскале. Вот условия

1)Тема: Работа с текстовыми файлами

Условие: Вывести количество отрицательных чисел из данного файла

2)Тема: Тип данных - запись

Условие: Написать программу, которая выводит сведения об учителях школы, у которых нет домашнего телефона. Данные об учителях оформить ввиде записи: фамилия, имя, отчество, адрес, телефон (у кого он есть)

Ссылка на комментарий
Поделиться на другие сайты

РОМАШКА

----------------------------

Program Count_in_file;

uses

Crt;

const

path = 'f:/file.txt';

var

f : file of integer;

i,j : integer;

begin {Count_in_file}

ClrScr;

writeln('Запись чисел в файл');

writeln;

assign(f, path);

rewrite(f);

i:= 0;

j:= 0;

repeat

window(1, 2, 80, 25);

Clrscr;

writeln('Введите число');

read(i);

write(f, i);

writeln('Для выхода из режима записи чисел в файл нажмите Ecs');

writeln;

until readkey = #27;

reset(f);

writeln('Содержимое файла');

while not EOF(f) do begin

read(f, i);

write(i, ' ');

if i < 0 then inc(j);

end;

writeln;

writeln;

writeln('Отрицательных элементов - ', j);

readln;

readln;

close(f);

end. {Count_in_file}

------------------------------------

====================

------------------------------------

Program Teacher_Search;

{---------------------}

uses

Crt;

{---------------------}

type

teacher = record

i, f, o : string[15];

address : string[20];

number : longint;

end; {teacher}

{---------------------}

const

path = 'f:/file.txt';

{---------------------}

var

work, find,

result, tmp : teacher;

f : file of teacher;

err, j : byte;

i : longint;

{---------------------}

begin {search}

{$I-}

j:= 0;

assign(f, path);

while true do begin

ClrScr;

writeln('What do you want do do?');

writeln('1 - enter new data or 2 - search data in existing file or 3 - exit');

writeln('(press 1, 2 or 3)');

case ReadKey of '1':

begin

rewrite(f);

repeat

ClrScr;

repeat

writeln('Imya: ');

readln(work.i);

writeln('Are you sure? Yes - Enter');

until ReadKey = #13;

repeat

writeln('Familia: ');

readln(work.f);

err:= IOResult;

writeln('Are you sure? Yes - Enter')

until (ReadKey = #13) and (err = 0);

repeat

writeln('Otchestvo: ');

readln(work.o);

err:= IOResult;

writeln('Are you sure? Yes - Enter')

until (ReadKey = #13) and (err = 0);

repeat

writeln('Address: ');

readln(work.address);

err:= IOResult;

writeln('Are you sure? Yes - Enter')

until (ReadKey = #13) and (err = 0);

repeat

writeln('Telefon: (0 - esli net telefona) ');

readln(work.number);

err:= IOResult;

writeln('Are you sure? Yes - Enter')

until (ReadKey = #13) and (err = 0);

write(f, work);

writeln('Do you want to continue? No - Esc')

until ReadKey = #27;

close(f);

end; {case 1}

'2':

begin

reset(f);

writeln('Net domashnih telefonov:');

while not EOF(f) do begin

read(f, tmp);

if tmp.number = 0 then begin

with tmp do begin

writeln;

writeln(i);

writeln(f);

writeln(o);

writeln(address);

writeln;

end;

end;

end; {while}

writeln('Press Enter');

readln;

close(f);

end; {case 2}

'3': halt; {case 3}

end; {case readkey of...}

end; {while}

{$I+}

end. {search}

------------------------------

Ссылка на комментарий
Поделиться на другие сайты

  • 2 недели спустя...

Зарылся в учебнике по Делфи, но нигде не нахожу простенького обработчика событий. Надо, чтобы после нажатия кнопки с цифрой, она отображалась в нескольких таблицах. За каждой кнопкой-цифрой закреплён свой столбик в каждой из таблиц. Например, после нажатия "1", единица появляется в первом столбце первой таблицы и третьем столбце второй таблицы. Каждая вводимая цифра занимает следующую нижнюю ячейку в таблице (а не в колонке! Все числа должны идти последовательно в таблице, а не забивать все ячейки). В качестве таблиц взял StringGrid (Additional). К сожалению, ничего лучшего на панели не нашёл (у меня BorlandDelphiPersonalEdition).

Подскажите, пожалуйста, кто знает.

Изменено пользователем Skif
Ссылка на комментарий
Поделиться на другие сайты

Skif

Обрабатывать события нужно там, где они происходят, или передавать родителям.

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

Ссылка на комментарий
Поделиться на другие сайты

Shurr:

Где должен быть фокус ввода, чтобы нажатия клавиш обрабатывались указанным тобой образом?

Я не буду привязывать компоненты к клавиатуре. Каждая кнопка отвечает за группу однотипных показателей, потому кнопок не так уж и много. Клик левой клавишей мыши по кнопке -> одна отметка в каждой таблице.

У той компоненты и надо ставить обработчик.

Цитата из учебника:

Delphi лишь создала заготовку для процедуры, но она ничего “не знает” о том, для чего эта процедура предназначена. Наполнить тело нужными предложениями -задача программиста

Вот с этим "предложением" между begin и end; у меня и сложность. Все компоненты в форме я расположил. Но ведь визуальным способом фрагмент программы, связывающий кнопку с группой колонок, не создашь.

Ссылка на комментарий
Поделиться на другие сайты

Помогите, пожалуйста, дописать курсовую. Программа - транспортная задача. Вроде бы начал делать, но не врубаюсь что дальше... проблема в том, что в принципе я могу сам сделать, но сейчас нет времени. Параллельно раскидываю хвосты, и пишу дипломку. пожалуйста, помогите решить проблему. Желательно до среды. Описание мат. решения и само задание в аттаче.

Вот код:

Program Transport_911;Uses CRT;label L1;Varmax:integer;cc:array[1..6,1..6] of integer;ai,bj:array[1..6] of integer;cij:array[1..6,1..6] of integer;a,b:array[1..5] of integer;c,r:array[1..5,1..5] of integer;x,y,z,i,j,ij,x1,y1,k,q,w:integer;{***********************************}Procedure BP(ki,li,k,l,kk:integer);BeginIf ki<x1 thenFor j:=li to x1 doIf c[ki,j]<>0 thenBeginFor i:=ki to y1 doIf c[i,j]<>0 thenEnd;End;{***********************************}BeginClrScr;{writeln('vvedite kolichestvo zapasov');readln(x1);writeln('vvedite kolichestvo potrebnostey');readln(y1);writeln('vvedite zapaci gruza');for i:=1 to x1 doreadln(a[i]);writeln;writeln('vvedite potrebnosti');for j:=1 to y1 doreadln(b[j]); }x1:=3;y1:=5;b[1]:=90;b[2]:=160;b[3]:=70;b[4]:=80;b[5]:=100;a[1]:=150;a[2]:=200;a[3]:=150;For j:=1 to y1 doWrite(b[j]:5);Writeln;Writeln;Writeln('____Table 1____');Writeln;For i:=1 to x1 do beginFor j:=1 to y1 do beginIf (a[i]=0) or (b[j]=0) then begin c[i,j]:=0;Goto L1;End;If a[i]>b[j] then beginc[i,j]:=b[j];a[i]:=a[i]-b[j];b[j]:=0;End;If a[i]=b[j] then beginc[i,j]:=a[i];a[i]:=0;b[j]:=0;End;If a[i]<b[j] then beginc[i,j]:=a[i];b[j]:=b[j]-a[i];a[i]:=0;End;L1:write(c[i,j]:5);End;Writeln;End;Writeln;{***********************************}{writeln('vvedite tarify perevozok cherez probel');for i:=2 to x1+1 do beginfor j:=2 to y1+1 do begincij[1,1]:=0;end;end;writeln;{for i:=1 to x1 do beginfor j:=1 to y1 do beginread(cij[i,j]);end;end;}cij[1,1]:=8; cij[1,2]:=20; cij[1,3]:=7; cij[1,4]:=11; cij[1,5]:=16;cij[2,1]:=4; cij[2,2]:=14; cij[2,3]:=12; cij[2,4]:=15; cij[2,5]:=17;cij[3,1]:=15; cij[3,2]:=22; cij[3,3]:=11; cij[3,4]:=12; cij[3,5]:=19;Writeln;Writeln('____Tarify perevozok____');Writeln;For i:=1 to x1 do beginFor j:=1 to y1 do beginWrite(cij[i,j]:5);End;Writeln;End;{***********************************}ai[1]:=0;For i:=1 to x1 doBeginFor j:=1 to y1 doIf c[i,j]<>0 thenBeginbj[j]:=cij[i,j]+ai[i];For k:=i+1 to x1 doIf c[k,j]<>0 then ai[k]:=bj[j]-cij[k,j];End; {for q:=j to y1+1 do if c[i-1,j-1]<>0 then bj[j]:=cij[i,j]+ai[i]; for w:=i to x1+1 do if c[i-1,j-1]<>0 then ai[i]:=bj[j]-cij[i,j];}End;Writeln;{***********************************}Writeln('____Table output Bj and Ai____');Writeln;For i:=1 to y1 doWrite(bj[i]:5);Writeln;For i:=1 to x1 doWriteln(ai[i]);{***********************************}Writeln;Writeln('Table output');Writeln;For i:=1 to x1 do beginFor j:=1 to y1 do beginIf c[i,j]=0 then begin r[i,j]:=bj[j]-ai[i]-cij[i,j];End;End;End;For i:=1 to x1 doFor j:=1 to y1 doIf c[i,j]=0 thenWriteln('a',i,j,'=',r[i,j]);{***********************************}Writeln;Writeln('____Table output____');Writeln;For i:=1 to x1 do beginFor j:=1 to y1 do beginIf c[i,j]=0 then r[i,j]:=bj[j]-ai[i]-cij[i,j];Write(r[i,j]:5);End;Writeln;End;{***********************************}For i:=1 to x1 do  beginFor j:=1 to y1 do  beginmax:=r[i,j];If r[i,j]>max then begin cc[i,j]:=r[i,j];End;End;End;Writeln;Write(cc[i,j]);Readln;Readln;end.

Надеюсь на скорую помощь.

Zadanye.rar

Opisanye.rar

Zadanye.rar

Opisanye.rar

Ссылка на комментарий
Поделиться на другие сайты

vital_:

Нет уж... извини, но за деньги я не согласен - нет их у меня пока... :(

2all Помогите, пожалуйста, горю... :(

Ссылка на комментарий
Поделиться на другие сайты

Darth Emil:

Задачка действительно по объему немаленькая. Но тут есть исходник модуля на Turbo Pascal 7 для решения транспортной задачи. Твои условия в тестовый пример я вбил, естественно, сам. После компиляции и выполнения решение похоже на истину :(

Прикладываю исходные тексты и скомпилированные файлы модулей. Для проверки можешь сразу после распаковки архива запустить файл trantest.exe.

Trans.zip

Trans.zip

Ссылка на комментарий
Поделиться на другие сайты

Тролль:

Вот спасибо! :D А то времени нет ни на что - прихожу с учёбы выжатый как лимон... :bleh:

Ссылка на комментарий
Поделиться на другие сайты

Для публикации сообщений создайте учётную запись или авторизуйтесь

Вы должны быть пользователем, чтобы оставить комментарий

Создать учетную запись

Зарегистрируйте новую учётную запись в нашем сообществе. Это очень просто!

Регистрация нового пользователя

Войти

Уже есть аккаунт? Войти в систему.

Войти
  • Последние посетители   0 пользователей онлайн

    • Ни одного зарегистрированного пользователя не просматривает данную страницу



×
×
  • Создать...