12 / 1 / 1
Регистрация: 24.09.2009
Сообщений: 188
1

с использованием массивов (array)

07.10.2009, 15:17. Показов 1742. Ответов 7

Author24 — интернет-сервис помощи студентам
Задачи надо написать на С.
1) - Дан массив A размера N. Вывести вначале его элементы с чётными номерами ( в порядке возрастания номеров), а затем - элементы с нечётными номерами ( также в порядке возрастания номеров) :
А2, А4, А6, ..., А1, А3, А5...
Условный оператор не использовать ( if и switch )

2) - Дан целочисленный массив размера N, не содержащий одинаковых чисел. Проверить, образуют ли его элементы арифметическую прогрессию. Если образуют, то вывести разность прогрессии , если нет - вывести 0.

0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
07.10.2009, 15:17
Ответы с готовыми решениями:

Переписать с использованием STL Array
Доброго времени суток! Написал вот такую программу,теперь хочу тоже самое только с использованием...

Задача с использованием массивов
Есть задача: "В одномерном массиве, состоящем из n действительных элементов, вычислить: 1)...

Программа с использованием массивов
Задали сделать программу с массивами. Практики с применением массивов небыло. И я с ними не знаком....

Функция с использованием массивов
Помогите написать функцию,которая вставляет элементы в монотонно возрастающую последовательность с...

7
Эксперт JavaЭксперт С++
8384 / 3616 / 419
Регистрация: 03.07.2009
Сообщений: 10,709
07.10.2009, 18:05 2
Цитата Сообщение от Лестат Посмотреть сообщение
Условный оператор не использовать ( if и switch )
если смущает это условие, то используй оператор
C++
1
(условие) ? true : false;
0
81 / 81 / 6
Регистрация: 14.09.2009
Сообщений: 252
07.10.2009, 18:17 3
M128K145, А там вообще не нужны условия) там же четность индекса массива а не элемента...

Лестат, как-то так:
C++
1
2
3
4
5
6
7
printf("Элементы с четным номером:\n");
for(int i=0;i<n;i+=2)
  printf("%d ",a[i]);
 
printf("Элементы с нечетным номером:\n");
for(int i=1;i<n;i+=2)
  printf("%d ",a[i]);
1
12 / 1 / 1
Регистрация: 24.09.2009
Сообщений: 188
07.10.2009, 18:18  [ТС] 4
не понял

Добавлено через 31 секунду
ааа? от терь понял =)
0
81 / 81 / 6
Регистрация: 14.09.2009
Сообщений: 252
07.10.2009, 18:18 5
кстати, если считать индексы не с 0 а с 1, то циклы поменять местами)
0
12 / 1 / 1
Регистрация: 24.09.2009
Сообщений: 188
07.10.2009, 18:19  [ТС] 6
спс
0
Эксперт JavaЭксперт С++
8384 / 3616 / 419
Регистрация: 03.07.2009
Сообщений: 10,709
07.10.2009, 18:24 7
Цитата Сообщение от GAV_13 Посмотреть сообщение
M128K145, А там вообще не нужны условия) там же четность индекса массива а не элемента...
прочитал просто по диагонали и не заметил слово номер
Цитата Сообщение от Лестат Посмотреть сообщение
в порядке возрастания номеров
0
эволюционирую потихоньку
468 / 466 / 91
Регистрация: 30.06.2009
Сообщений: 1,401
07.10.2009, 21:05 8
C
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
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
#include <stdio.h>
#include <conio.h>
#include <stdlib.h>
#include <string.h>
 
// Äàí öåëî÷èñëåííûé ìàññèâ ðàçìåðà N, 
// íå ñîäåðæàùèé îäèíàêîâûõ ÷èñåë. Ïðîâåðèòü,
// îáðàçóþò ëè åãî ýëåìåíòû àðèôìåòè÷åñêóþ ïðîãðåññèþ.
// Åñëè îáðàçóþò, òî âûâåñòè ðàçíîñòü ïðîãðåññèè , åñëè íåò - âûâåñòè 0.
 
 
int main()
{
  int i, delta, n, flag=1;
  int *arr;
  printf("Enter numbers:");  // ââîäèì êîëè÷åñòâî ýëåìåíòîâ
  scanf("%d",&n);
  // âûäåëÿåì ïàìÿòü ïîä n ýëåìåíòîâ
  arr=(int *)calloc(n, sizeof(int));        
  
  for(i = 0; i < n; i++)
  { // ââîäèì ýëåìåíòû ñ êëàâèàòóðû
    printf("input element %d: ", i + 1);   scanf("%d", &arr[i]);   
  }
  
  // ñ÷èòàåì ðàçíîñòü 1ãî è 2ãî ýëåìåíòà ìàññèâà
  delta=arr[1]-arr[0];
  for (i=2; i<n; i++)
  {
    // åñëè ðàçíîñòü êàêîé-òî ïàðû ýëåìåíòîâ ìàññèâà îòëè÷íà
    // îò ïåðâîé, ïèøåì ÍÎËÜ è âûõîäèì
    if((arr[i]-arr[i-1])!=delta)
    {
      printf("\n0");
      flag=-1; // óñòàíàâëèâàåì ôëàã â -1
      break;
    }
  }
 
  if (flag!=-1)  // åñëè ôëàã íå áûë óñòàíîâëåí â -1
                 // òî åñòü âñå ðàõíîñòè ðàâíû delta
  {              // âûâîäèì delta
    printf("\ndelta:%i", delta);
  }
   getch();
  return 0;
}
1
07.10.2009, 21:05
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
07.10.2009, 21:05
Помогаю со студенческими работами здесь

с использованием массивов (minmax)
Задачу надо написать на С. ( плз помогите ) Дано целое число N и набор из N целых чисел. Найти...

Написать функцию с использованием массивов..
Которая вставляет элементы в монотонно возрастающую последовательность с сохранением сортировки

Матрица с использованием двухмерных массивов
Добрый день. Нужна помощь в написании программы. Дана матрица размера M х M. Найти все...

Программирование с использованием одномерных массивов
Помогите выполнить задание и составить блок-схему, пожалуйста Перепишите задание с картинки на...


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

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

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