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

С++ для начинающих

Войти
Регистрация
Восстановить пароль
 
Alexandra555
0 / 0 / 0
Регистрация: 17.05.2011
Сообщений: 33
#1

решите(массивы)! - C++

18.05.2011, 14:36. Просмотров 954. Ответов 12
Метки нет (Все метки)

Решите плиз задачки! Очень надо

1) Даны вещественные массивы A[5][6], B[6]. Определить значения
вещественного массива C[6] по правилу:
C[j]=сумме j-го столбца массива A при B[j]>0
C[j]=0 при B[j]=0
C[j]=A[0][j]+A[4][j] при B[j]<0
Значение переменной i изменяется от 0 до 5.

2)Даны целые массивы X[10], Y[10]. Каждый массив преобразовать так, чтобы его компоненты располагались в обратном порядке, т.е. получить массивы: [10]={X[9],.....X[0]}, Y[10]={Y[9],...Y[0]}, компоненты которых пронумерованы также от 0 до 9.
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
-comrade-
355 / 356 / 42
Регистрация: 11.06.2010
Сообщений: 703
18.05.2011, 15:11     решите(массивы)! #2
Цитата Сообщение от Alexandra555 Посмотреть сообщение
2)Даны целые массивы X[10], Y[10]. Каждый массив преобразовать так, чтобы его компоненты располагались в обратном порядке, т.е. получить массивы: [10]={X[9],.....X[0]}, Y[10]={Y[9],...Y[0]}, компоненты которых пронумерованы также от 0 до 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
#include <iostream>
 
using namespace std;
 
void Func(int *X,int n,char h)
{
    int i; 
    cout<<"  Array "<<h<<": ";
    for(i=0;i<n;i++) cin>>X[i];    
    for(i=0;i<n/2;i++) swap(X[i],X[n-i-1]);
    cout<<"  New array "<<h<<": ";
    for(i=0;i<n;i++) cout<<X[i]<<" ";
}
 
int main()
{
    int n;
    
    cout<<"  Size X=";
    cin>>n;
    int *X=new int [n];
    Func(X,n,'X');
    delete[] X;
    cout<<endl;
    
    cout<<"  Size Y=";
    cin>>n;
    int *Y=new int [n];
    Func(Y,n,'Y');
    delete[] Y;
    cout<<endl;
    
    system("pause");
    return 1;
}
t1maaa
4 / 4 / 0
Регистрация: 07.01.2011
Сообщений: 15
18.05.2011, 15:20     решите(массивы)! #3
1) Даны вещественные массивы A[5][6], B[6]. Определить значения
вещественного массива C[6] по правилу:
C[j]=сумме j-го столбца массива A при B[j]>0
C[j]=0 при B[j]=0
C[j]=A[0][j]+A[4][j] при B[j]<0
Значение переменной i изменяется от 0 до 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
57
58
59
60
61
62
63
64
65
66
67
68
69
#include <iostream>
#include <iomanip>
#include <Windows.h>
 
using namespace std;
 
int main()
{
SetConsoleCP(1251);
SetConsoleOutputCP(1251);
//объявление массивов и переменных
int a[5][6], b[6], c[6];
int i,j;
 
//ввод данных в массив a
cout <<"Ввод массива a:\n";
for (i=0; i<5; i++)
    for (j=0; j<6; j++)
    {
        cout <<"Введите элемент массива a["<<i<<"]["<<j<<"]=";
        cin >> a[i][j];
    }
 
//ввод данных в массив b
cout <<"Ввод массива b:\n";
for (i=0; i<6; i++)
{
    cout <<"Введите элемент массива b["<<i<<"]=";
    cin >> b[i];
}
 
//расчет массива c
for (j=0; j<6; j++)     //организация цикла по строкам массива
{
    if(b[j]>0)
    {
        int s=0;
        for(i=0; i<5; i++)
        {
            s+=a[i][j];
            if (i==4)
                c[j]=s;
        }
    }
    if (b[j]==0)
        c[j]=0;
    
    if(b[j]<0)
        c[j]=a[0][j]+a[4][j];
}
/*вывод на экран исходных массивов a,b и полученного c */
cout <<"Исходный массив a:\n";
for(i=0; i<5; i++)
{
    for(j=0; j<6; j++)
        cout <<setw(6)<<a[i][j];
    cout<<endl;
}
cout <<"Исходный массив b:\n";
for (i=0; i<6; i++)
    cout <<setw(6)<<b[i];
cout<<endl;
 
cout << "Полученный массив c:\n";
for (i=0; i<6; i++)
    cout <<setw(6)<<c[i];
cout<<endl;
return 0;
}
Alexandra555
0 / 0 / 0
Регистрация: 17.05.2011
Сообщений: 33
18.05.2011, 19:03  [ТС]     решите(массивы)! #4
t1maaa, -comrade-,

33 system("pause");
Что это такое, когда компилирую(в Borland C++) пишет ошибку? ((

А вообще, СПАСИБО ВАМ ОГРОМНОЕ!!!
t1maaa
4 / 4 / 0
Регистрация: 07.01.2011
Сообщений: 15
18.05.2011, 19:27     решите(массивы)! #5
это чтобы окошко не закрывалось после выполнения программы)
в принципе, если у тебя оно не закрывается и так, можешь удалить)
dampir_sanek
150 / 148 / 21
Регистрация: 09.02.2010
Сообщений: 407
18.05.2011, 20:00     решите(массивы)! #6
Цитата Сообщение от Alexandra555 Посмотреть сообщение
t1maaa, -comrade-,

33 system("pause");
Что это такое, когда компилирую(в Borland C++) пишет ошибку? ((
замените на
C
1
getchar();
Alexandra555
0 / 0 / 0
Регистрация: 17.05.2011
Сообщений: 33
19.05.2011, 19:26  [ТС]     решите(массивы)! #7
Цитата Сообщение от -comrade- Посмотреть сообщение
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
#include <iostream>
 
using namespace std;
 
void Func(int *X,int n,char h)
{
    int i; 
    cout<<"  Array "<<h<<": ";
    for(i=0;i<n;i++) cin>>X[i];    
    for(i=0;i<n/2;i++) swap(X[i],X[n-i-1]);
    cout<<"  New array "<<h<<": ";
    for(i=0;i<n;i++) cout<<X[i]<<" ";
}
 
int main()
{
    int n;
    
    cout<<"  Size X=";
    cin>>n;
    int *X=new int [n];
    Func(X,n,'X');
    delete[] X;
    cout<<endl;
    
    cout<<"  Size Y=";
    cin>>n;
    int *Y=new int [n];
    Func(Y,n,'Y');
    delete[] Y;
    cout<<endl;
    
    system("pause");
    return 1;
}
Почему когда компилирую for(i=0;i<n/2;i++) swap(X[i],X[n-i-1]); мне пишет ошибку? Может кто подскажет?
-comrade-
355 / 356 / 42
Регистрация: 11.06.2010
Сообщений: 703
19.05.2011, 20:43     решите(массивы)! #8
Alexandra555, какую ошибку?
OstapBender
583 / 521 / 35
Регистрация: 22.03.2011
Сообщений: 1,585
19.05.2011, 20:44     решите(массивы)! #9
#include <algorithm> попробуйте
dampir_sanek
150 / 148 / 21
Регистрация: 09.02.2010
Сообщений: 407
19.05.2011, 20:48     решите(массивы)! #10
Цитата Сообщение от Alexandra555 Посмотреть сообщение
Почему когда компилирую for(i=0;i<n/2;i++) swap(X[i],X[n-i-1]); мне пишет ошибку? Может кто подскажет?
потому что нужно писать std::swap. Либо писать свою функцию swap.
-comrade-
355 / 356 / 42
Регистрация: 11.06.2010
Сообщений: 703
19.05.2011, 20:52     решите(массивы)! #11
Можно еще swap заменить на:
C++
1
2
3
4
5
{ 
    int a=X[i];
    X[i]=X[n-i-1];
    X[n-i-1]=a;
}
t1maaa
4 / 4 / 0
Регистрация: 07.01.2011
Сообщений: 15
19.05.2011, 21:10     решите(массивы)! #12
dampir_sanek, а разве
C++
1
using namespace std;
не избавляет от надобности писать std::?
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
19.05.2011, 21:48     решите(массивы)!
Еще ссылки по теме:

C++ решите програмки на C++
C++ решите 2 задачи
решите задание C++
Решите за меня C++
C++ решите 2 задачи.

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

Или воспользуйтесь поиском по форуму:
Alexandra555
0 / 0 / 0
Регистрация: 17.05.2011
Сообщений: 33
19.05.2011, 21:48  [ТС]     решите(массивы)! #13
Цитата Сообщение от -comrade- Посмотреть сообщение
Alexandra555, какую ошибку?
Error 1.cpp 8: Function 'swap' should have a prototype

Что это вообще? Как сделать чтоб все работало?

Добавлено через 9 минут
Цитата Сообщение от -comrade- Посмотреть сообщение
Можно еще swap заменить на:
C++
1
2
3
4
5
{ 
    int a=X[i];
    X[i]=X[n-i-1];
    X[n-i-1]=a;
}
СПАСИБО!!! Все работает
Yandex
Объявления
19.05.2011, 21:48     решите(массивы)!
Ответ Создать тему
Опции темы

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