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  
Старый 20.05.2009, 19:03
043nKRuT0y
Участник форума
Регистрация: 31.10.2007
Сообщений: 213
Провел на форуме:
394522

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

Есть задачка :
С клавиатуры вводится число - сумма денег n>7 !!! Нужно узнать можно ли выплатить эту суму купюрами по 5 и по 3 ??? Хотя если подумать то любую сумму можна выдать этими купюрами ! Все таки хотелось бы удивить толковое и короткое кишение на С++

Заранее СПС !
 
Ответить с цитированием

  #2  
Старый 21.05.2009, 23:26
Suteki
Новичок
Регистрация: 18.05.2009
Сообщений: 12
Провел на форуме:
129116

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

Цитата:
Сообщение от 043nKRuT0y  
Есть задачка :
С клавиатуры вводится число - сумма денег n>7 !!! Нужно узнать можно ли выплатить эту суму купюрами по 5 и по 3 ??? Хотя если подумать то любую сумму можна выдать этими купюрами ! Все таки хотелось бы удивить толковое и короткое кишение на С++

Заранее СПС !
Задачу решил.
Действительно ЛЮБУЮ СУММУ МОЖНО получить используя купюры 3 и 5 :

PHP код:
# include <iostream.h>
# include <math.h>

int main()
{
    
int x;  // сумма денег
    
int i;
    
int j;

    
int z;
    
int y;

    
bool good;

    
cout << "\nVvedite Summu deneg -> "// Введите сумму денег
    
cin >> x;
    
    if (
7)
    {
        switch(
x)
    {
    case 
9:
        
z=0;y=9;good true;break;
    case 
10:
        
z=10;y=0;good true;break;
    case 
11:
        
z=5;y=6;good true;break;
    case 
12:
        
z=0;y=12;good true;break;
    case 
15:
        
z=15;y=0;good true;break;
    default:
        for (
i=0xi+=5// шаг  +5
        
{
            for(
j=0j<xj+=3// шаг +3
            
{
                if (
i+== x) {jigood true;}
            }
        }
    }    
        if (
good == true)
            {
            
cout << "\n\nViplatit mogno!\n"// Выплатить можно!
            
cout << "\n\nNugno \"5\": " << z/<< "\n\nNugno \"3\": " << y/<< "\n\n"// Нужно столькото "троек" и столькото "пятерок"
            
}
        else
            
cout << "\n\nViplatit nelza!\n"// Выплатить нельзя!
    
}

    else
    {
        
cout << "\n\nChislo dolgno bit > 7\n"// число должно быть больше 7
    
}

    return 
0;

Тут код + ЕХЕ
 
Ответить с цитированием

  #3  
Старый 20.05.2009, 20:27
TR0J@N
Участник форума
Регистрация: 30.03.2007
Сообщений: 131
Провел на форуме:
1449774

Репутация: 127
Отправить сообщение для TR0J@N с помощью ICQ
По умолчанию

C++ (Консольки)

1.

2. Логика в итоге должно получится либо тру либо фолс (Значок вниз=OR,^=AND,закорючка посередине=NOT)
 
Ответить с цитированием

  #4  
Старый 21.05.2009, 07:48
Suteki
Новичок
Регистрация: 18.05.2009
Сообщений: 12
Провел на форуме:
129116

Репутация: 19
Cool

Цитата:
Сообщение от TR0J@N  
C++ (Консольки)

1.

2. Логика в итоге должно получится либо тру либо фолс (Значок вниз=OR,^=AND,закорючка посередине=NOT)

Вот держи:

1)

PHP код:
# include <iostream.h>
# include <math.h>

int main()
{
    
double y 0;
    
double a 1.3;
    
double A = -4.6;
    
    
double b pow (A,2) + pow (a,2);

    
pow( (atan (a/b) + a/log10 (b)), 2) + 
        ( 
pow(sin(b),3) + 7.6 ) /
        ( 
2.3 *    pow(10,5) + pow(a,2) + sqrt(fabs(A)) ) + A
        
;

    
cout << "=================================\n" << "y = " << << "\n=================================\n" ;

    return 
0;

2)

PHP код:

# include <iostream.h>
# include <math.h>

int main()
{
    
bool Z false;
    
int x 7;
    
int y = -8;
    
bool a true;
    
bool bfalse;

    
fabs(pow(y,2)) > 18 || 8*&& !    (|| sqrt(    fabs(y)) + == 26) || b;

        if (
== 0)
    
cout << "=================================\n" << "Z = FALSE" << "\n=================================\n" ;
        else
    
cout << "=================================\n" << "Z = TRUE " << "\n=================================\n" ;

    return 
0;

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

  #5  
Старый 20.05.2009, 20:33
rubik-nerubik
Участник форума
Регистрация: 04.05.2007
Сообщений: 267
Провел на форуме:
409147

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

1)
написать программу, которая считывает текст из файла и выводит его на экран, заменив цифры от 0 до9 на слова "ноль", "один", .. "девять", начиная каждое предложение с новой строки.

В интернете есть такая уже, но мне надо на Borland C++ 3.1 а не 6.0 препод будет в шоке если она будет в 6 и с кучей непонятных переменных и прочее.. вот. выручайте, нужно очень срочно.


ВЗАМЕН СЕМИЗНАК

Последний раз редактировалось rubik-nerubik; 20.05.2009 в 21:43..
 
Ответить с цитированием

  #6  
Старый 22.05.2009, 16:11
043nKRuT0y
Участник форума
Регистрация: 31.10.2007
Сообщений: 213
Провел на форуме:
394522

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

Цитата:
Сообщение от rubik-nerubik  
1)
написать программу, которая считывает текст из файла и выводит его на экран, заменив цифры от 0 до9 на слова "ноль", "один", .. "девять", начиная каждое предложение с новой строки.

В интернете есть такая уже, но мне надо на Borland C++ 3.1 а не 6.0 препод будет в шоке если она будет в 6 и с кучей непонятных переменных и прочее.. вот. выручайте, нужно очень срочно.


ВЗАМЕН СЕМИЗНАК
Если еще нужно - вот наклепал :
Код:
# include <stdio.h>
# include <conio.h>
# include <iostream.h>
# include <string.h>

int main(void){
 clrscr();

	FILE *F;
	char str[99];
	char c;
	F = fopen("C:\FILE.txt","r");
	if(F == NULL){
	 cout<<"FILE read error !";
	 return 1;
	}
	while(!feof(F)){
	 fgets(str,100,F);
	}
	cout<<str;
	for(int i = 0; i < strlen(str); i++){
         c = str[i];
	 switch(c){
	  case '0' :
		cout<<endl<<"zero"<<endl;
		break;
	  case '1' :
		cout<<endl<<"one"<<endl;
		break;
	  case '2' :
		cout<<endl<<"two"<<endl;
		break;
	  case '3' :
		cout<<endl<<"three"<<endl;
		break;
	  case '4' :
		cout<<endl<<"four"<<endl;
		break;
	  case '5' :
		cout<<endl<<"five"<<endl;
		break;
	  case '6' :
		cout<<endl<<"six"<<endl;
		break;
	  case '7' :
		cout<<endl<<"seven"<<endl;
		break;
	  case '8' :
		cout<<endl<<"eight"<<endl;
		break;
	  case '9' :
		cout<<endl<<"nine"<<endl;
		break;
	 }
	}
 	fclose(F);
 getch();
 return 0;
}
 
Ответить с цитированием

  #7  
Старый 22.05.2009, 18:47
ЛЬвенок
Новичок
Регистрация: 21.05.2009
Сообщений: 1
Провел на форуме:
4897

Репутация: 0
Отправить сообщение для ЛЬвенок с помощью ICQ
По умолчанию

помоги пожалуйсто с лабораторной работой,вот задание:
1) Написать программу вычисления коэффициента конкордации ранжирования параметров для произвольного количества объектов, параметров и экспертов.
2) Выбрать предметную область изучения, объекты изучения и разработать список характеризуемых параметров. Произвести опрос 5 человек и получить:
• Ранжированную таблицу параметров (цифровой ранг от наименее значимый параметр до наиболее значимый).
• Таблицу экспертных оценок значений параметров.
• Коэффициент конкордации ранжирования параметров.
• Предпочтительный вариант для каждого из экспертов.
3) Привести не менее 3 тестов для различного количества экспертов и вариантов ранжирования.
4) Сделать выводы о влиянии на результаты экспертизы количественного и качественного состава экспертов.



есть готовая работа написанная на си шарпе,если можно то просто измените код программы,т.к. работу эту уже сдали и как бы чтобы не повторялось,нужно изменить код написания программы...вот сам листинг:
public partial class Form1 : Form
{ public List<string> ObjectName = new List<string>();
ObjectViewer ob;
int cnt_exp;
private float[,] values = null;
public Form1()
{ InitializeComponent();
}
private void btnAddObject_Click(object sender, EventArgs e)
{ if (tbxObjectName.Text == "")
return;
ObjectName.Add(tbxObjectName.Text);
if (comboBox1.Items.Count == 0)
{ comboBox1.Items.Add("выбрать все");
}
comboBox1.Items.Add(tbxObjectName.Text);
// MessageBox.Show("Объект добавлен");
tbxObjectName.Text = "";
}
private void btnSubjectListView_Click(object sender, EventArgs e)
{ ob = new ObjectViewer();
for (int i = 0; i < ObjectName.Count; i++)
{
Label l = new Label();
l.Parent = ob;
l.Location = new System.Drawing.Point( 1, 1+i*25);
l.Name = "lblObjectItem"+i.ToString();
l.Text = "объект";

TextBox tbx = new TextBox();
tbx.Parent = ob;
tbx.Location = new System.Drawing.Point(100, 1 + i * 25);
tbx.Name = "tbxObjectItem" + i.ToString();
tbx.Text = ObjectName[i];
}
ob.ShowDialog(); }

private void btnRnnTest_Click(object sender, EventArgs e)
{ if (dataGridView1.Rows.Count > 0)
{while (dataGridView1.Rows.Count>0)
{ dataGridView1.Rows.RemoveAt(0);
}
}
if (dataGridView1.Columns.Count > 2)
{while (dataGridView1.Columns.Count > 2)
{dataGridView1.Columns.RemoveAt(2);
}
}if (tbxSubjectName.Text == "")
{MessageBox.Show(this, "название предметной области не может быть пустым!", "Warning!", MessageBoxButtons.OK, MessageBoxIcon.Warning);
return;
}

if (ObjectName.Count == 0)
{MessageBox.Show(this, "Список объктов пуст, добавьте хотя бы один объект!", "Warning!", MessageBoxButtons.OK, MessageBoxIcon.Warning);
return;
} if (textBox1.Text == "")
{MessageBox.Show(this, "Введите число экспертов!", "Warning!", MessageBoxButtons.OK, MessageBoxIcon.Warning);
return;
} try
{
cnt_exp = int.Parse(textBox1.Text);
}
catch
{
MessageBox.Show(this, "Не корректно введено число экспертов!", "Error!", MessageBoxButtons.OK, MessageBoxIcon.Warning);
return;
}
// добавляем столбцы
for (int i = 0; i<cnt_exp; i++)
dataGridView1.Columns.Add("user"+i.ToString(),"э сперт"+i.ToString());

for (int i = 0; i < ObjectName.Count; i++)
{
dataGridView1.Rows.Add(new string[] { ObjectName[i], (i+1).ToString()});
} dataGridView1.Enabled = true;
dataGridView1.Visible = true;
}
private void button1_Click(object sender, EventArgs e)
{
int index = comboBox1.SelectedIndex;
if (index < 0)
return;
if ( index == 0) // удаляем все
{
ObjectName.RemoveAll(EndsWithSaurus);
comboBox1.Items.Clear();
return;
}

ObjectName.RemoveAt(index-1);
comboBox1.Items.RemoveAt(index-1);
}
private static bool EndsWithSaurus(String s)
{
return true;
}
private float isSetVal(float value, int rows, int colums)
{
float val_count = 0;
for (int i=0; i<rows; i++)
{
if (values[i, colums] == value)
{
val_count++;
}
}
return val_count;
}
private void button2_Click(object sender, EventArgs e)
{
if (!dataGridView1.Visible)
return;
if (dataGridView1.Columns.Count > 2 + cnt_exp)
{
while (dataGridView1.Columns.Count > 2 + cnt_exp)
{
dataGridView1.Columns.RemoveAt(2 + cnt_exp);
}
}
values = new float[dataGridView1.Rows.Count, cnt_exp + 3];
for (int i = 0; i < dataGridView1.Rows.Count; i++)
{
for (int j = 2, c = 0; c < cnt_exp; j++, c++)
{
if (dataGridView1.Rows[i].Cells[j].Value == null)
{
MessageBox.Show(this, "не корректно введены данные!", "Error!", MessageBoxButtons.OK, MessageBoxIcon.Warning);
return;
}
string buf = dataGridView1.Rows[i].Cells[j].Value.ToString();
if (buf == "")
{
MessageBox.Show(this, "не корректно введены данные!", "Error!", MessageBoxButtons.OK, MessageBoxIcon.Warning);
return;
}
int val;
try
{
val = int.Parse(buf);
}
catch
{MessageBox.Show(this, "не корректно введены данные!", "Error!", MessageBoxButtons.OK, MessageBoxIcon.Warning);
return;
} if (val < 1 || val > ObjectName.Count)
{ MessageBox.Show(this, "не корректно введены данные! Недопустимое значение", "Error!", MessageBoxButtons.OK, MessageBoxIcon.Warning);
return;
} values[i, c] = val;
}
}
// считаем сумму рангов для каждого эксперта
dataGridView1.Columns.Add("summ_rang", "Сумма рангов");
float rang_sum_all_expert = 0; // Оцениваем среднеарифметическое число рангов
for (int i = 0; i < dataGridView1.Rows.Count; i++)
{
float rang_sum = 0;
for (int j = 0; j < cnt_exp; j++)
{
rang_sum += values[i, j];
}
values[i, cnt_exp] = rang_sum;
dataGridView1.Rows[i].Cells[dataGridView1.Columns.Count - 1].Value = (values[i, cnt_exp] as object);
rang_sum_all_expert += rang_sum;
}
float srednee_rang = rang_sum_all_expert / dataGridView1.Rows.Count; // Отклонение от среднего
dataGridView1.Columns.Add("rang", "Ранжировка");
dataGridView1.Columns.Add("otkl_sred", "Отклонение от среднего");
dataGridView1.Columns.Add("otkl_sred_kvadrat", "Квадрат отклонения");
float kvadrat_summ = 0;
for (int i = 0; i < dataGridView1.Rows.Count; i++)
{
values[i, cnt_exp + 1] = values[i, cnt_exp] - srednee_rang;
values[i, cnt_exp + 2] = values[i, cnt_exp + 1] * values[i, cnt_exp + 1];
kvadrat_summ += values[i, cnt_exp + 2];
dataGridView1.Rows[i].Cells[dataGridView1.Columns.Count - 3].Value = ((float)values[i, cnt_exp] / (float)rang_sum_all_expert as object);
dataGridView1.Rows[i].Cells[dataGridView1.Columns.Count - 2].Value = (values[i, cnt_exp + 1] as object);
dataGridView1.Rows[i].Cells[dataGridView1.Columns.Count - 1].Value = (values[i, cnt_exp + 2] as object);
}
//Определяем величину коэффициента конкордации:
float konkord_kof;
/*
* для определения связанных рангов
*/
List<float> val_list = new List<float>();
float T = 0;
for (int j = 0; j < cnt_exp; j++)
{
int group_count = 0;
for (int i = 0; i < dataGridView1.Rows.Count; i++)
{
float val_cnt = isSetVal(values[i, j], i, j);
if (val_cnt == 1)
{
group_count++;
val_list.Add(values[i, j]);
}
}
/// подчет Tj – показатель связных рангов
///
for (int t = 0; t < group_count; t++)
{
float h = isSetVal(val_list[t], dataGridView1.Rows.Count, j);
T += (h*h*h-h);
}
val_list.Clear();
}
if (T>0) // определяем есть ли связанные ранги
{
konkord_kof = 12 * (float)kvadrat_summ / ((float) cnt_exp * (float)cnt_exp * ((float)dataGridView1.Rows.Count * (float) dataGridView1.Rows.Count * (float) dataGridView1.Rows.Count - (float) dataGridView1.Rows.Count) - (float) cnt_exp * (float) T);
}
else
konkord_kof = 12 * (float) kvadrat_summ / ((float) cnt_exp * (float) cnt_exp * ( (float) dataGridView1.Rows.Count * (float) dataGridView1.Rows.Count * (float) dataGridView1.Rows.Count - (float) dataGridView1.Rows.Count));
textBox2.Text = konkord_kof.ToString(); } }
 
Ответить с цитированием

паскаль
  #8  
Старый 22.05.2009, 20:15
ViP-K1LLeR
Участник форума
Регистрация: 13.08.2008
Сообщений: 146
Провел на форуме:
1445936

Репутация: 159
По умолчанию паскаль

Задали нам вот такую програмку.

Условие:
В текстовом файле D1.DAT записано 2520 вещественных чисел. Записать числа из этого файла в файл D2.DAT по N чисел в строке,рассортировав их предварительно в порядке возрастания в пределах одной строки. Число N задается пользователем (0<N<11)


Требования:
Программа должна содержать следующие подпрограммы:
  1. Подпрограмма чтения данных из файлов.
  2. Подпрограмма сортировки заданного фрагмента.
  3. Подпрограмма записи данных в файл.
В тексте программы не должно быть меток. Подпрограммы не должны использовать глобальные переменные.



Начал писать, получилось это:
Код:
program сссс;
uses
 crt;
type
 arr1 = array[0..2519] of integer;
 arr2 = array[0..10, 0..300] of integer;

procedure readfromfile(a: arr1);
 var
  f: text;
  i, j: integer;
 begin
  assign(f, 'c:\d1.dat');
  reset(f);
  for i := 0 to 2519 do
   begin
    readln(f, j);
    a[i] := j;
  end;
 end;

procedure entern(n: integer);
 begin
  write('vvedite n = ');
  readln(n);
 end;

procedure sorting(n: integer; a: arr1);
 var
  i, j, k, start, finish: integer;
 begin
  entern(n);
  readfromfile(a);
 for i := 0 to 2519 do
  begin
   if 2519 div n = 0 then
    begin
     start := i;
     finish := start + n -1;
     i := finish;
    end;
   for j := start to finish do
    for k := finish downto start do
     if a[j] < a[k] then
      begin
       a[j] := a[j] + a[k];
       a[k] := a[j] - a[k];
       a[j] := a[j] - a[k];
      end;
  end;
 end;

procedure writetofile;
 var
  a: arr1;
  f: text;
  n, i: integer;
 begin
  sorting(n, a);
  assign(f, 'c:\d2.dat');
  rewrite(f);
  for i := 0 to 2519 do
   begin
    if n = i then
     writeln(f);
    write(f, a[i]);
   end;
 end;

begin
 clrscr;
  writetofile;
 readkey;
end.
Программа отказывается работать(
Подозреваю, что ошибся в процедуре сортировки.
Помогите plz.
 
Ответить с цитированием

Уважаемы программисты,слезно молю,помогите пожалуйста с лабой.
  #9  
Старый 23.05.2009, 22:47
ankden
Новичок
Регистрация: 28.04.2008
Сообщений: 16
Провел на форуме:
30086

Репутация: 0
По умолчанию Уважаемы программисты,слезно молю,помогите пожалуйста с лабой.

Тема: Динамические структуры данных.Обработка деревьев.
Задание: Составить программу на языке СИ для построение и обработки дерева общего вида,содержащего узлы типа float. Основные функции с деревьями реализовать в виде универсальных процедур или функций.После того как дерево создано, его обработка должна производиться в режиме текстового меню со следующими действиями:
1) Добавление нового уза
2) Текстовая визуализация дерева(значение каждогог узла выводится в отдельной строке,с отступом, пропорциональным глубине узла, в порядке старшинства узлов.
3) Удаление узла
4)Вычисление значения некоторой функции,а именно определения числа листьев дерева.
PS:Извините что длинно,программировать не умею,поэтому не хотел упускать ни одной мелочи.
 
Ответить с цитированием

  #10  
Старый 23.05.2009, 23:39
D Mak
Участник форума
Регистрация: 23.06.2007
Сообщений: 188
Провел на форуме:
1051973

Репутация: 116
Отправить сообщение для D Mak с помощью ICQ
По умолчанию

ankden гг, ппц у вас лабы, такое задание у нас на 3 часа практики
стукни 31247312 скину что есть
 
Ответить с цитированием
Ответ



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



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


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




ANTICHAT.XYZ