Подскажите какой функцией и как можно перезаписать в файле определенное значение? Задание: Ввести файл F . Каждый элемент в файле больший 7 домножить на результат целочисленного деления этого элемента на 7. Файл вывести до и после преобразования. PHP: #include <iostream.h> #include <math.h> int main(){ int f; FILE * fo; fo = fopen("zadacha.txt","wt"); cout <<to_io("Заполните файл (признак конца ввода: \"555\")\n"); int i = 1; cout <<to_io("элемент #")<<(i)<<" = "; cin >>f; fprintf(fo, "%d\n", f); while (f != 555) { cout <<to_io("элемент #")<<(i+1)<<" = "; cin >>f; if (f != 555) fprintf(fo, "%d\n", f); i++; } fclose(fo); fo = fopen("zadacha.txt","rt"); int del; while(!feof(fo)) { fscanf(fo, "%d\n", &f); if (f > 7) { del = f/7; f *= del; // Вот здесь надо записать новое значение элемента на место старого. } } fclose(fo); int stop; cin >>stop; }
Ой парни ищзвинйте,но как можно при вводе символов заменять их сразу на * в С++ ??? Когда вводим в консоль пароль,например, 123 и сразу при нажатии 1 она меняется на *,можно ли ваще?))
Для C++ нет решения. Можно использовать API ОСи, на которой программа запускается, либо C. http://stackoverflow.com/questions/6899025/hide-user-input-on-password-prompt http://www.vbforums.com/showthread.php?t=487490
C# Есть база данных, в ней 10 таблиц. Добавил на форму comboBox и dataGridView. Далее, необходимо в comboBox добавить заголовки таблиц и при смене итема у comboBox менять данные в datagridView(отображать содержимое выбранной таблицы), в том числе, его кол-во строк и столбцов.
Как должна происходить смена через комбобокс?Ты имееш ввиду если селектирова элемент в комбобоксе, то в датагрид автоматически будет произведена смена данных?Уточни. В любом случае вот тебе линьк на http://dotnet-snippets.de/dns/spalten-des-wpf-datagrid-in-net-4-anpassen-SID1402.aspx , здесь подробно описано как выводить данные в датагрид - то что не на немецком, не страшно, все предельно понятно из видео. С комбо , если я правильно тебя понял, все просто - выводишь в комбобоксе(хотя по мне так лучше использовать ListBox) имена всех таблиц базы данных. После чего исопльзуешь - SelectedItem и на него уже вяжешь данные выводимые в DataGrid. Будут вопросы - пиши, только не забудь код выложить. P.S. можешь и в личку.
реализуйте WinForms приложение, позволяющее пользователю выбирать название таблицы из базы данных, с помощью выпадающего списка. В результате выбора таблицы приложение должно отображать содержимое данной таблицы в форму. вот так правильно звучит задание За ссыль - спасибо. Гляну. Code: InitializeComponent(); // 5 столбцов dataGridView1.Columns.Add("column1", "Число 1"); dataGridView1.Columns.Add("column2", "Число 2"); dataGridView1.Columns.Add("column3", "Число 3"); dataGridView1.Columns.Add("column4", "Число 4"); dataGridView1.Columns.Add("column5", "Число 5"); // 1 строка dataGridView1.Rows.Add(1); // 5 итемов comboBox1.Items.Add("0"); comboBox1.Items.Add("1"); comboBox1.Items.Add("2"); comboBox1.Items.Add("3"); comboBox1.Items.Add("4"); } private void comboBox1_SelectedIndexChanged(object sender, EventArgs e) { int i; // очистка перед новым выбором dataGridView1.Rows.Clear(); for (i = 0; i < dataGridView1.Columns.Count; i++) { if (comboBox1.SelectedIndex == i) { // добавляю в качестве примера туда заголовок выбранного итема comboBox, в вашем случае это набор значений!!! dataGridView1[i, 0].Value = comboBox1.Items[i]; } } } Пробовал, но не могу понять, как подвязать базу в комбобокс..
Нужно перевести программу с делфи на с++/либо с шарп кто может помочь? текст программы ниже.... проблема в том что с++/с шарп не знаю почти.... PHP: unit Unit1; interface uses Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms, Dialogs, StdCtrls, ExtCtrls, Grids, ComCtrls, Buttons, XPMan; const n=100; type mas = array[1..n,1..n+1] of double; vec = array[1..n] of double; TForm1 = class(TForm) Memo1: TMemo; PageControl1: TPageControl; StringGrid1: TStringGrid; Label1: TLabel; BitBtn2: TBitBtn; Label2: TLabel; Edit1: TEdit; BitBtn3: TBitBtn; Label3: TLabel; Label4: TLabel; Label5: TLabel; BitBtn1: TBitBtn; XPManifest1: TXPManifest; procedure FormCreate(Sender: TObject); procedure BitBtn2Click(Sender: TObject); procedure BitBtn3Click(Sender: TObject); procedure BitBtn1Click(Sender: TObject); private procedure LoadMatrixFromGrid(Grid: TStringGrid; var a: mas); procedure j_gaussa(n: integer; a: mas; var x: vec); { Private declarations } public { Public declarations } end; var Form1: TForm1; implementation {$R *.dfm} procedure TForm1.j_gaussa(n:integer;a:mas;var x:vec); var b:Double; Tab: TTabSheet; str, str2: string; StepGrid: TStringGrid; StepMemo: TMemo; gi,gj: integer; i, j, k : integer; begin for k:=1 to n do begin b:=a[k,k]; Tab := TTabSheet.Create(PageControl1); Tab.PageControl := PageControl1; Tab.Caption := 'Шаг '+intToStr(k); str := IntToStr(k)+'-ю строку разделим на '+ FormatFloat('0.00',b); StepMemo := TMemo.Create(Tab); StepMemo.Parent := Tab; StepMemo.Top := 10; StepMemo.Left := 10; StepMemo.Width := Tab.Width - 20; StepMemo.Height := 50; for j:=1 to n+1 do a[k,j]:=a[k,j]/b; for i:=1 to n do if i<>k then begin b:= a[i,k] * -1; str2 := FormatFloat('0.00',b); str := str + ', умножим на '+str2+' и прибавим к '+IntToStr(i)+'-й'; for j:=1 to n+1 do a[i,j] := a[i,j]+a[k,j]*b; end; StepMemo.Lines.Add(str); StepGrid := TStringGrid.Create(Tab); StepGrid.Parent := Tab; StepGrid.FixedCols := 0; StepGrid.FixedRows := 0; StepGrid.Left := 0; StepGrid.Height := 130; StepGrid.Width := 400; StepGrid.ColCount := StringGrid1.ColCount; StepGrid.RowCount := StringGrid1.RowCount; StepGrid.Top := Tab.Height - StepGrid.Height; for gi := 0 to n-1 do for gj := 0 to n + 1-1 do StepGrid.Cells[gj,gi] := FormatFloat('0.00', a[gi+1,gj+1]); end; for i:=1 to n do x[i] := a[i,n+1]; end; procedure TForm1.LoadMatrixFromGrid(Grid: TStringGrid; var a: mas); var i, j: integer; begin for i := 0 to Grid.RowCount - 1 do for j := 0 to Grid.ColCount - 1 do begin if Grid.Cells[j,i] = '' then Grid.Cells[j,i] := '0'; a[i+1,j+1] := StrToFloat(Grid.Cells[j,i]); end; end; procedure TForm1.BitBtn1Click(Sender: TObject); var i, j: integer; begin for i := 0 to StringGrid1.RowCount - 1 do for j := 0 to StringGrid1.ColCount - 1 do StringGrid1.Cells[j,i] := ''; end; procedure TForm1.BitBtn2Click(Sender: TObject); var i: integer; x: vec; matrix: mas; begin while (PageControl1.PageCount > 0) do PageControl1.ActivePage.Free; LoadMatrixFromGrid(StringGrid1,matrix); j_gaussa(StringGrid1.RowCount, matrix, x); Memo1.Lines.Clear; for i:=1 to StringGrid1.RowCount do Memo1.Lines.Add('x['+IntToStr(i)+']='+ FormatFloat('0.00', x[i])); end; procedure TForm1.BitBtn3Click(Sender: TObject); var Size: integer; begin Size := StrToInt(Edit1.Text); StringGrid1.ColCount := Size + 1; StringGrid1.RowCount := Size; end; procedure TForm1.FormCreate(Sender: TObject); begin Memo1.Clear; end; end.
А как ты вообще считываешь данные из базы? Покажи свой код считки данных с базы, дальше уже огт некого отталкиваться будем. По сути нужно создать : Code: /// <summary> /// DependencyProperty für MyList. /// </summary> public static readonly DependencyProperty MyListProperty = DependencyProperty.Register("MyList", typeof(ObservableCollection<DatabaseParams>), typeof(MainWindow), new FrameworkPropertyMetadata(null)); /// <summary> /// /// </summary> public ObservableCollection<DatabaseParams> MyList { get { return (ObservableCollection<DatabaseParams>)GetValue(MyListProperty); } set { SetValue(MyListProperty, value); } } public MainWindow() { MyList = new ObservableCollection<test>(); InitializeComponent(); } private void comboBox1_SelectionChanged(object sender, SelectionChangedEventArgs e) { ObservableCollection<test> temp = new ObservableCollection<test>(); temp.Add(MyList.SingleOrDefault(pret => pret.Name == MyList[comboBox1.SelectedIndex].Name));//Смотрим выделенную Таблицу в Combobox dataGrid1.ItemsSource = temp; } -------------------------------------------------------------------- А далее в XAML для combox b datagried: combobox: Code: <ComboBox Height="23" HorizontalAlignment="Left" ItemsSource="{Binding MyList, ElementName=self}" Margin="12,24,0,0" Name="comboBox1" VerticalAlignment="Top" Width="120" SelectionChanged="comboBox1_SelectionChanged"> <ComboBox.ItemTemplate> <DataTemplate> <ComboBoxItem Content="{Binding TableName}"> </ComboBoxItem> </DataTemplate> </ComboBox.ItemTemplate> </ComboBox> Code: <DataGrid AutoGenerateColumns="True" Height="200" HorizontalAlignment="Left" Margin="12,90,0,0" Name="dataGrid1" VerticalAlignment="Top" Width="200" CanUserAddRows="False" CanUserDeleteRows="False" IsReadOnly="true" /> Но это грубый набросок. Покажи свой код, куда и как ты записываешь считаные данные из БД. P.S. Что бы отобразить имя таблицы - TableName должно входить в класс DatabaseParams, в котороом будут находится переменные для записи данных из БД. Например: Code: Public class DatabaseParams { public string TableName {get;set} public string Param1 {get;set;} ... public string ParamN {get;set} }
Помогите решить задачу: С клавиатуры вводится исходная строка. Если в строке имеются цифры, то она является зшифрованной. Если исходная строка не содержит цифр (те символов с кодами 48-57 по ASCII), то она является не зашифрованной. Необходимо заменить все символы с кодами 33-99 на их двузначные кода. Символы с другими кодами выводятся без изменений. Пример: Введит строку: Hello! Вывод. Строка не зашифрована. Шифр: 72ello33 Помогите пожалуйста, с подключением библиотек stdio, string, stdlib
Уважаемый Spot, все намного страшнее. Как я уже писал: Есть база данных, в ней 10 таблиц. Добавил на форму comboBox и dataGridView. В dataGridView добавил базу через data Source(база MS Access) соединение с базой(в моем случае MS Access): Code: OleDbConnection conn = new OleDbConnection(); try{ conn.ConnectionString = "Provider=Microsoft.Jet.OLEDB.4.0; Data Source=../../dm.mdb"; conn.Open(); ... finally { conn.Close(); } } А вот как дальше... без понятия.. Если бы нужно было *.xml было бы проще. Но, тот же принцип не пройдет, я так понял: Code: public Form1() { InitializeComponent(); DataSet Dset = new DataSet(); Dset.ReadXml("..\\..\\XMLData.xml"); for (int item = 0; item < Dset.Tables.Count; item++) { comboBox1.Items.Add(Dset.Tables[item]. TableName.ToString()); } private void comboBox1_SelectedIndexChanged(object sender, EventArgs e) { dataGridView1.DataSource = null; dataGridView1.DataSource = Dset.Tables[comboBox1.Text]; } в общем.. вот.
Ну что вот? Ты бы хоть основы почитал - конечно не пройдёт.А код твой для работы с xml благополучно скопипастен с одного англоязычного форума. Если уж стырил что то - то вникни сначала, прежде чем выкладывать. По делу: вот тебе статья здесь весьма подробно описано как подключаться к MS Access и посылать простинькие запросы. Подстроить под себя будет не проблема - так что вперед. Если возникнут проблемы(а что то подсказывает мне, что они возникнут), то выкладывай свой код и не забудь прикрепить файл со своей БД. И попробуй действительно вникнуть в код статья выше и переделать хотя бы частично для себя. Покажи, что ты действительно хочешь вникнуть в тему, а не просто что бы за тебя кто-то что то накотал.
Я и не говорил, что это код(с англоязычного форума) мой. В остальном, хорошо. Спасибо за ссылку, и пояснения.
Нужна помощь по асму, необходимо подправить исходник резидентной программы и изменить способ выгрузки ее из памяти. Все подробности в аську (на аве) / пм. Либо просто опишитесь в топике, и я сам вам стукну в аську/пм.
держи Code: CLS DIM s AS STRING, R AS STRING, c AS STRING * 1 INPUT "Vvedite stroku:", s$ k = 0 FOR i = 1 TO LEN(s$) c$ = MID$(s$, i, 1) IF c$ = "o" THEN c$ = "a" IF MID$(s$, i, 1) = "o" THEN k = k + 1 R = R + c$ NEXT i PRINT "Result: "; R PRINT "kol-vo izmenennih bukv ="; k
Предмет - Математическая статистика. Цель задачи Прочитать из файла числа, составить из них динамический массив, найти: среднее, медиану, СКО, дисперсию, асимметрию, эксцесс. Построить по этим данным гистограмму. (Ось X - среднее арифметическое от левого и правого края, Ось Y - количество элементов таких что левый край <= n < правый край). По причине того, что в программе используются вещественные числа, операции сравнения выполняются некорректно, а следовательно и программа работает не так. Вот код проблемного участка: Где X - массив среднего арифметического от краёв nCount - массив элементов TmpF <= n < TmpF1, TmpF,TmpF1 - края (левый/правый), Eps - для погрешности при сравнеении дробей, dCount - количество диапазонов, Step - шаг на который увеличиваются границы. Code: SetLength(x,Dcount); SetLength(nCount,Dcount); tmpF:=a[0]; tmpF1:=TmpF+Step; count:=0; k:=0; Eps:=0.001; For tmpi:=0 to dCount-1 do begin x[k]:= (tmpF + tmpF1)/2; For j:=0 to N do If (a[j]>=tmpF) and (ABS(a[j]-tmpF1) >= Eps) and (a[j]<tmpF1) then inc(count); nCount[k]:=count; count:=0; tmpF:=tmpF1; tmpF1:=tmpF1+Step; inc(k); end; Ошибка возникает в цикле If если верхняя граница совпадает с элементом массива. Она записывается в nCount, хотя должна игнорироваться. Заранее спасибо.
Нужна помощь в написании кода. Нужно сделать 2 лабы. Стоимость предлогайте в icq 4 один 4 8 шесть шесть 1 2
Здравствуйте. Написал программу к задаче: Заполнить сектора матрицы, которые лежат слева и справа от главной и побочной диагоналей значениями вектора b1, b2, ... , b32, от левого верхнего угла вниз - вправо. Остаток матрицы заполнить нулями. ( На рисунке указаны координаты вектора b.) Но на выходе программа заполняет столбцы матрицы только последней цифро вектора. Что здесь неправильно?