C++ (Консольки) 1. 2. Логика в итоге должно получится либо тру либо фолс (Значок вниз=OR,^=AND,закорючка посередине=NOT)
1) написать программу, которая считывает текст из файла и выводит его на экран, заменив цифры от 0 до9 на слова "ноль", "один", .. "девять", начиная каждое предложение с новой строки. В интернете есть такая уже, но мне надо на Borland C++ 3.1 а не 6.0 препод будет в шоке если она будет в 6 и с кучей непонятных переменных и прочее.. вот. выручайте, нужно очень срочно. ВЗАМЕН СЕМИЗНАК
Помогите исправить ошибки, программа компилируется, но зависает. Задан массив. Определить, сколько раз меняется знак в данной последовательности чисел, запомнить номера позиций, в которых меняется знак. Code: #include <stdio.h> #include <stdlib.h> #include <windows.h> #include <conio.h> #include <iostream> using namespace std; int main() { int a[100]; int max; int k; int b[100]; int n; int i; cout<<"\nenter the size of array:";cin>>max; for (i=0;i<max;i++) { printf("Please enter the %i element of the array:\n",i); scanf("%i",&a[i]); } if (a[0]>=0) for(i=1;i=(n-1);i++) if (a[i]<0) if (a[i-1]>=0) { k=k+1; b[k]=i; } else if (a[i]>=0) if (a[i-1]<0) { k=k+1; b[k]=i; } else if (a[0]<0) for(i=1;n-1;i++) if (a[i]>=0) if (a[i-1]<0) { k=k+1; b[k]=i; } else if (a[i]<0) if (a[i-1]>=0) { k=k+1; b[k]=i; } for(i=0;i<k;i++) printf("%d", b[i]); getch(); }
Вот держи: 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); y = pow( (atan (a/b) + a/2 * log10 (b)), 2) + ( pow(sin(b),3) + 7.6 ) / ( 2.3 * pow(10,5) + 2 * pow(a,2) + sqrt(b / fabs(A)) ) + A ; cout << "=================================\n" << "y = " << 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 b= false; Z = fabs(x + pow(y,2)) > 18 || x < 8*y && ! (a || sqrt( fabs(y)) + 2 == 26) || b; if (Z == 0) cout << "=================================\n" << "Z = FALSE" << "\n=================================\n" ; else cout << "=================================\n" << "Z = TRUE " << "\n=================================\n" ; return 0; }
Ошибки: 1)при создании цикла, как следствие входим в вечный цикл 2) нехватка фигурных скобок 3) лишний цикл и переменная. Вот рабочий код: PHP: #include <stdio.h> #include <stdlib.h> #include <windows.h> #include <conio.h> #include <iostream> using namespace std; int main() { int a[100]; int max; int k = 0; int b[100]; int i; cout<<"\nenter the size of array: "; cin>>max; for (i=0;i<max;i++) { printf("Please enter the %i element of the array:",i+1); scanf("%i",&a[i]); } for(i=1;i<max;i++) { if (a[i]<0) { if (a[i-1]>=0) { b[k]=i; k=k+1; } } else if (a[i-1]<0) { b[k]=i; k=k+1; } } printf("\n\n3HaK MeH9ETC9 %d Pa3\nIHDEKCbI:", k); for(i=0;i<k;i++) printf(" %d; ", b[i]); getch(); return 0; }
Задачу решил. Действительно ЛЮБУЮ СУММУ МОЖНО получить используя купюры 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 (x > 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=0; i < x; i+=5) // шаг +5 { for(j=0; j<x; j+=3) // шаг +3 { if (i+j == x) {y = j; z = i; good = true;} } } } if (good == true) { cout << "\n\nViplatit mogno!\n"; // Выплатить можно! cout << "\n\nNugno \"5\": " << z/5 << "\n\nNugno \"3\": " << y/3 << "\n\n"; // Нужно столькото "троек" и столькото "пятерок" } else cout << "\n\nViplatit nelza!\n"; // Выплатить нельзя! } else { cout << "\n\nChislo dolgno bit > 7\n"; // число должно быть больше 7 } return 0; } Тут код + ЕХЕ
Если еще нужно - вот наклепал : Code: # 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; }
помоги пожалуйсто с лабораторной работой,вот задание: 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; } 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+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.Cells[j].Value == null) { MessageBox.Show(this, "не корректно введены данные!", "Error!", MessageBoxButtons.OK, MessageBoxIcon.Warning); return; } string buf = dataGridView1.Rows.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.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.Cells[dataGridView1.Columns.Count - 3].Value = ((float)values[i, cnt_exp] / (float)rang_sum_all_expert as object); dataGridView1.Rows.Cells[dataGridView1.Columns.Count - 2].Value = (values[i, cnt_exp + 1] as object); dataGridView1.Rows.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(); } }
Уважаемы программисты,слезно молю,помогите пожалуйста с лабой. Тема: Динамические структуры данных.Обработка деревьев. Задание: Составить программу на языке СИ для построение и обработки дерева общего вида,содержащего узлы типа float. Основные функции с деревьями реализовать в виде универсальных процедур или функций.После того как дерево создано, его обработка должна производиться в режиме текстового меню со следующими действиями: 1) Добавление нового уза 2) Текстовая визуализация дерева(значение каждогог узла выводится в отдельной строке,с отступом, пропорциональным глубине узла, в порядке старшинства узлов. 3) Удаление узла 4)Вычисление значения некоторой функции,а именно определения числа листьев дерева. PS:Извините что длинно,программировать не умею,поэтому не хотел упускать ни одной мелочи.
Нужно решить задачи на Паскале Нужно решить задачи на Паскале, только не знаю где разместить топик. Кто может помоч? Вот условия задач - 1. Напишите программу решения следующих задац а). найти сумму цифр заданного натурального числа б). определить количество цифр заданного натур. числа. 2.Наисать программу проверки, является ли чётной первая цира заданного натур. числа. 3. Написать программу, которая среди всех двузначных чисел найдёт все числа, делящиеся на число, вводимое с клавиатуры. 4. Составить программу которая вводит некоторое целое числои, если но чётное, уменьшить его в 2 раза. 5. Ввести три числа. Если н одно из чисел не равно нулю, то вычислить их среднее арифметическое. 6. Сколько слагаемых должно быть в сумме 1+2+3+4..., чтобы эта сумма равнялась 20
Задача номер 5: Code: program five; var a,b,c:integer; s:real; begin writeln('Vvedite 4isla:'); readln(a,b,c); if( (a <> 0) and (b <> 0) and (c <> 0)) then begin s:=(a+b+c)/3; writeln('Srednee arimeti4eskoe: ',s:6:3); end else writeln('Odno iz 4isel ravno nulyu'); readln; end. задача номер 4: Code: program chetire; var a:integer; b:real; begin writeln('Vvedite 4islo:'); readln(a); if ((a mod 2)=0) then begin b:=a/2; writeln('Rezultat: ', b:6:0); end else writeln('chislo nechetnoe'); readln; end. задача номер 3: Code: program tri; var a,i:integer; b:real; begin writeln('Vvedite 4islo:'); readln(a); writeln('Chisla: '); for i:=10 to 99 do begin if ((i mod a)=0) then write(i, ', '); end; readln; end. Все работает задача номер 6 не ясна - числа 1+2+3+4+5+6 никак не получат в сумме 20...
1(a). Code: program firsta; var i,b,n:integer; begin i:=0; readln(n); repeat b:=n mod 10; i:=i+b; n:=n div 10; until (n=0); writeln(i); readln; end. 1(б). Code: program firstb; var b:integer; s:string; begin readln(b); Str(b,s); writeln(length(s)); readln; end. 2. Code: program second; var e,n:integer; s:string; begin readln(n); Str(n,s); s:=s[1]+s[2]; Val(s,n,e); if (n mod 2 = 0) then writeln('Y') else writeln('N'); readln; end.