Форум программистов, компьютерный форум CyberForum.ru

Несколько заданий на массивы - C++

Восстановить пароль Регистрация
 
VaLenOK007
 Аватар для VaLenOK007
4 / 4 / 3
Регистрация: 12.04.2011
Сообщений: 125
17.05.2011, 20:51     Несколько заданий на массивы #1
Привет программная братия. Кому будет скучно, хелпните с задачками, а то я что-то подвис на них

1.Задан массив X из N элементов, определить его последний нулевой элемент, вычислить сумму дробных положительных элементов и вывести индексы целых, которые делятся на 5 без остатка

2.Задана матрица Y размерами MнаN. Определить минимальный элемент k строки. найти сумму отрицательных элементов

3.Заданы одномерные массивы An Bm Cl. Вычислить для каждого квадрат max элемента, каждый положительный элемент поделить на 10, Посчитать число преобразованных элементов

Заранее благодарю, с меня куча плюсов
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
17.05.2011, 20:51     Несколько заданий на массивы
Посмотрите здесь:

Несколько упражнений на массивы и строки C++
C++ Несколько заданий по массивам
C++ Массивы и матрицы(таких заданий еще не было)
несколько простых заданий C++
C++ решение заданий на C++
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
-comrade-
355 / 356 / 42
Регистрация: 11.06.2010
Сообщений: 703
17.05.2011, 23:24     Несколько заданий на массивы #2
Цитата Сообщение от VaLenOK007 Посмотреть сообщение
1.Задан массив X из N элементов, определить его последний нулевой элемент, вычислить сумму дробных положительных элементов и вывести индексы целых, которые делятся на 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
#include <iostream>
#include <math.h>
 
using namespace std;
 
int main()
{    
    setlocale(0,"");
    int i,n;
    cout<<"  N=";
    cin>>n;
    double *X=new double [n];
    cout<<"  Введите элементы: ";
    for(i=0;i<n;i++) cin>>X[i];
    
    int i_last_zero=100;
    for(i=n-1;i>=0;i--) if(X[i]==0) i_last_zero=i+1;
    if(i_last_zero!=100) cout<<"  Последний нулевой элемент имеет индекс: "<<i_last_zero<<endl;
    else                 cout<<"  Нeт нулевых элементов."<<endl;
    
    
    double S=0;
    for(i=0;i<n;i++) if(ceil(X[i])-X[i] && X[i]>0) S+=X[i]; 
    cout<<"  Cуммa дробных положительных элементов: "<<S<<endl;
    
    bool re=false;
    for(i=0;i<n;i++) if(fmod(X[i],5)==0) { true; break; }
    if(re)
    {
        cout<<"  Идексы целых элементов, которые делятся на 5 без остатка: ";
        for(i=0;i<n;i++) if(fmod(X[i],5)==0)  cout<<i+1<<" ";
    }
    else cout<<"  Нет целых элементов, которые делятся на 5 без остатка.";
    delete []X;
    cout<<endl;
    system("pause");
    return 1;
}
VaLenOK007
 Аватар для VaLenOK007
4 / 4 / 3
Регистрация: 12.04.2011
Сообщений: 125
17.05.2011, 23:44  [ТС]     Несколько заданий на массивы #3
Во я тупой... Благодарю, реализация очень хорошая....
MILAN
 Аватар для MILAN
883 / 777 / 86
Регистрация: 21.02.2009
Сообщений: 1,722
17.05.2011, 23:44     Несколько заданий на массивы #4
Цитата Сообщение от VaLenOK007 Посмотреть сообщение
2.Задана матрица Y размерами MнаN. Определить минимальный элемент k строки. найти сумму отрицательных элементов
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
#include <stdio.h>
#include <conio.h>
#include <malloc.h>
#include <time.h>
int main()
{
    srand(unsigned(time(NULL)));
    int **mat;
    int N,M,i,j,k,sum_neg=0,min;
    printf("Enter M -> ");
    scanf("%d",&M);
    printf("Enter N -> ");
    scanf("%d",&N);
    mat=(int**)malloc(M*sizeof(int*));
    printf("Matrix:\n");
    for(i=0; i<M; i++)
    {
        mat[i]=(int*)malloc(N*sizeof(int));
        for(j=0; j<N; j++)
        {
            mat[i][j]=rand()%9-2;
            printf("%d  ",mat[i][j]);
            if(mat[i][j]<0)
            {
                sum_neg+=mat[i][j];
            }
        }
       printf("\n");
    }
    printf("Enter k -> ");
    scanf("%d",&k);
    min=mat[k-1][0];
    for(j=0; j<N; j++)
    {
        if(mat[k-1][j]<min)
        {
            min=mat[k-1][j];
        }
    }
    printf("Sum_neg = %d\nMin str %d -> %d",sum_neg,k,min);
    for(i=0; i<N; i++)
    {
        free(mat[i]);
    }
    free(mat);
    getch();
    return 0;
}
VaLenOK007
 Аватар для VaLenOK007
4 / 4 / 3
Регистрация: 12.04.2011
Сообщений: 125
17.05.2011, 23:50  [ТС]     Несколько заданий на массивы #5
MILAN ты stdlib.h потерял))) Но за программу +100500
MILAN
 Аватар для MILAN
883 / 777 / 86
Регистрация: 21.02.2009
Сообщений: 1,722
17.05.2011, 23:53     Несколько заданий на массивы #6
Цитата Сообщение от VaLenOK007 Посмотреть сообщение
Посчитать число преобразованных элементов
Нужно посчитать все елементы, или отдельно по массивам?
VaLenOK007
 Аватар для VaLenOK007
4 / 4 / 3
Регистрация: 12.04.2011
Сообщений: 125
17.05.2011, 23:55  [ТС]     Несколько заданий на массивы #7
Все элементы которые изменялись, вроде так, препод задание очень невтянто разъяснил, ну накрайняк я подредакчу
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
18.05.2011, 00:24     Несколько заданий на массивы
Еще ссылки по теме:

C++ Массивы. Задан массив,содержащий несколько нулевых элементов. Сжать его выбросив эти элементы.
Массивы Функций. DirectX 11. Отобразить несколько моделей C++
Как несколько раз использовать метод добавления элементов в массивы, если все значения разные C++

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

Или воспользуйтесь поиском по форуму:
MILAN
 Аватар для MILAN
883 / 777 / 86
Регистрация: 21.02.2009
Сообщений: 1,722
18.05.2011, 00:24     Несколько заданий на массивы #8
Цитата Сообщение от VaLenOK007 Посмотреть сообщение
3.Заданы одномерные массивы An Bm Cl. Вычислить для каждого квадрат max элемента, каждый положительный элемент поделить на 10
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
#include <stdio.h>
#include <conio.h>
#include <malloc.h>
#include <math.h>
#include <stdlib.h>
#include <time.h>
int* input(int *arr, int size);
void output(int *arr, int size);
void new_output(int *arr, int size);
int find_max(int *arr, int size);
int main()
{
    srand(unsigned(time(NULL)));
    int *A, *B, *C;
    int n,m,l;
    printf("Enter size of array A -> ");
    scanf("%d",&n);
    A=(int*)malloc(n*sizeof(int));
    printf("Enter size of array B -> ");
    scanf("%d",&m);
    B=(int*)malloc(m*sizeof(int));
    printf("Enter size of array C -> ");
    scanf("%d",&l);
    C=(int*)malloc(l*sizeof(int));
    input(A,n);
    input(B,m);
    input(C,l);
    printf("\nArray A -> ");
    output(A,n);
    printf("\nArray B -> ");
    output(B,m);
    printf("\nArray C -> ");
    output(C,l);
    printf("\nMax in array A: %d -> %.0f",find_max(A,n),pow(find_max(A,n),2));
    printf("\nMax in array B: %d -> %.0f",find_max(B,m),pow(find_max(B,m),2));
    printf("\nMax in array C: %d -> %.0f",find_max(C,l),pow(find_max(C,l),2));
    printf("\n\nNew Array A -> ");
    new_output(A,n);
    printf("\nNew Array B -> ");
    new_output(B,m);
    printf("\nNew Array C -> ");
    new_output(C,l);
    free(A);
    free(B);
    free(C);
    getch();
    return 0;
}
// input arrays
int* input(int *arr, int size)
{
    int i;
    for(i=0; i<size; i++)
    {
        arr[i]=rand()%25-5;
    }
   return arr;
}
 
// output arrays
void output(int *arr, int size)
{
    int i;
    for(i=0; i<size; i++)
    {
        printf("%d  ",arr[i]);
    }
}
 
// find max
int find_max(int *arr, int size)
{
    int max=arr[0],i;
    for(i=0; i<size; i++)
    {
        if(max<arr[i])
        {
            max=arr[i];
        }
    }
   return max;
}
 
// new output
void new_output(int *arr, int size)
{
    int i;
    for(i=0; i<size; i++)
    {
        if(arr[i]>0)
        {
           printf("%.2f ",(float)arr[i]/10);
        }
        else
        {
            printf("%d ",arr[i]);
        }
    }
}
Yandex
Объявления
18.05.2011, 00:24     Несколько заданий на массивы
Ответ Создать тему
Опции темы

Текущее время: 06:55. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru