Форум программистов, компьютерный форум, киберфорум
Наши страницы
С++ для начинающих
Войти
Регистрация
Восстановить пароль
 
Рейтинг: Рейтинг темы: голосов - 14, средняя оценка - 4.93
Varlos
1 / 1 / 1
Регистрация: 12.10.2012
Сообщений: 41
#1

Выяснить, является ли s-й элемент массива положительным числом - C++

14.10.2012, 07:49. Просмотров 2163. Ответов 18
Метки нет (Все метки)

Дан массив целых чисел. Выяснить, а) является ли s-й элемент массива положительным числом, б) является ли k-й элемент массива четным числом; в) какой элемент массива больше: k-й или s-й (через printf и scanf).
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
14.10.2012, 07:49
Я подобрал для вас темы с готовыми решениями и ответами на вопрос Выяснить, является ли s-й элемент массива положительным числом (C++):

Выяснить, является ли сумма элементов четвертой строки массива двузначным числом
Дан двумерный массив. Выяснить, является ли сумма элементов четвертой строки...

Является ли сумма элементов периметра матрицы положительным числом
Помогите, пожалуйста! Задача: Определить, является ли сумма элементов, которые...

Проверить, является ли k-й элемент массива чётным числом
Дан массив из n элементов. Необходимо проверить, является ли k-й элемент...

Выяснить, является ли текст числом
Дан текст. Выяснить, является ли он числом. Отрицательные числа содержат в...

Перед каждым положительным элемент массива вставить элемент с нулевым значением
6)Дан массив размера N. Перед каждым положительным элемент массива вставить...

Перед каждым положительным элементом массива вставить нулевой элемент
Задан вещественный массив размера N. Перед каждым положительным элементом...

18
qmen
9 / 9 / 2
Регистрация: 13.10.2012
Сообщений: 36
14.10.2012, 09:06 #2
а числа каким образом в массив вводятся?Пользователь сам вводит,или из файла берёт?
1
Varlos
1 / 1 / 1
Регистрация: 12.10.2012
Сообщений: 41
14.10.2012, 15:57  [ТС] #3
Через одномерные массивы, т. е. сам вводит.
0
qmen
9 / 9 / 2
Регистрация: 13.10.2012
Сообщений: 36
14.10.2012, 16:33 #4
вотъ
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
#include "stdio.h"
#include "conio.h"
int main()
{
char y;
int t[100];
int e;
do
{
y=getch();
t[e]=y-48;
 
 
e++
}
while(t!=13)
 
int k;
scanf("%d",&k);
if(a[k]>0)
printf("polojitelnoe");
else
printf("otricatelnoe");
int s;
scanf("%d",&s);
if(s%2==0)
printf("chetnoe");
else
printf("ne chetnoe");
if(s>k)
printf("s bolshe k");
else
printf("k bolshe s");
 
 
 
 
 
 
return 0;
}
1
Varlos
1 / 1 / 1
Регистрация: 12.10.2012
Сообщений: 41
14.10.2012, 18:44  [ТС] #5
Почему-то ничего не запускается, много ошибок.
0
qmen
9 / 9 / 2
Регистрация: 13.10.2012
Сообщений: 36
14.10.2012, 19:06 #6
исправил и дополнил
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
#include "stdio.h"
#include "conio.h"
int main()
{
int k;
char y;
int t[100];
int e;
do
{
y=getch();
t[e]=y-48;
 
 
e++;
}
while(t!=13);
 
 
scanf("%d",&k);
if(t[k]>0)
printf("polojitelnoe");
else
printf("otricatelnoe");
int s;
scanf("%d",&s);
if(t[s]%2==0)
printf("chetnoe");
else
printf("ne chetnoe");
if(t[s]>t[k])
printf("s bolshe k");
else
printf("k bolshe s");
 
 
 
 
 
 
return 0;
}
Добавлено через 4 минуты
что-то я сегодня туплю вот рабочий код,я проверял
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
#include "stdio.h"
#include "conio.h"
int main()
{
int k;
char y;
int t[100];
int e=0;
do
{
 
y=getch();
 
t[e]=y-48;
printf("%d",t[e]);
 
e++;
}
while(y!=13);
 
 
scanf("%d",&k);
if(t[k]>0)
printf("polojitelnoe");
else
printf("otricatelnoe");
int s;
scanf("%d",&s);
if(t[s]%2==0)
printf("chetnoe");
else
printf("ne chetnoe");
if(t[s]>t[k])
printf("s bolshe k");
else
printf("k bolshe s");
 
 
 
 
 
 
return 0;
}
1
Varlos
1 / 1 / 1
Регистрация: 12.10.2012
Сообщений: 41
16.10.2012, 07:32  [ТС] #7
А если из файла брать?
0
qmen
9 / 9 / 2
Регистрация: 13.10.2012
Сообщений: 36
16.10.2012, 18:09 #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
#include "stdio.h"
 
int main()
{
FILE * S;
FILE * M;
S=fopen("input.txt","rt");
M=fopen("output.txt","wt");
int k;
char y;
int t[100];
int e=0;
while(!feof(S))
{
 
fscanf(S,"%d",&t[e]);
 
 
e++;
}
 
 
 
scanf("%d",&k);
if(t[k]>0)
printf("polojitelnoe");
else
printf("otricatelnoe");
int s;
scanf("%d",&s);
if(t[s]%2==0)
printf("chetnoe");
else
printf("ne chetnoe");
if(t[s]>t[k])
printf("s bolshe k");
else
printf("k bolshe s");
 
 
 
 
 
 
return 0;
}
1
Varlos
1 / 1 / 1
Регистрация: 12.10.2012
Сообщений: 41
18.10.2012, 14:48  [ТС] #9
А можно попытаться сделать это задание через такой массив:

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
48
49
50
51
#include "stdafx.h"
 
#include <stdio.h>
#include <math.h>
#include <clocale>
 
 
int _tmain(int argc, _TCHAR* argv[])
{
    setlocale(LC_ALL, "Russian");
    setlocale(LC_ALL, "rus");
    
    const int size = 10;
    int a[size] = {0};
 
    printf("Введите %d значений\n", size);
 
    for (int i = 0; i < size; i = i + 1)
    {
        printf("Введите элемент №%d:", i+1);
        scanf("%d", &a[i]);
    }
    printf("Вы ввели следующие значения:\n");
 
    for (int i = 0; i < size; i = i +1)
    {
        printf("%d", a[i]);
 
        if (i == size - 1)
        {
            printf("\n");
        }
        else
        {
            printf(", ");
        }
    }
    int sum = 0;
    for (int i = 0; i < size; i = i + 1)
    {
        sum = sum + a[i];
    }
 
    printf("Сумма элементов: %d\n", sum);
 
    getchar();
    getchar();
 
 
    return 0;
}
0
qmen
9 / 9 / 2
Регистрация: 13.10.2012
Сообщений: 36
18.10.2012, 14:53 #10
ну,вы откомпилировали?
1
Varlos
1 / 1 / 1
Регистрация: 12.10.2012
Сообщений: 41
18.10.2012, 15:01  [ТС] #11
Как сделать так, чтобы размер массива вводил пользователь с проверкой ввода, используя динамические массивы, выявить ограничения на вводимые значения и не допустить ввода этих значений, составить меню пользователя из ввода массива, его обработки, вывода и выхода.
Как это можно дополнить или изменить программу?
0
qmen
9 / 9 / 2
Регистрация: 13.10.2012
Сообщений: 36
18.10.2012, 15:07 #12
после плюсика сделаю
1
Varlos
1 / 1 / 1
Регистрация: 12.10.2012
Сообщений: 41
18.10.2012, 15:09  [ТС] #13
Как сделать так, чтобы размер массива вводил пользователь с проверкой ввода, используя динамические массивы, выявить ограничения на вводимые значения и не допустить ввода этих значений, составить меню пользователя из ввода массива, его обработки, вывода и выхода.
Как это можно дополнить или изменить программу?
0
qmen
9 / 9 / 2
Регистрация: 13.10.2012
Сообщений: 36
18.10.2012, 15:15 #14
я вам столько пишу-пишу а оценки моих трудов всё нет и нет
1
Varlos
1 / 1 / 1
Регистрация: 12.10.2012
Сообщений: 41
18.10.2012, 16:10  [ТС] #15
А что за "плюсик"?
0
qmen
9 / 9 / 2
Регистрация: 13.10.2012
Сообщений: 36
18.10.2012, 16:18 #16
там внизу,+1 Спасибо

Добавлено через 1 минуту
Цитата Сообщение от Varlos Посмотреть сообщение
Как сделать так, чтобы размер массива вводил пользователь с проверкой ввода, используя динамические массивы, выявить ограничения на вводимые значения и не допустить ввода этих значений, составить меню пользователя из ввода массива, его обработки, вывода и выхода.
Как это можно дополнить или изменить программу?
вам код или алгоритм?
1
Varlos
1 / 1 / 1
Регистрация: 12.10.2012
Сообщений: 41
19.10.2012, 06:32  [ТС] #17
Лучше код.

Добавлено через 10 часов 52 минуты
Я создал динамический массив. Осталось подключить меню и выполнить задание. Как это можно сюда добавить?

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
#include "stdafx.h"
 
#include <stdio.h>
#include <math.h>
#include <clocale>
#include <memory.h>
#include <stdlib.h>
#include <time.h>
 
 
int _tmain(int argc, _TCHAR* argv[])
{
    setlocale(LC_ALL, "Russian");
    setlocale(LC_ALL, "rus");
 
    srand(time(NULL));
    
    int size = 0;
    printf("Введите размер массива: ");
    scanf("%d", &size);
    int *a = new int[size];
    memset(a, 0, size * sizeof(int));
 
    for (int i = 0; i < size; i++ /*эквивалент i = i + 1*/)
    {
        a[i] = rand() % 10;     
    }
 
    for (int i = 0; i < size; i++)
    {
        printf("%d ", a[i]);
    }
 
    delete [] a;
 
 
    getchar();
        getchar();
    return 0;
}
0
qmen
9 / 9 / 2
Регистрация: 13.10.2012
Сообщений: 36
19.10.2012, 14:10 #18
сейчас сек

Добавлено через 5 минут
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
48
49
50
51
52
53
54
55
56
#include "stdio.h"
 
int main()
{
FILE * S;
FILE * M;
S=fopen("input.txt","rt");
M=fopen("output.txt","wt");
int k;
printf("Vvod razmera massiva");
int f1;
scanf("%d",&f1);
char y;
int t[f1];
int e=0;int ew;
while(!feof(S))
{
 
fscanf(S,"%d",&ew);
if((ew>=48)&&(ew<=57))
{
ew=t[e];
}
else
{
printf("NEDOPYSTIMII SYMBOL Pod nomerom %d",e);
}
 
e++;
}
 
 
 
scanf("%d",&k);
if(t[k]>0)
printf("polojitelnoe");
else
printf("otricatelnoe");
int s;
scanf("%d",&s);
if(t[s]%2==0)
printf("chetnoe");
else
printf("ne chetnoe");
if(t[s]>t[k])
printf("s bolshe k");
else
printf("k bolshe s");
 
 
 
 
 
 
return 0;
}
Добавлено через 15 секунд
только про меню не очень понял
0
Varlos
1 / 1 / 1
Регистрация: 12.10.2012
Сообщений: 41
19.10.2012, 14:28  [ТС] #19
Я сделал. Вот такая система получается.
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
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
// ДинамическийМассив.cpp: определяет точку входа для консольного приложения.
//
 
#include "stdafx.h"
 
#include <stdio.h>
#include <math.h>
#include <clocale>
#include <memory.h>
#include <stdlib.h>
#include <time.h>
 
 
int _tmain(int argc, _TCHAR* argv[])
{
    setlocale(LC_ALL, "Russian");
    setlocale(LC_ALL, "rus");
 
    srand(time(NULL));
    
    int size = 0;
    printf("Введите размер массива: ");
    scanf("%d", &size);
 
    int *a = new int[size];
    memset(a, 0, size * sizeof(int));
 
    for (int i = 0; i < size; i++ /*эквивалент i = i + 1*/)
    {
        a[i] = rand() % 10;     
    }
 
    printf("Исходный массив:\n ");
    for (int i = 0; i < size; i++)
    {
        printf("%d ", a[i]);
    }
 
    int s = 0, k = 0;
    float root = 0;
    int menu = 0;
    
 
        do
        {
            printf("\n1. Ввести данные s:\n");
            printf("2. Ввести данные k:\n");
            printf("3. Сравнить значения k и s:\n");
                printf("0. Выход\n");
 
                scanf("%d", &menu);
 
                switch(menu)
            {
                case 1:
                    printf("Ввести число:\n");
                    scanf("%d",&k);
                    if(a[k] > 0)
                    {
                        printf("(%d) Положительное\n",a[k]);
                    }
                    else
                    {
                        printf("(%d) Отрицательное\n", a[k]);
                    }
                    break;
                case 2:
                    printf("Ввести число:\n");
                    scanf("%d",&s);
                        if(a[s]%2 == 0)
                        {
                            printf("(%d) Четное\n", a[s]);
                        }
                        else
                        {
                            printf("(%d) Не четное\n", a[s]);
                        }
 
                    break;
                case 3:
                    printf("Сравнить эти числа:\n");
                        if(a[s] > a[k])
                        {
                            printf("s(%d) больше k(%d)\n", a[s], a[k]);
                        }
                        else
                        {
                            printf("k(%d) меньше s(%d)\n", a[s], a[k]);
                        }
                    break;
                case 0:
                    printf("Выход\n");
                    break;
                default:
                    printf("Неверный пункт меню!\n");
                }
        } while (menu != 0);
 
 
    delete [] a;
 
 
    return 0;
}
0
19.10.2012, 14:28
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
19.10.2012, 14:28
Привет! Вот еще темы с решениями:

Перед каждым положительным элементом массива вставить элемент с нулевым значением
Дан массив размера N. Перед каждым положительным элементом массива вставить...

Найти минимальный элемент массива и сумму элементов, расположенных между первым и последним положительным
Помогите пожалуйста, не выходит каменная чаша.... В одномерном массиве,...

Ко всем положительным элементам массива прибавить первый элемент, а из нулевых вычесть заданное число
Всем привет. Ребят помогите срочно. Не могу написать простенькую программу. Дан...

Определить является ли сумма элементов массива четным числом
Здравствуйте, снова мне нужна 2 программа хотя нет еще 2, если вам надоело...


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

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

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2018, vBulletin Solutions, Inc.
Рейтинг@Mail.ru