Имя пользователя:
Пароль:  
Помощь | Регистрация | Забыли пароль?  | Правила  

Компьютерный форум OSzone.net » Программирование, базы данных и автоматизация действий » Программирование и базы данных » C/C++ - проверить решение

Ответить
Настройки темы
C/C++ - проверить решение

Новый участник


Сообщения: 4
Благодарности: 0

Профиль | Отправить PM | Цитировать


Изменения
Автор: Drongo
Дата: 27-11-2011
Описание: Пожалуйста используйте тег кода [code] - #
Даны вещественные массивы A[14] S[14].Для каждого массива определить количество элементов предшествующих первому отрицательному элементу массива.

Код: Выделить весь код
#include <iostream.h>
#include <iomanip.h>
// прототипы функций 
void inputmas (int [14][14],char);
int schet (int[14][14]);
void outrez (int [14][14],char ,int);
void main()
{
//объявление массивов и переменных
int a[14],s[14],kola,kold;
inputmas(a,'a');// в функцию в качестве аргументов передается
inputmas(s,'s');// массив и его имя (символ в апострофах)

kola=schet(a);// вызов функции
kold=schet(s);
outrez (a,'a',kola);
outrez (s,'s',kold);
}
// определение функции ввода массива input()
void inputmas ( int x[14][14],char name)
{
 int i,j;
cout <<"Вводим массив" << name << endl;
for (i=0;i<14;i++)
for (j=0;j<14;j++)
{
cout << "Введите элемент массива " << name << "[" << i << "] << "[ << j << "]=";
cin >> x[i][j];
  }
 }
//определение расчётной функции schet()
int schet (int m[14][14])
{
int i,kol,min;
min=m[0];// первоначально за min примем 1-й элемент
kol=0; // количество элементов,предшествующих минимальному
for(i=1;i<14;i++) 
for(j=1;j<14;j++)
 // нашли в массиве элемент, значение которого меньше значения принятого за минимум
{
 min =m[i][j]; // заменили значение минимума
 kol=i; // количество элементов, предшествующих минимальному
}
 return(kol); // передача значения в точку вызова данной функции
}
// определение функции вывода массива outrez()
void outrez (int x[14][14],char name, int kol)
{
int i,j;
cout << "Исходный массив " << name << ":" << endl;
for (i=0;i<14;i++)
for (j=0;j<14;j++)
cout << setw (5) << x [i][j];
cout << " Наименьшему элементу в массиве" << name << "предшествует" << kol << элементов \n";
}

проверьте пожалуйста текст программы на ошибки, если таковые имеются напишите.

Отправлено: 00:25, 27-11-2011

 

Аватара для Drongo

Будем жить, Маэстро...


Сообщения: 6694
Благодарности: 1393

Профиль | Сайт | Отправить PM | Цитировать


Цитата Famous9221:
первому отрицательному »
Если первое отрицательное число, то сделай условие
Код: Выделить весь код
...
//определение расчётной функции schet()
int schet (int m[14][14])
{
   int kol = 0;
...
   if(m[i][j] < 0)
      kol++; // Вычисляем кол-во чисел до первого отрицательного числа

   return kol; 
}
...

-------
Правильная постановка вопроса свидетельствует о некотором знакомстве с делом.
3нание бывает двух видов. Мы сами знаем предмет — или же знаем, где найти о нём сведения.
[Quick Killer 3.0 Final [OSZone.net]] | [Quick Killer 3.0 Final [SafeZone.cc]] | [Парсер логов Gmer] | [Парсер логов AVZ]

http://tools.oszone.net/Drongo/Userbar/SafeZone_cc.gif


Отправлено: 02:39, 27-11-2011 | #2



Для отключения данного рекламного блока вам необходимо зарегистрироваться или войти с учетной записью социальной сети.

Если же вы забыли свой пароль на форуме, то воспользуйтесь данной ссылкой для восстановления пароля.


Пользователь


Сообщения: 107
Благодарности: 9

Профиль | Цитировать


Famous9221, код программы, который ты выложил, не соответствует заданному вопросу. Если тебе всё же надо определить количество элементов предшествующих первому отрицательному элементу массива, делай примерно так:

Код: Выделить весь код
int schet (int m[14][14])
{
int i, kol;
kol=0; // количество элементов,предшествующих первому отрицательному!
for(i=0; i<14; i++) 
for(j=0; j<14; j++)
{
if (m[i][j] >= 0) kol++ else {if (kol=0) cout << "0" else cout << kol;}; // т.е. если текущий элемент массива
// неотрицателен, то увеличиваем наш счётчик kol на единицу,
// а если же он отрицателен, то если это первый элемент (и он уже отрицательный), то выводим сразу ответ (т.е. 0), а если не первый, то выводим нужный ответ (kol)
}
 return(0); // передача значения в точку вызова данной функции
}
Вызвать эту функцию для двух массивов по очереди.

Последний раз редактировалось Sidewalker, 18-07-2020 в 17:48. Причина: При выкладывании кода используй тег кода!!!


Отправлено: 15:54, 27-11-2011 | #3


Аватара для Drongo

Будем жить, Маэстро...


Сообщения: 6694
Благодарности: 1393

Профиль | Сайт | Отправить PM | Цитировать


Sidewalker, Да-да, ошибочное условие. Поздно писал, уже голова не варила как оказалось.
Цитата Sidewalker:
а во вторых, пиши мне в личное сообщение, напишу весь. »
А во-вторых, вопрос публичный, хочешь помочь - пиши здесь.

-------
Правильная постановка вопроса свидетельствует о некотором знакомстве с делом.
3нание бывает двух видов. Мы сами знаем предмет — или же знаем, где найти о нём сведения.
[Quick Killer 3.0 Final [OSZone.net]] | [Quick Killer 3.0 Final [SafeZone.cc]] | [Парсер логов Gmer] | [Парсер логов AVZ]

http://tools.oszone.net/Drongo/Userbar/SafeZone_cc.gif


Отправлено: 17:52, 27-11-2011 | #4


Пользователь


Сообщения: 107
Благодарности: 9

Профиль | Цитировать


А может ему не надо полностью?

Famous9221, скажи что-нибудь.

Отправлено: 19:45, 28-11-2011 | #5



Компьютерный форум OSzone.net » Программирование, базы данных и автоматизация действий » Программирование и базы данных » C/C++ - проверить решение

Участник сейчас на форуме Участник сейчас на форуме Участник вне форума Участник вне форума Автор темы Автор темы Шапка темы Сообщение прикреплено

Похожие темы
Название темы Автор Информация о форуме Ответов Последнее сообщение
C/C++ - проверить решение задачи и закончить её Famous9221 Программирование и базы данных 0 26-11-2011 23:13
Wireless - Посоветуйте WI-FI решение. krec Сетевое оборудование 2 29-06-2009 10:39
FreeBSD - Инженерное решение... xolod. Общий по FreeBSD 1 28-05-2009 23:23
C/C++ - Решение дифуравнения на С++ gustav21 Программирование и базы данных 4 22-09-2008 20:41
Терминальное решение Baboon Сетевые технологии 2 06-10-2003 17:13




 
Переход