можете написать прогу мне чисто код
вычислить сумму четных элементов одномерного массива до первого встречного нулевого элемента ПыСы паскаль |
Сорь, онли С++
|
джава максимум, паскаль это что на 1 курсе?
|
uses crt;
var a:array[1..100] of real; i,j,n,ti1,ti2:integer; sum,min,max,x,p:real; begin ClrScr; Randomize; Write('n='); Readln(n); for i:=1 to n do begin a[i]:=-10+random(20); Write(a[i]:0:1,' '); end; sum:=0; for i:=1 to n do if a[i]>0 then sum:=sum+a[i]; min:=a[1]; max:=1; for i:=1 to n do if abs(a[i])<min then begin min:=abs(a[i]); ti1:=i; end; for i:=1 to n do if abs(a[i])>max then begin max:=abs(a[i]); ti2:=i; end; Writeln; Writeln('Min=',min:0:1,' [',ti1,']'); Writeln('Max=',max:0:1,' [',ti2,']'); p:=1; for i:=ti1+1 to ti2-1 do p:=p*a[i]; Writeln; Writeln('Sum=',sum:0:1); Writeln('P=',p:0:1); for i:=1 to n do for j:=i to n do if a[i]<a[j] then begin x:=a[i]; a[i]:=a[j]; a[j]:=x; end; for i:=1 to n do Write(a[i]:0:1,' '); Readln; end. Вроде без ошибок.. |
ChixHunter чет длинная у меня намного короче получилась вот только паскаль зависает при включении :-D
а без штук вот моя на скрине не добавлен writуln а так все также и не рабoтает while убераешь работает токо все складывает а не до первого 0 http://s56.radikal.ru/i153/1002/29/f01173db2a2b.jpg у меня первая (ни та что на скрине) с заранее известным размером массива и случ числами от 100 до 300 работает а это блин нет |
Если чисто алгоритм, то все просто:
... Summ := 0; for i := 0 to MAX do begin __if SomeArray[i] = 0 then Break; __if Function(SomeArray[i]) then Summ := Summ + SomeArray[i]; end; ... MAX - длина массива SomeArray - сам массив Function - булевая функция, которая возвращает true в случае если число четное (просто забыл название этой функции) Summ - сумма |
n mod 2=0 это проверяет четность
|
Цитата:
__if (SomeArray[i] mod 2 = 0) then Summ := Summ + SomeArray[i]; А на чистом паскале никогда не писал, поэтому полностью программу составить не смогу :( |
Microsoft так всегда 0 если if SomeArray[i] = 0 then Break; рандом стоит от -10 до 10 но почему всегда сразу в 0 хз
|
Цитата:
|
http://s002.radikal.ru/i197/1002/03/bbd9e73638a5.jpg
щас попробую с рандомом от 1 до 20 пипець с рандомом от 1 до 20 тоже в ноль где-то 30% идет |
Убери ";" после Break.
|
а в принципе можно ли рандом поставить a[i]:=10-Random(20); можно вместо + поставить - тогда 30% нормальных ответов?
Цитата:
короче работает с рандомом и от -10+Random(20) попробую масивчик побольше забульбенить |
Да просто random(20). Это от 0 до 19. Или тебе обязательно отрицательные числа нужны?
Цитата:
|
ну в принципе и так можно чтоб не гемороится
|
+ Массив у тебя 1..21, а циклы 1..20. Константы рулят :)
|
сделал масив 1-500 циклы 1-500 рандом 1-500 и в 0 часто блин чеж паскаль так любит ноль первым ставить ггг
|
Попробуй
for i := 1 to 21 do if a[i] = 0 then break else if (a[i] mod 2) = 0 then s := s + a[i]; |
эх ладно путь так завтра добавлю работу с файлами в прогу и нормуль
еще одна осталась не подскажешь? Составьте программу, облегчающую работу секретаря школы. Напишите прорамму, которая ведет поиск номера телефона по введенной фамилии на сколько я понял надо 2 массива, массив фамилии string, номера телефонов integer базу заранее надо написать в тхт фамилии в одном номера в другом и как их писать в столбик через энтр? потом в проге открыть оба или 1 тхт var f: text; s: string; begin assign(f,'filename'); reset(f); readln(f,s); close(f); end; код работы с файлами и я вот одного не пойму как они связываться будут? |
В чистом паскале можно определять структуры, как в object паскале?
ЗЫ: type __MyStruct = record ____a, b: integer; ____c: string; __end; |
Текущее время: 16:25. Часовой пояс GMT +3. |
Powered by vBulletin® Version 3.8.4
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.