Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > C/C++ программирование > Общие вопросы C/C++
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 27.11.2011, 17:40   #1
famous9221
 
Регистрация: 24.11.2011
Сообщений: 8
По умолчанию не могу понять в чём ошибка

Дан вещественный массив С[5][6].Определить значения вещественного массива D[5] по следующему правилу: D[i]=сумме i-й строки в массиве С,если С[i][5]>0 и D[i]=0 в противном случае.Значение переменной i изменяется от 0 до 4.
Код:
#include <iostream.h>
#include <conio.h>
#include <stdio.h>
void main()
{
//объявление массивов и переменных
float c[5][6],d[5];
int i,j;
//ввод данных в массив с
cout << "Vvod massiva c:\n";
for (i=0;i<5;i++)
for (j=0;j<6;j++)
{
cout <<"Vvedite element massiva c[" << i <<"][" << j << "]=";
cin >> c[i][j];
}
//расчёт массива d
for (i=0;i<5;i++) // организация цикла по строкам массива
for (j=0;j<6;j++)
{
D[i]=0;
 if (c[i][5] >0)
 for(j=0;j<6;j++)
 D[i]+=C[i][j];;
}
else 
{
/* вывод на экран исходного массива с и получение массива d */
cout << "Исходный массив с:\n";
for (i=0;i<5;i++)
{
for(j=0;j<6;j++)
cout << c[i][j];
cout << endl;
}
cout << "Полученный массив d:\n";
for(i=0;i<5;i++)
cout << d[i];
}

Последний раз редактировалось Stilet; 27.11.2011 в 18:01.
famous9221 вне форума Ответить с цитированием
Старый 27.11.2011, 17:53   #2
Сыроежка
Форумчанин
 
Регистрация: 01.07.2011
Сообщений: 423
По умолчанию

Цитата:
Сообщение от famous9221 Посмотреть сообщение
Дан вещественный массив С[5][6].Определить значения вещественного массива D[5] по следующему правилу: D[i]=сумме i-й строки в массиве С,если С[i][5]>0 и D[i]=0 в противном случае.Значение переменной i изменяется от 0 до 4.

//расчёт массива d
for (i=0;i<5;i++) // организация цикла по строкам массива
for (j=0;j<6;j++)
{
D[i]=0;
if (c[i][5] >0)
for(j=0;j<6;j++)
D[i]+=C[i][j];;
}
else
{
/* вывод на экран исходного массива с и получение массива d */
cout << "Исходный массив с:\n";
for (i=0;i<5;i++)
{
for(j=0;j<6;j++)
cout << c[i][j];
cout << endl;
}
cout << "Полученный массив d:\n";
for(i=0;i<5;i++)
cout << d[i];
}
У вас неправильный код начинается с того места, с которого я привел отрывок из вашей программы. Вы внутри цикла по переменной j выполняете другой цикл, используя ту же самую переменную j. Тем самым поведение циклов ине такое, какое вы ожидаете. Кроме того предложение с else не соответсвует никакому if, так как предыдущий if и указанный else расположены в разных блоках кода.
Со мной можно встретиться на www.clipper.borda.ru
Сыроежка вне форума Ответить с цитированием
Старый 27.11.2011, 19:28   #3
famous9221
 
Регистрация: 24.11.2011
Сообщений: 8
По умолчанию

можете написать правильное решение данной задачи?
famous9221 вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
В чём ошибка..никак не могу понять Лися Общие вопросы по Java, Java SE, Kotlin 1 16.10.2011 00:50
не могу понять в чём причина salwator Паскаль, Turbo Pascal, PascalABC.NET 4 13.06.2011 11:25
понять в чём ошибка(((( Nastenova Помощь студентам 4 19.05.2010 23:06
строки в СИ, не могу понять в чём ошибка( viksen_ Помощь студентам 0 25.04.2010 16:59
IBExpert, не могу понять что делаю не так! в чём проблема.... katia0017 SQL, базы данных 10 15.01.2010 18:33