Другие языки программирования и технологии

Паскаль.Элементарно,но чё то никак( дан массив.все его элементы разделить на первый элемент.и вывести на экран

Alex $+$
Alex $+$
141
Забавно. Особенно Java.

Ну, собственно, вот так сделать можно именно на Паскале и именно без изысков:
Предварительно создаем файлик array.txt в каталоге программы и заполняем его любыми числами (не более 100 строк, в строке одно число) . Это будут данные нашего массива. Можно, конечно, заполнить случайными величинами, но нам-то интереснее реальными, правда?
Пишем программку:

program DivArray;
uses Crt, Dos;

var MArray: Array[1..100] of real; MaxCnt: Integer;

procedure FillArrayFromFile(FName: string);
var ArrayData: Text; Counter: Integer;
begin
Assign(ArrayData, FName);
Reset(ArrayData);
Counter:= 1;
while not Eof(ArrayData) or (Counter > 100) do
begin
MaxCnt:= Counter;
ReadLn(ArrayData, MArray[Counter]);
Inc(Counter);
end;
Close(ArrayData);
end;

procedure DivArrayOnTheFirstItem;
var Counter: Integer;
begin
for Counter:= 2 to MaxCnt do
begin
if MArray[1] = 0 then
begin
WriteLn('Can"t div by zero!');
Exit;
end;
MArray[Counter]:= MArray[Counter] / MArray[1];
end;
for Counter:= 1 to MaxCnt do

WriteLn(MArray[Counter]:10:2);

end;

begin
FillArrayFromFile('array.TXT');
DivArrayOnTheFirstItem;
ReadLn;
end.

В общем, все.
Фарит Насибуллин
Фарит Насибуллин
1 930
Лучший ответ
про организацию циклов а Паскале в первый раз в жизни слышишь ?)
MK
Mixail Kors
32 502
А если первый элемент нуль?
Ай блин там флоат надо, да лень менять
import java.util.Scanner;
import java.util.Random;

public class Hello_jAvaa{
public static void main(String[] args) {
int num=0, counter=0;
Scanner scan = new Scanner(System.in);
int nums []={0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16};//забиваем массив
do
{
if (nums[0+counter]==0) counter++;
num=nums[0+counter];
}while (nums[0+counter] == 0);//перескакиваем нулевые элементы
for (int i=1+counter;i<nums.length;i++) nums[ i ]/=num;//собсна деление
System.out.printf("%s ",nums[ i ]);//собсна вывод
}
}
}

Похожие вопросы