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

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


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

Kira Coconatova:

var s,a:integer; b1,b2:boolean;beginreadln(a); b1:=false; b2:=false; repeat s:=a mod 10; if s=7 then b1:=true; if s=8 then b2:=true; a:=a div 10 until a=0;writeln(b1 and b2); readlnend.

Для блондинок: ;)

Находим остаток от деления числа на десять - это даст нам последнюю цифру числа. Проверяем, равна ли она 7 и если да, даем булевской переменной b1 значение true. Затем то же делаем для 8 и переменной b2.

b1 и b2 у нас - это признаки наличия в числе цифры 7 и цифры 8 соответственно (сначала b1 и b2 мы задали значения false). Так, с последней цифрой числа разобрались.

Затем делим число нацело на 10, теперь предпоследняя цифра стала последней, и повторяем процесс, пока в числе не закончатся все цифры (то есть когда после деления числа на 10 получится 0).

Теперь печатаем (b1 and b2) - то есть есть ли у нас в числе 7 И 8. Если да, напечатается TRUE, если нет - FALSE.

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

Возвращаясь к вопросу о системах счисления. Как переводить отрицательные числа? Минус как-то влияет на перевод числа? или просто ставить "-" в начале числа

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

Просто ставить минус. Будет обычная знаковая позиционная система счисления.

Есть и другие, например, с представлением отрицательных чисел в обратном или дополнительном коде или еще более экзотические (например, с отрицательными или комплексными основаниями), способов записи чисел придумано много - но они нам не нужны.

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

у мну ща мозг закипит.

есть AnsiString fout=641. Нужно развернуть его в другую сторону:

const char *rev=fout.c_str();char *x="";for (int i = fout.Length()-1,j=0; i >= 0; i--,j++)x[j]=rev[i];fout=AnsiString(x);

Почему const char? В процесе копирования rev изменяет свои значения О_оо. Далее. Результат первого копирования x[j]=rev; - x[0]=1,x[1]='A' (Omg???). После второго цикла x[0]=1, x[1]=4. И наконец-то после третего - x[0]=1,x[1]=4,x[2]=6 ... и x[3]='B'. Вот. Так вот. Откуда беруться ети значения. Реально запарило уже. Или мож подскажите как лучше развертать строку наоборот.

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

 Создать список из символами, который наполняется при последовательном вводе какаго-либо текста, посчитать количество повторов каждого символа. с++

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

core_st:

Неясно, зачем понадобился список символов, не вижу тут никакого его использования, а строка - стандартный тип в C++, но была тема Связанные списки в С++ , там есть пример реализации списка.

А посчитать количество повторов каждого символа проще простого - заводишь массив из 256 целых, индексами в нем числовые значения символов (unsigned char), инициализируешь его первоначально нулями и затем каждый раз при появлении символа увеличиваешь на единицу соответствующий числовому значению этого символа элемент массива.

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

Добрый вечер Господа.

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

Найдите в своем дне одну минутку свободного времени,помогите нуждающемуся студенту=) ;)

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

Есть клас Animal.

class Animal {protected:char Rozmir;//0,1,2char* Sherst;//колі шерсті цифраbool Hvist;//0,1bool Gruva;//так ніint Rusynok;//цифраbool Kutuci;//так ніpublic:void Write(char,char*,bool,bool,int,bool);Animal();};

Есть несколько обьектов

Animal Lev, Kit, Tugr, Pantera, Leo, Rus, Vovk, Bilka;

Вот так идет запись атрибутов:

Lev.Write(2,"12",true,true,0,false);Kit.Write(0,"2345",true,false,6,false);Tugr.Write(2,"12",true,false,7,false);Pantera.Write(2,"4",true,false,0,false);Leo.Write(2,"12",true,false,8,false);Rus.Write(1,"12",false,false,0,true);Vovk.Write(1,"3",true,false,0,false);Bilka.Write(0,"12",true,false,0,true);

(здесь второй параметр - взможные цвета жывотных, например 1 - желтый, 2 - красный. Значит "12" - возможны два цвета)

Задание. Сделать функцию идентификации жывотных по указаным параметрам.

Например я указываю:

X.Compare (2,"12",true,false,7,false);

и в результате получаю - Тигр

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

core_st:

Для этого в полях класса должно быть не только количество шерсти, но и имя животного. Тогда будет так:

Pantera.Write("Pantera",2,"4",true,false,0,false);

Тут слово Pantera дублируется, но имена переменных - только для программиста и компилятора, они не хранятся в скомпилированном файле. Вообще-то тут напрашивается массив животных, тогда и с поиском подходящих по признакам животных будет легче.

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

та тут не столько даже дело в названии жывотного. Можно сделать функцию Compare с результатом char, и уже по цыфре идентифиуировать тварь. Вопрос как раз в том как организовать поиск по несвязанным атрибутам. Юзать кучу вложенных switch? как-то не очень хорошо. Так как количество жывтных фиксировано, и параметры их известны, есть ваирант юзать что-то вроде контрольной сумы параметров (при условии одинаковой сумы уже проверять какой-то отличный от других атрибут). Но нужен пример програмной реализации :bye1:

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

Решыл проблему записью параметров в строку.

Например: 2,"4",true,false,0,false -> 241000 - сравнивать строку таки проще)) Правда там нужно учесть разные цвета щерсти, но ето будет вопрос уже в количестве case'ов

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

core_st:

Я не понял, зачем ты количество шерсти даешь строкой, если это число, но это не принципиально. Все же для упрощения, чтобы избежать сравнения строк (хотя это тоже легко сделать стандартной функцией от C или сделав строки типа string, как в C++), изменю тип поля Sherst на int.

Тогда функция

char* Compare(int maxanimals, char Rozmir, int Sherst, bool Hvist, bool Gruva, int Rusynok, bool Kutuchi){for(int i=0,i<maxanimals;i++)if (ans[i].Rozmir==Rozmir && ans[i].Sherst==Sherst && ans[i].Hvist==Hvist && ans[i].Gruva==Gruva && ans[i].Rusynok=Rusynok && ans[i].Kutuci==Kutuchi)return ans[i].Name; else return "no such animal";} 

будет искать подходящее животное (тут Animal ans[maxanimals] - массив животных, в описание животного добавлено поле Name названия животного).

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

забыл отписаться, что я уже все поля сменил на int или bool. Спасибо за вариант. Реализовал по другому - как и говорил - по цыфровому коду. Там даже не строка, а обычный long int составленый из цыфр-параметров

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

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

Привет Всем !!!!!!!!!!!

Вот CODE

program Project2;

{$APPTYPE CONSOLE}

uses

SysUtils;

const rz=['.','?','!'];//разделители концов предложений

var f,g:text;

s:string;

s1:array[1..100] of string; //массив предложений

n,i,j:integer;

c:array[1..10]of char;//массив разделителей предложений

begin

{ TODO -oUser -cConsole Main : Insert code here }

assign(f,'file1.txt');

reset(f);

assign(g,'file2.txt');

rewrite(g);

j:=1;//начинаем считать предложения

while not eof(f) do

begin

readln(f,s);

for i:=1 to length(s) do

if s in rz then//если конец

begin

j:=j+1; //добавляем

c[j-1]:=s;//запоминаем разделитель

end

else s1[j]:=s1[j]+s;//если не конец, записываем предложение в массив

end;

close(f);

for i:=j-1 downto 1 do //с конца, одно предложение(последнее) пустое, убавляем

begin

write(g,s1,c);//записываем в файл предложение и конец

write(s1,c[i-1]);//это просто для контроля на экран, можно убрать

end;

close(g);

readln;

end.

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

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

Что нужно изменить ?????

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

temich5000:

program Project2;{$APPTYPE CONSOLE}uses SysUtils;const rz=['.','?','!'];var f,g:text; s:array[1..3]of string; c:char; i,j:integer;begin assign(f,'file1.txt'); reset(f); writeln('Done. Exit?');c:=' '; for j:=1 to 3 do s[j]:='';for j:=1 to 3 do  begin while not(c='.') and not eof do begin read(f,c);  s[j]:=c+s[j]; end; c:=' '; end;close(f); assign(g,'file2.txt'); rewrite(g);for j:=1 to 3 do write(g,s[j]); close(g);end.

P.S. Впрочем, я, вероятно, не так понял. Я выводил текст каждого предложения от конца к началу. Если надо выводить просто в обратном порядке номеров предложений, то надо заменить s[j]:=c+s[j]; на s[j]:=s[j]+c; и for j:=1 to 3 в предпоследней строке на for j:=3 downto 1

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

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

надо на Object Pascal в системе программирования Delphi

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

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

помогите найти ошибку в программе excel программа должна выводить если значение макс то писать max если минимальное то min, если не макс и не мин то -, у меня почему то выводит везде - . здесь выложил файл http://www.fayloobmennik.net/21417

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

corrected.rar

Что-то Вы там дикое в формулах нагородили по принципу "Мы комсомольцы, мы трудности любим".

Прикрепил с исправлениями, для сравнения Ваш столбец не трогал, новые формулы создал рядом.

ЗЫ: И не надо лист Excelа с формулами называть программой. :)

corrected.rar

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

Помогите придумать решение єтой задачи тут нужно проявить фантазию, а у меня фантазия отсутствует! :)

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

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

Создать систему обработки данных, которая состоит из:

* бази данних-массива структур, сохраненного в файле;

* меню запросов к базе данных которое должно включать команды;

- сортировка по каждому полю;

- поиск данных по каждому полю для:

* выведение потриюной информации на экран;

* редактирование отдельных полей;

- редактирование базы данных:

* удаление записи;

* включение новой записи;

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

DJFlint прошу прощения, но я затупил так как выкладывал сообщения в торопях. вообщем вот здесь фотка с заданием(забыл написать про интервал сравнения) :D 0_3ada4_f2bd1f43_L.jpg

Посмотреть на Яндекс.Фотках

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

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

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

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

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

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

Войти

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

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

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



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