0 / 0 / 0
Регистрация: 15.11.2012
Сообщений: 5
1

Одномерный массив: является ли данный массив геометрической или же арифметической прогрессией

06.07.2013, 11:26. Показов 1400. Ответов 9
Метки нет (Все метки)

Author24 — интернет-сервис помощи студентам
Всем привет,перерыл уже наверно тонну информации на сайтах,но так толком и не понял некоторые вещи.
1)Мне нужно задать размер массива с клавиатуры
2)Затем задать с клавиатуры значения массива
3)потом чтобы программа выдавала является ли данный массив геометрической или же арифметической прогрессией
Проблема главная в первых 2ух пунктах
у меня есть код на паскале,но я не знаю каким образом его перевести в delphi
ой чуть не забыл и как вывести значения на memo?
Memo1.lines.add.......?
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
06.07.2013, 11:26
Ответы с готовыми решениями:

Определить, является ли целочисленный массив арифметической или геометрической прогрессией.
Определить, является ли целочисленный массив арифметической или геометрической прогрессией.

Определить, является ли целочисленный массив арифметической или геометрической прогрессией.
Определить, является ли целочисленный массив арифметической или геометриче-ской прогрессией.

Является ли одномерный массив геометрической прогрессией?
Задан размер массива вещественных чисел и значения его элементов. Определить, являются ли его...

Проверять, является ли одномерный массив арифметической прогрессией
#include <stdio.h> #include <math.h> #include <conio.h> int main(void) {int i,j,a,b,n,t,c,k;...

9
5705 / 2296 / 466
Регистрация: 20.11.2009
Сообщений: 7,720
Записей в блоге: 1
06.07.2013, 11:31 2
Код
1) SetLength(ArrayName, ArraySize);
2) ArrayName[ArrayIndex] := ArrayValue
3) нужно правило по которому будет идти проверка на геометрию или арифметику массива...
в мемо если выводить целые числа то так
Код
Memo1.Lines.Add(IntToStr(ArrayName[ArrayIndex]));
0
Эксперт Pascal/Delphi
4913 / 2782 / 853
Регистрация: 04.10.2012
Сообщений: 10,121
06.07.2013, 11:38 3
Цитата Сообщение от Fakeprox Посмотреть сообщение
1)Мне нужно задать размер массива с клавиатуры
Delphi
1
2
3
4
var 
MyArray : array of integer; //объявляем динам. массив
 
SetLength(MyArray, StrtoInt(Edit1.Text)); //задаем размер через текст. поле
Цитата Сообщение от Fakeprox Посмотреть сообщение
задать с клавиатуры значения массива
Используйте TStringGrid, предварительно выставив в Options-> goEditing в true для возможности
его редактирования
0
0 / 0 / 0
Регистрация: 15.11.2012
Сообщений: 5
06.07.2013, 14:17  [ТС] 4
правильно ли?
Delphi
1
2
3
4
5
Var
i,j,n,k:integer;
A:array of integer;
begin
SetLength(A, StrtoInt(Edit1.Text))// я так взял размер массива.
Дальше я должен же заполнить его с клавиатуры через компонент TStringGrid
как дальше?
0
Эксперт Pascal/Delphi
4913 / 2782 / 853
Регистрация: 04.10.2012
Сообщений: 10,121
06.07.2013, 16:41 5
Fakeprox, Да. Вот, смотри
Delphi
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
//объявляем глобально
 A:array of integer;
i, n:integer;
implementation
 
{$R *.dfm}
 
procedure TForm1.FormCreate(Sender: TObject);
begin
Memo1.Clear;  //очищаем Memo при запуске программы
end;
 
//задаем размерность массива
procedure TForm1.Button1Click(Sender: TObject);
begin
 n :=StrtoInt(Edit1.Text); //задаем
SetLength(A, n); //выставиляем размерность
StringGrid1.ColCount :=n;  //кол-во столбцов сетки делаем равным ей
end;
 
//процедура заполнения массива через StringGrid
procedure TForm1.Button2Click(Sender: TObject);
begin
for i :=1 to n do
if Length(StringGrid1.Cells[i-1, 0]) <>0  //если ячейка не пустая
then A[i] := StrToInt(StringGrid1.Cells[i-1, 0]) //заносим ее значение в массив
else A[i] := 0; //иначе определяем как нулевой эл-т
 
for i :=1 to n do
Memo1.Lines.Add(IntToStr(A[i])); //выводим массив в Memo
end;
end.

Не по теме:

Кидаешь на форму SG(фикс. строки и столбцы =0, обычная 1 строка, 0 столбцов, разреши редактирование), Edit, Memo и две Button



Добавлено через 1 минуту
можешь еще добавить проверку на ввод числа при желании
0
0 / 0 / 0
Регистрация: 15.11.2012
Сообщений: 5
07.07.2013, 16:12  [ТС] 6
droider, Смотри,я сделал как ты и сказал,но при компилирование дает ошибку [Warning] Unit1.pas(53): For loop control variable must be simple local variable

Добавлено через 8 минут
Все исправил,но теперь ругается на других моментах,а именно
procedure TForm1.Button1Click(Sender: TObject);([Error] Unit1.pas(45): Unknown directive: 'A')
A:array of integer;
i, n:integer;
begin
n :=StrtoInt(Edit1.Text); //??????
SetLength(A, n); //??????????? ???????????
StringGrid1.ColCount :=n; //???-?? ???????? ????? ?????? ?????? ??
end;
Данную проблему тоже решил осталась последняя,[Warning] Unit1.pas(62): Variable 'A' might not have been initialized
0
Эксперт Pascal/Delphi
4913 / 2782 / 853
Регистрация: 04.10.2012
Сообщений: 10,121
07.07.2013, 18:55 7
Fakeprox, у меня никаких проблем не возникло. Значения в массив переданы?
0
3944 / 1869 / 337
Регистрация: 16.03.2012
Сообщений: 3,880
07.07.2013, 19:46 8
Ребята, не забывайте что динамические массивы индексируются с 0. Т.е. если:
Delphi
1
SetLength(A, n); //выставиляем размерность
то
Delphi
1
2
for i :=0 to n-1 do
A[i]...
Иначе будет выход за пределы массива и Access violation...
0
Эксперт Pascal/Delphi
4913 / 2782 / 853
Регистрация: 04.10.2012
Сообщений: 10,121
07.07.2013, 20:16 9
Одиночка, у меня в StringGrid нет фикс. столбца, поэтому начал с 1. Проверил...
0
3944 / 1869 / 337
Регистрация: 16.03.2012
Сообщений: 3,880
07.07.2013, 20:26 10
@droider, а сам массив? Я имел в виду массив. Последний индекс в цикле A[n]. А у него определена индексация от 0 до n-1. Да и для грида удобнее тогда:
Delphi
1
2
For i:=0 To n-1 Do
  StringGrid1.Cells[i,0]...
0
07.07.2013, 20:26
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
07.07.2013, 20:26
Помогаю со студенческими работами здесь

Определить является ли целочисленный массив X(n) арифмитической или геометрической прогрессией
зaрaнee спс

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

В массиве P(n) найти самую длинную последовательность, которая является арифметической или геометрической прогрессией
Помогите пожалуйста с решением задачи В массиве P(n) найти самую длинную последовательность,...

Определить является ли массив геометрической прогрессией
Помогите с заданием ,Дан одномерный массив А длиной М. Определить является ли он геометрической...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
10
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2024, CyberForum.ru