HOME FORUMS MEMBERS RECENT POSTS LOG IN  
× Авторизация
Имя пользователя:
Пароль:
Нет аккаунта? Регистрация
Баннер 1   Баннер 2

ANTICHAT — форум по информационной безопасности, OSINT и технологиям

ANTICHAT — русскоязычное сообщество по безопасности, OSINT и программированию. Форум ранее работал на доменах antichat.ru, antichat.com и antichat.club, и теперь снова доступен на новом адресе — forum.antichat.xyz.
Форум восстановлен и продолжает развитие: доступны архивные темы, добавляются новые обсуждения и материалы.
⚠️ Старые аккаунты восстановить невозможно — необходимо зарегистрироваться заново.
Вернуться   Форум АНТИЧАТ > ПРОГРАММИРОВАНИЕ > С/С++, C#, Rust, Swift, Go, Java, Perl, Ruby
   
Ответ
 
Опции темы Поиск в этой теме Опции просмотра

  #1  
Старый 13.05.2009, 16:40
Algol
Регистрация: 29.05.2002
Сообщений: 1,793
Провел на форуме:
2050916

Репутация: 0


По умолчанию

Цитата:
Сообщение от R1der23  
(1-x)^(-m)=1+m*x+[m*(m+1)/2!]*x^2+[m*(m+1)(m+2)/3!]*x^3+.... |x|<1; m>0
Код:
program Project2;

{$APPTYPE CONSOLE}

uses
  SysUtils, Math;

var
  x, e: Extended;
  m: Integer;
  maxCount: Integer;
  a, sum: Extended;
  i: Integer;

begin
  //вводим начальные данные
  Write('Enter x:');
  repeat
  Readln(x);
  until abs(x)<1;

  Write('Enter m:');
  repeat
  Readln(m);
  until m>0;

  Write('Enter e:');
  repeat
  Readln(e);
  until e>0;

  //считаем сумму ряда
  maxCount := 100;
  sum := 1;
  a := 1;
  for i:=1 to maxCount do
  begin
  a := a*(m+i-1)*x/i;
  sum := sum + a;
  if (abs(a)<e) then
    break;
  end;
  //пишем результат
  WriteLn('Result :' + floatToStr(sum));
  WriteLn('True value :' + floatToStr(Power(1-x, -m)));
  Readln;
end.
 
Ответить с цитированием

  #2  
Старый 13.05.2009, 13:50
Fo)(a
Новичок
Регистрация: 07.04.2009
Сообщений: 12
Провел на форуме:
63162

Репутация: 5
По умолчанию

Всем привет, уже целый день бьюсь с задачей Проверить соответствие слов begin, end, case end, record в операторах программы Pascal учесть что в строке может быть несколько слов, повторений. Программа на тему динамические структуры данных Заранее спасибо

PS Сори!!! не указал язык в которм выполнить надо" надо сделать на Pascal

Последний раз редактировалось Fo)(a; 15.05.2009 в 13:03..
 
Ответить с цитированием

  #3  
Старый 13.05.2009, 16:43
Algol
Регистрация: 29.05.2002
Сообщений: 1,793
Провел на форуме:
2050916

Репутация: 0


По умолчанию

Цитата:
Сообщение от Fo)(a  
Всем привет, уже целый день бьюсь с задачей Проверить соответствие слов begin, end, case end, record в операторах программы Pascal учесть что в строке может быть несколько слов, повторений. Программа на тему динамические структуры данных Заранее спасибо
Программа-то на каком языке должна быть?
 
Ответить с цитированием

  #4  
Старый 15.05.2009, 14:07
Algol
Регистрация: 29.05.2002
Сообщений: 1,793
Провел на форуме:
2050916

Репутация: 0


По умолчанию

Цитата:
Сообщение от Fo)(a  
Всем привет, уже целый день бьюсь с задачей Проверить соответствие слов begin, end, case end, record в операторах программы Pascal учесть что в строке может быть несколько слов, повторений. Программа на тему динамические структуры данных Заранее спасибо

PS Сори!!! не указал язык в которм выполнить надо" надо сделать на Pascal

Код:
program Project2;

{$APPTYPE CONSOLE}

uses
  SysUtils;

var
  source: string;
  lexem: string;
  c : char;
  i:Integer;
  stack: array[0..100] of string;
  stackPointer: integer;

  procedure PushLexem(lexem: string);
  begin
    if lexem = 'end' then
      begin
      //найден конец блока, выталкиваем из стека
      if stackPointer = 0 then
        Writeln('Error: Found "end", but not found "begin", "case" or "record"')
      else
        dec(stackPointer)
      end
    else
      if (lexem='begin') or (lexem='case') or (lexem='record') then
        begin
          if(stackPointer>=Length(stack)) then
             Writeln('Error: Stack overflow');//переполнение стека - слишком много вложенных блоков в исходном тексте
          //кладем лексему в стек
          stack[stackPointer] := lexem;
          inc(stackPointer);
        end
  end;

begin
  //ввод проверяемого кода
  Writeln('Enter Pascal source: ');
  Readln(source);
  //переводим в нижний регистр, добавляем пробел в конце
  source := LowerCase(source)+' ';
  //перебираем символы, ищем лексемы
  lexem := '';
  for i:=1 to Length(source) do
  begin
    c := source[i];
    if c in ['a'..'z','0'..'9','_'] then
      //читаем лексему
      lexem := lexem + c
    else
    if lexem<>'' then
      begin
      //прочитана лексема, кладем в стек
      PushLexem(lexem);
      lexem := '';
      end
  end;
  //проверяем сотсояние стека, он должен быть пуст
  if stackPointer > 0 then
     Writeln('Error: Found "'+stack[stackPointer-1]+'", but not found "end"');

  Writeln('Analysis completed');
  Readln;

end.
 
Ответить с цитированием

  #5  
Старый 13.05.2009, 16:54
Richard
Познающий
Регистрация: 02.12.2008
Сообщений: 90
Провел на форуме:
376171

Репутация: 12
По умолчанию

Может кто-нить помочь три задачки решить?

1. Дан массив из N элементов. Каждый элемент равен 0, 1 или 2; нужно переставить элементы так, чтобы сначала располагались все нули, затем все единицы, а после них - двойки

2. Найти количество элементов в массиве, больших среднего арифметического всех элементов массива.

3.Задан массив из N элементов. Определить максимальный элемент.

Заранее спасибо
 
Ответить с цитированием

  #6  
Старый 13.05.2009, 18:53
Roston
Постоянный
Регистрация: 31.07.2008
Сообщений: 370
Провел на форуме:
2866942

Репутация: 350
По умолчанию

Цитата:
Сообщение от Richard  
Может кто-нить помочь три задачки решить?

1. Дан массив из N элементов. Каждый элемент равен 0, 1 или 2; нужно переставить элементы так, чтобы сначала располагались все нули, затем все единицы, а после них - двойки

2. Найти количество элементов в массиве, больших среднего арифметического всех элементов массива.

3.Задан массив из N элементов. Определить максимальный элемент.

Заранее спасибо
на каком языке то????


еси С++ то первая задача готовая

Код:
#include<iostream>
using namespace std;
void swap(int *p1, int *p2);
int main()
{
int p[10];
	int i;
	for (i=0;i<10;i++){
	cout << "Enter array's element #"<<i+1<<"\n";
	cin >> p[i];
	if(p[i]<0 || p[i]>2)
	{ cout << "Error\n";
		break;
		
	}
	}
for(i=0;i<10;i++)
{
	for (int j=0;j<9;j++)
	{
		if (p[j]>p[j+1])
			swap (&p[j], &p[j+1]);
	}
}
for (i=0;i<10;i++)
	cout << p[i]<<" ";
return 0;
}
void swap(int *p1, int *p2)
{
	int temp=*p1;
	*p1=*p2;
	*p2=temp;
}
я кароч токо начал учить не знаю как сделать что бы если елемент масива больше 2 или меньше 0 выйти в конец программы?

Последний раз редактировалось Roston; 13.05.2009 в 18:57..
 
Ответить с цитированием

  #7  
Старый 14.05.2009, 14:08
dirty_stuFF
Новичок
Регистрация: 09.05.2009
Сообщений: 1
Провел на форуме:
2075

Репутация: 0
По умолчанию

Ребят нужна помощ знатаков асма -.-
Нужно написать процедуры для ввода с клавиатуры, аналоги подпрограмм ввода/вывода с Паскаля Read(ln) Write(ln)
 
Ответить с цитированием

  #8  
Старый 14.05.2009, 15:25
razb
Постоянный
Регистрация: 24.03.2009
Сообщений: 670
Провел на форуме:
2868783

Репутация: 414


По умолчанию

Цитата:
Ребят нужна помощ знатаков асма -.-
Нужно написать процедуры для ввода с клавиатуры, аналоги подпрограмм ввода/вывода с Паскаля Read(ln) Write(ln)
когда то писал ввиде макросов, вот держи:
Код:
puts MACRO src         ; print string to STDOUT
 IFB <src>	                                     
  display "Use macro: puts <string>"
  EXITM								
 ELSE
  push ax
  push dx
  lea dx,src 						
  mov ah,09h						
  int 21h							
  pop dx
  pop ax
 ENDIF 								
ENDM
Код:
gets MACRO dst         ; read string from STDIN
local _read, _done                

 IFB <dst>                          
  display "Use macro: gets <dst>"   
  EXITM								
 ELSE 
   push ax
   push bx
   lea bx, dst            
    _read:     
      getc
      cmp al, 13
      je _done        
      mov [bx], al
      inc bx
      jmp _read
    _done:
      putc 0Ah
   pop bx
   pop ax   
 ENDIF   
ENDM

Последний раз редактировалось razb; 14.05.2009 в 15:32..
 
Ответить с цитированием

  #9  
Старый 14.05.2009, 16:04
VaXiT
Новичок
Регистрация: 08.09.2007
Сообщений: 1
Провел на форуме:
15775

Репутация: 0
По умолчанию

люди, можете помочь решить задачу двуэтапным симплекс методом в С++:

max f = 315х1 + 278х2 +573х3 + 370х4
ограничения:
350x1 + 620x3 ≤ 64100;
40x1 + 30x2 + 20x3 + 20x4 ≤ 4800;
30x1 + 40x2 + 30x3 + 30x4 ≤ 55200;
86x1 + 110x2 + 150x3 + 52x4 ≤ 22300;
160x1 + 92x2 + 158x3 + 128x4 ≤ 26240;
501x4 ≤ 800;
158x2 + 30x3 + 50x4 ≤ 7910;
4.5x1 + 4.5x2 + 4.5x3 + 4.5x4 ≤ 720;
x2 ≥ 40;
x3 ≤ 120;
x1, x2, x3, x4 ≥ 0;
 
Ответить с цитированием

  #10  
Старый 14.05.2009, 18:55
Yazzer
Новичок
Регистрация: 13.05.2009
Сообщений: 10
Провел на форуме:
19571

Репутация: 0
По умолчанию

Помогите вот с такой задачей в C++ B.

есть Ansi строка из 7-ми символов. То есть 7 байт.
Надо сделать её длинной в 8 байт, вставив в исходную строку нулевой бит через каждые 7 бит.
 
Ответить с цитированием
Ответ



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Американским студентам запретили пользоваться Skype KPOT_f!nd Мировые новости. Обсуждения. 1 28.09.2006 03:47
Любителям квестов сюда!! FoX's Болталка 10 25.01.2005 20:42



Здесь присутствуют: 1 (пользователей: 0 , гостей: 1)
 


Быстрый переход




ANTICHAT ™ © 2001- Antichat Kft.