Помогите решить задачи.
|
|
Nem | Дата: Четверг, 19.04.2012, 17:21 | Сообщение # 1 |
Рядовой
Группа: Пользователи
Сообщений: 4
Статус: Offline
| Я знаю что задание легкие, но я парюсь так как я начинающий программист и многое мне непонятно. Это нам нечего практически не показывали. Показали основы. Что такое Case of, for, If then, а так больше нечего не показывает и редкость когда подсказывает. Говорить делайте сами Задание 1 Оператор выбора Даны два целых числа: D (день) и М(месяц), определяющие правильную дату невисокосного года. Вывести значение D и M для даты,следующие за указанной. Задание 2 Цикл с For с ветвлением Написать программу поиска двузначных чисел, обладающих следующим свойством: если к сумме цифр этого числа прибавить квадрат этой суммы, то получится снова число. Задание 3 Обработка последовательности Дано целое число N и набор из N вещественных чисел. Если данные набор образует убывающие последовательность , то вывести 0; в противном случае вывести номер первого числа, нарушающего закономерность. Задание 4 Циклы Дано натуральное число n Вычислить 2n
Спасибо большое кто поможет
|
|
| |
xaramamburu | Дата: Четверг, 19.04.2012, 18:47 | Сообщение # 2 |
Полковник
Группа: Администраторы
Сообщений: 240
Статус: Offline
| Вот пример решения задачи, определения следующей даты с учетом високосного года (задание 1). Думаю переделать его будет не очень сложно.
program date;
{$APPTYPE CONSOLE}
var M,D,Y:Integer; Mday:array[1..12] of Byte=(31,28,31,30,31,30,31,30,31,31,30,31); // вроде так )) проверьте
begin Readln(D,M,Y); If (Y mod 4 = 0) and (Y mod 100 <> 0) or (Y mod 400 = 0) then Mday[2]:=Mday[2]+1; Inc(D); If (D > MDay[M]) then begin D:=1; Inc(M); If M=13 then begin M:=1; Inc(Y); end; end;
Writeln(D,'.',M,'.',Y); Readln; end.
|
|
| |
Nem | Дата: Пятница, 20.04.2012, 06:08 | Сообщение # 3 |
Рядовой
Группа: Пользователи
Сообщений: 4
Статус: Offline
| Спасибо большое. Но проблема заключается в том что я не могу сделать через оператор выбора case. Через If then для меня нечего сложного нету.
|
|
| |
xaramamburu | Дата: Пятница, 20.04.2012, 17:07 | Сообщение # 4 |
Полковник
Группа: Администраторы
Сообщений: 240
Статус: Offline
| Можно попробовать так:
program date;
{$APPTYPE CONSOLE}
var M,D,Y:Integer; Mday:integer; begin Readln(D,M,Y); case M of 1:Mday:=31; 2:Mday:=28; 3:Mday:=31; 4:Mday:=30; 5:Mday:=31; 6:Mday:=30; 7:Mday:=31; 8:Mday:=30; 9:Mday:=31; 10:Mday:=31; 11:Mday:=30; 12:Mday:=31;
end; If (Y mod 4 = 0) and (Y mod 100 <> 0) or (Y mod 400 = 0) then Mday:=Mday+1; Inc(D); If (D > MDay) then begin D:=1; Inc(M); If M=13 then begin M:=1; Inc(Y); end; end;
Writeln(D,'.',M,'.',Y); Readln; end.
|
|
| |
xaramamburu | Дата: Пятница, 20.04.2012, 17:35 | Сообщение # 5 |
Полковник
Группа: Администраторы
Сообщений: 240
Статус: Offline
| Вот пример решения второй задачи:
program zadanie2;
{$APPTYPE CONSOLE}
var sr,mr,i:integer; begin for I := 10 to 99 do begin sr:=(i div 10);//выделяем старший разряд числа mr:=i-sr*10;//выделяем младший разряд числа if (sr+mr+(sr+mr)*(sr+mr)) = i then write(i,' '); end; readln; end.
|
|
| |
Gleb2010 | Дата: Четверг, 03.05.2012, 19:16 | Сообщение # 6 |
Рядовой
Группа: Пользователи
Сообщений: 1
Статус: Offline
| У Вас есть N камней с массами W1, W2 , … WN. Требуется разложить камни на 2 кучки так, чтобы разница масс этих кучек была минимальной. Входные данные
В первой строке входного файла INPUT.TXT записано число N – количество камней (1 ≤ N ≤ 18). Во второй строке через пробел перечислены массы камней W1, W2 , … WN (1 ≤ Wi ≤ 105). Выходные данные
В единственную строку выходного файла OUTPUT.TXT нужно вывести одно неотрицательное целое число – минимально возможную разницу между массами двух кучек.
|
|
| |
xaramamburu | Дата: Пятница, 04.05.2012, 15:33 | Сообщение # 7 |
Полковник
Группа: Администраторы
Сообщений: 240
Статус: Offline
| Алгоритм возможного решения вашей задачи может быть такой: - Считываем информацию о массах камней в массив; - Сортируем массив в порядке возрастания; - Раскладываем камни в кучи (в левую кучу набираем с начала массива, а в правую кучу с конца массива и добиваемся максимального равновесия. - Выводим результат. Ниже приведен пример реализации данного алгоритма.
Code program Project1; var a:array [1..18] of integer; s1, s2: integer; k, r, N: integer; F:text;
//процедура заполнения массива из файла procedure zap; var i:integer; begin Assign(F,'INPUT.TXT'); Reset(F); Readln(F, N); //считываем количество камней for i:=1 to N do Read(F, a[i]); //считываем массы камней Close(F); end;
procedure Sort; //процедура сортировки массива простым выбором var i,j,k:integer; maxi:integer; begin for i:=N downto 2 do begin maxi:=i; for j:=1 to i-1 do if a[j]>a[maxi] then maxi:=j; if maxi<>i then begin k:=a[i]; a[i]:=a[maxi]; a[maxi]:=k; end; end; end; begin zap;//вызываем процедуру заполнения массива sort;//вызываем процедуру сортировки массива k:=1;//счетчик камней в первой кучке r:=N;//счетчик камней во второй кучке s1:=a[k];//масса в первой кучке s2:=a[r];//масса во второй кучке while k<r-1 do //цикл раскладывания камней по кучкам begin if s1<s2 then begin k:=k+1; s1:=s1+a[k]; end else begin r:=r-1; s2:=s2+a[r]; end; end; //вывод результата в файл Assign(F,'OUTPUT.TXT'); Rewrite(F); Write(F,abs(s1-s2)); Close(F); end.
Да, пример не учитывает, что камень может быть один. Думаю с этим разберетесь сами.))))
|
|
| |
BlackXacker | Дата: Четверг, 06.03.2014, 09:41 | Сообщение # 8 |
Рядовой
Группа: Пользователи
Сообщений: 8
Статус: Offline
| Привет. Как можно удалить пробелы с SQL запросами?. Я знаю есть оператор ТРЕМ, у меня не получается!! Добавлено (06.03.2014, 09:41) --------------------------------------------- TRIM
|
|
| |
xaramamburu | Дата: Четверг, 06.03.2014, 11:29 | Сообщение # 9 |
Полковник
Группа: Администраторы
Сообщений: 240
Статус: Offline
| BlackXacker, Что значит удалить пробелы с SQL запросами? Удалить пробелы где? В базе? Или не учитывать пробелы при запросе? Или что еще?
|
|
| |
BlackXacker | Дата: Четверг, 06.03.2014, 12:04 | Сообщение # 10 |
Рядовой
Группа: Пользователи
Сообщений: 8
Статус: Offline
| Я хочу создавать оцет и отправить на Word мой база *.dbf оцет создал нормально. Проблем получилась с строками. Который там должен один пробель. Например: ГУБАДОВ МАЛИК ГАСАН. а получилась ГУБАДОВ МАЛИК ГАСАН !! Я не мог удалить дополнительный пробелы!
|
|
| |
xaramamburu | Дата: Пятница, 07.03.2014, 19:03 | Сообщение # 11 |
Полковник
Группа: Администраторы
Сообщений: 240
Статус: Offline
| BlackXacker, Я понял, что вы хотите, но теперь непонятно как вы это выводите. Я имею в виду, вы выводите это по частям, т.е. вначале имя, потом фамилия и т.д. Или вы это собираете запросом, а потом выводите?
|
|
| |
BlackXacker | Дата: Пятница, 07.03.2014, 21:15 | Сообщение # 12 |
Рядовой
Группа: Пользователи
Сообщений: 8
Статус: Offline
| Я так сделаю!! Edit1.Text:=AdoTable1.Fields[4].AsVariant+' '+AdoTable1.Fields[5].AsVariant+' '+AdoTable1.Fields[6].AsVariant; Fields[4] - Фамиля, Fields[5] - Имя, Fields[6] - отчество. Тоже получилось с много пробелы!!Добавлено (07.03.2014, 21:15) --------------------------------------------- Table.Cell(j+1,3).Range.InsertAfter(AdoTable1.Fields[4].AsVariant+' '+AdoTable1.Fields[5].AsVariant+' '+AdoTable1.Fields[6].AsVariant); Строка который добавит строки вы оцет!
|
|
| |
xaramamburu | Дата: Пятница, 07.03.2014, 21:58 | Сообщение # 13 |
Полковник
Группа: Администраторы
Сообщений: 240
Статус: Offline
| BlackXacker, А если так: Edit1.Text:=trim(AdoTable1.Fields[4].AsVariant)+' '+trim(AdoTable1.Fields[5].AsVariant)+' '+trim(AdoTable1.Fields[6].AsVariant); если возникнет ошибка с типами данных попробуйте AsVariant заменить на AsString.))))
|
|
| |
BlackXacker | Дата: Пятница, 25.04.2014, 16:19 | Сообщение # 14 |
Рядовой
Группа: Пользователи
Сообщений: 8
Статус: Offline
| Спасибо вам огромное! Супер. Добавлено (21.04.2014, 11:07) --------------------------------------------- Привет. Как можно изменит Caption на Кнопка Сообщения?. Код Application.MessageBox('Qeyd Ləğv edilsin?', 'DİQQƏT !!!', MB_YESNO) = IDYES Например Место Да, Нет -- должен быть Hə, Yox!! Добавлено (25.04.2014, 16:19) --------------------------------------------- Field 'id' cannot be modified что это? как можно исправит это ошибки?
procedure TForm_prihod_qaime.FormActivate(Sender: TObject); begin table_storage.Sort:='id'; end;
|
|
| |
|