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

Массивы не понятно.Проверьте ошибки! - C++

Восстановить пароль Регистрация
 
Alexandra555
0 / 0 / 0
Регистрация: 17.05.2011
Сообщений: 33
17.05.2011, 21:36     Массивы не понятно.Проверьте ошибки! #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
    #include <iostream.h>
#include <iomanip.h>
void main()
{
//объявление массивов и переменных
float 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 (i=0; i<6; i++)     //организация цикла по строкам массива
 
 if(b[j]>0)
 {
        int s=0;
        for(int i=0; i<5; i++)
                s+=a[i][j];
        c[i]=s;
 }
 else
 {
 if(b[j]==0)
 c[j]=0;
 
     else
     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)<<a[i][j];
 
cout << "Полученный массив c:\n";
for (i=0; i<6; i++)
cout <<setw(6)<<b[i];
}
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
17.05.2011, 21:36     Массивы не понятно.Проверьте ошибки!
Посмотрите здесь:

C++ консольное приложение ,проверьте ошибки
Проверьте прогу на ошибки C++
проверьте на ошибки C++
Проверьте код на ошибки C++
Проверьте ошибки пожалуйста в коде C++
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
MILAN
 Аватар для MILAN
883 / 777 / 86
Регистрация: 21.02.2009
Сообщений: 1,722
17.05.2011, 23:50     Массивы не понятно.Проверьте ошибки! #2
Alexandra555, скомпилируйте и сами все увидите.
Alexandra555
0 / 0 / 0
Регистрация: 17.05.2011
Сообщений: 33
18.05.2011, 12:44  [ТС]     Массивы не понятно.Проверьте ошибки! #3
MILAN, Не вижу! Может подскажите что исправить и как?
t1maaa
4 / 4 / 0
Регистрация: 07.01.2011
Сообщений: 15
18.05.2011, 15:18     Массивы не понятно.Проверьте ошибки! #4
Ну по большому счету код правильный, но куча ошибок из-за невнимательности) и else лишние)

Рабочий вариант:
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;
}
Yandex
Объявления
18.05.2011, 15:18     Массивы не понятно.Проверьте ошибки!
Ответ Создать тему
Опции темы

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