Задача на тему Одномерные массивы
|
|
Yup_Yup | Дата: Пятница, 19.12.2008, 06:29 | Сообщение # 1 |
Новичок
Группа: Пользователи
Сообщений: 1
Статус: Offline
| Люди, темы одномерных массивов не знаю, а у меня контрольная сегодня была. Переписал задание и мне завтра нужно его исправить. Возможно я нарушаю правила, извините, но из тех задач что у вас есть, мне ничего не говорит, ставте бан если надо, закрывайте тему, но прошу сначала помочь, шарю в программировании оч. плохо, со следующей недели сессия, а у меня еще долги по другим предметам есть, в общем войдите в положение. Вот задание: Организовать ручное заполнение одномерного массива Х вещественным числом. Найти все элементы массива индексы, которых превышают введенное число М на найденное количество положительных элементов массива. Вывести одномерный массив ДО и ПОСЛЕ изменения, а также введенное число М и количество элементов массива. Напишите кто-нибудь тело программы от начала до конца, пожалуйста.Добавлено (18.12.2008, 23:29) --------------------------------------------- Народ, может кто-нибудь все же удосужится мне помочь а?
|
|
| |
Seqular | Дата: Пятница, 19.12.2008, 22:30 | Сообщение # 2 |
Хранитель
Группа: Администраторы
Сообщений: 859
Статус: Offline
| Quote (Yup_Yup) Народ, может кто-нибудь все же удосужится мне помочь а? Не забывай, что живем в разных часовых поясах и сессия в это время не только у тебя. Перефразируй задание, чтобы было более понятно. Мне вот не совсем ясно, что сделать надо. 1. Вводим массив X. Code For i := 1 to N do Begin Write('Введите ',i,'-ый элемент массива: '); Readln(x[i]); if (x[i] > 0) then Inc(Count); End; 2. Вводим число M. Code Write('Введите число M: '); Readln(m); 3. Находим количество положительных элеметов: (см код 1, блок if). 4. "Находим все элементы массива индексы, которых превышают введенное число M на найденное количество положительных элементов массива." Явно ошибки в пунктуации. Если нужно найти все элементы, индексы которых превышают M на Count (где Count - число положительных элементов массива), то Code For i := 1 to N do Begin If (i - M = Count) then Writeln('X[',i,']: ',x[i]); End; Вот.. Quote (Yup_Yup) Вывести одномерный массив ДО и ПОСЛЕ изменения О каком изменении идет речь? Решение требует пояснения
Поддерживаю также проект сообщество молодых сисадминов
|
|
| |
kms | Дата: Воскресенье, 21.12.2008, 00:52 | Сообщение # 3 |
Новичок
Группа: Пользователи
Сообщений: 9
Статус: Offline
| Люди помогите пожалуйста начали проходить массивы задачки ну никак не получается понять №1 дан массив целых чисел, состоящий из 10 элементов. Заполнить его случайными числами. Найти: А) сумму положительных элементов, значение которых меньше 10 В) вывести индексы тех элементов, значения которых кратны 3 и 5 №2 Определить, есть ли в данном массиве пара соседних элементов с суммой, равной заданному числу.
я
|
|
| |
Seqular | Дата: Воскресенье, 21.12.2008, 10:19 | Сообщение # 4 |
Хранитель
Группа: Администраторы
Сообщений: 859
Статус: Offline
| Ну выглядит все примерно так: Code Randomize; For i := 1 to 10 do Begin a[i] := Random(40) - 20; Write(a[i]:4); End; Writeln; Тут мы заполняем его случайными значениями от -20 до 19. Code For i := 1 to 10 do Begin if ((a[i] > 0) and (a[i] < 10)) then sum := sum + a[i]; if (a[i] mod 15 = 0) then Writeln(i,'-ый элемент кратен 3 и 5!'); End; Writeln('Сумма положительных элементов < 10 равна: ',sum); А что касается #2: Code Write('Введите число K: '); Readln(k); For i := 2 to 10 do Begin if (a[i] + a[i-1] = k) then Writeln(i, ' и ', i-1,'-ый элементы дают в сумме К'); End; Коды проверь, пишу из головы...
Поддерживаю также проект сообщество молодых сисадминов
|
|
| |
kms | Дата: Понедельник, 22.12.2008, 00:09 | Сообщение # 5 |
Новичок
Группа: Пользователи
Сообщений: 9
Статус: Offline
| Задача №2 почему-то не получается
я
|
|
| |
Seqular | Дата: Понедельник, 22.12.2008, 00:10 | Сообщение # 6 |
Хранитель
Группа: Администраторы
Сообщений: 859
Статус: Offline
| kms, почему?
Поддерживаю также проект сообщество молодых сисадминов
|
|
| |
Seqular | Дата: Понедельник, 22.12.2008, 00:14 | Сообщение # 7 |
Хранитель
Группа: Администраторы
Сообщений: 859
Статус: Offline
| У меня все отлично получилось.. Тока можно местами поменять i и i-1. Так нагляднее будет. И 'k' заменить на k просто. Еще нагляднее будет. А код работает
Поддерживаю также проект сообщество молодых сисадминов
|
|
| |
kms | Дата: Понедельник, 22.12.2008, 00:15 | Сообщение # 8 |
Новичок
Группа: Пользователи
Сообщений: 9
Статус: Offline
| Я правильно записал задачу №2? Uses crt; Var A:array [2..10] of integer; I,k:integer; Begin Clrscr; Randomize; Write('Введите число K: '); Readln(k); For i := 2 to 10 do Begin if (a[i] + a[i-1] = k) then Writeln(‘a[i] + a[i-1] = k’); End; Readkey; End.
я
|
|
| |
Seqular | Дата: Понедельник, 22.12.2008, 00:28 | Сообщение # 9 |
Хранитель
Группа: Администраторы
Сообщений: 859
Статус: Offline
| Нет. Почему в массив А объявлен со 2-го элемента? Почему не с первого? И, собственно, массив у тебя остается пустым. Code Uses CRT; Var a: Array[1..10] of Integer; i: Byte; k: integer; Begin ClrScr; Randomize; For i := 1 to 10 do Begin a[i] := Random(40) - 20; Write(a[i]:4); End; Writeln; Write('Введите число K: '); Readln(k); For i := 2 to 10 do Begin if (a[i] + a[i-1] = k) then Writeln(i-1, ' и ', i,'-ый элементы дают в сумме: ',k); End; Readkey; End. Хотябы такой вариант. Кстати, оформляй свои коды тегом "code"
Поддерживаю также проект сообщество молодых сисадминов
|
|
| |
kms | Дата: Вторник, 23.12.2008, 01:03 | Сообщение # 10 |
Новичок
Группа: Пользователи
Сообщений: 9
Статус: Offline
| хорошо спс Добавлено (22.12.2008, 18:03) --------------------------------------------- "code" " program #1; const n=17; Var b:Array[1..n] of Integer; i,p: integer; Begin p:=0; For i := 1 to n do Begin b[i] := -35+Random(121); if b[i] mod 10=0 then p:=p+1; End; writeln(p); Readln; End. " что получится в результате выполнения програмы? у меня получается " turbo pascal version 7.1 copyright <c> 1983,97 borland international 2 "
я
|
|
| |