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

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

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

Восстановить пароль

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

Ответ
 
Опции темы Поиск в этой теме
Старый 29.12.2009, 01:50   #1
Expert
<=программи.RU.ю=>
Пользователь
 
Аватар для Expert
 
Регистрация: 24.05.2009
Сообщений: 10
Печаль Некие траблы с задачками!

Не получаются некоторые задачки:
1)В Одномерном массиве,состоящем из 14 целых элементов,элементы заданы с помощью инициализации.Найти количество отрицательных элементов массива,расположенных между 2 и 10 элементами массива.

Код:
Код:
const int n=14;
int mas[n]={1,2,3,4,5,6,7,8,9,10,11,12,13,14};
float count=1;

for (int i=0;i<n;i++)

//=================Proverka massiva
int kolvo=0,min=2,max=10;
for (i=0;i<n;i++)
if (mas[i]<0 && mas[i]>min && mas[i]<max) kolvo=mas[i]+kolvo;
//=================Vivod massiva
cout<<kolvo;

cin.get ();
cin.get ();
}
Выдаёт неизвестную мне ошибку,вот здесь:int kolvo=0,min=2,max=10;



2.В одномерном массиве,состоящем из 12 целых элементов,значения элементов массива вводятся с клав-ры.Все отрицательные элементы заменить их квадратами и подсчитать количество замен.

код:
Код:
const int n=12;
int mas[n];
for (int i=0;i<n;i++)
//=================Vvod massiva
 {
 cout<<"Vvedite elementi massiva"<<endl;
 cin>>mas[i];
 }
//=================Vivod massiva
int kolvo=1,kvadrat;
for (i=0;i<n;i++)

if (mas[i]<0) {kolvo=kolvo+mas[i];
	       kvadrat=mas[i]*mas[i];}
 cout<<"Kvadrat:"<<kvadrat<<endl;
 cout<<"Kol-vo zamen:"<<kolvo;


 cin.get ();
 cin.get ();
ПС:Мне нужно,чтобы вывилось всё сразу,а не при нажатии Энтера!

3.В одномерном массиве,состоящем из 12 целых элементов,элементы заданы случайным образом в интервале -30..+150.Найти сумму элементов массива,больших минимального элемента.
ПС:Не знаю как включить счётчик.
Expert вне форума Ответить с цитированием
Старый 29.12.2009, 13:34   #2
Sweta
Форумчанин
 
Регистрация: 22.11.2007
Сообщений: 664
По умолчанию

Ой что-то Вы намудрили.
1)
Код:
Найти количество отрицательных элементов массива,расположенных между 2 и 10 элементами массива.
В Вашем массиве нет отрицательных элементов.
Зачем Вам просматривать все элементы, если задан конкретный интервал?
Код:
int kolvo=0;
for (i=2;i<10;i++) 
if (mas[i]<0) 
kolvo+=kolvo;
А ругается быстрее всего на эту строку
Код:
 for (i=0;i<n;i++)
т.к. i -объявлена у Вас локально в предыдущем блоке for. Или объявите ее для всей функции, или каждый раз.
2)
Код:
for (i=0;i<n;i++)

if (mas[i]<0) {kolvo=kolvo+mas[i];
	       kvadrat=mas[i]*mas[i];}
 cout<<"Kvadrat:"<<kvadrat<<endl;
 cout<<"Kol-vo zamen:"<<kolvo;
Вывод сообщения
Код:
cout<<"Kvadrat:"<<kvadrat<<endl;
поставьте в условие. Кроме того, Вы неправильно считаете количество. Нужно суммировать не с элементом массива, а увеличивать Сч kolvo на 1. Кроме всего этого элементу массива необходимо присвоить вычисленное значение kvadrat.
3) Присваиваете какой-то переменной min значение первого элемента массива.
Просматриваете все элементы массива, сравнивая их с минимальным, если элемент массива меньше меньше, то min присваиваете его значение. Пройдя весь массив найдете минимальное.
Далее снова проходим весь массив и если элемент массива больше минимального добавляем к сумме.
Неприятности приходят и уходят, а жизнь продолжается!

Последний раз редактировалось Sweta; 29.12.2009 в 13:45.
Sweta вне форума Ответить с цитированием
Старый 04.01.2010, 18:38   #3
Expert
<=программи.RU.ю=>
Пользователь
 
Аватар для Expert
 
Регистрация: 24.05.2009
Сообщений: 10
По умолчанию

Всё равно во второй задаче,выводится только квадрат последнего числа.
В одномерном массиве,состоящем из 12 целых элементов,значения элементов массива вводятся с клав-ры.Все отрицательные элементы заменить их квадратами и подсчитать количество замен.

Код:
const int n=12;
int mas[n];
for (int i=0;i<n;i++)
//=================Vvod massiva
 {
 cout<<"Vvedite elementi massiva"<<endl;
 cin>>mas[i];
 }
//=================Vivod massiva
int kolvo=0,kvadrat;
for (i=0;i<n;i++)
if (mas[i]<0) { kolvo=kolvo+1;
		kvadrat=mas[i]*mas[i];}
 cout<<"Kvadrat:"<<kvadrat<<endl;
 cout<<"Kol-vo zamen:"<<kolvo;


 cin.get ();
 cin.get ();
}
Expert вне форума Ответить с цитированием
Старый 04.01.2010, 20:13   #4
Expert
<=программи.RU.ю=>
Пользователь
 
Аватар для Expert
 
Регистрация: 24.05.2009
Сообщений: 10
По умолчанию

Помогите пожалуйста с выводом элементов массива возведенных в квадрат
Expert вне форума Ответить с цитированием
Старый 04.01.2010, 20:50   #5
olik83
Пользователь
 
Регистрация: 20.09.2009
Сообщений: 17
По умолчанию

Цитата:
Сообщение от Expert Посмотреть сообщение
Помогите пожалуйста с выводом элементов массива возведенных в квадрат
так может стоит написать так? kvadrat+=mas[i]*mas[i]

и тогда квадраты будут суммироваться при каждом прохождении цикла
olik83 вне форума Ответить с цитированием
Старый 04.01.2010, 21:44   #6
Expert
<=программи.RU.ю=>
Пользователь
 
Аватар для Expert
 
Регистрация: 24.05.2009
Сообщений: 10
Радость

Цитата:
Сообщение от olik83 Посмотреть сообщение
так может стоит написать так? kvadrat+=mas[i]*mas[i]

и тогда квадраты будут суммироваться при каждом прохождении цикла
Мне не нужна сумма.Мне надо,чтобы сразу вывелись все отрицательные элементы в квадрате.Заранее спс!
Expert вне форума Ответить с цитированием
Старый 04.01.2010, 22:14   #7
profi
Участник клуба Подтвердите свой е-майл
 
Регистрация: 19.11.2007
Сообщений: 1,022
По умолчанию

2. Задача

Код:
int n = 12, kol = 0;

for (i = 0; i < n; i++)
    if (mas[i] < 0) 
       {
           cout <<  mas[i] << "-";

           mas[i]=sqr(mas[i]);

           cout <<  mas[i] << "\n";

           kol++;
      }

cout << "Kol. zamen: " << kol;

Последний раз редактировалось profi; 04.01.2010 в 22:18.
profi вне форума Ответить с цитированием
Старый 04.01.2010, 22:25   #8
Expert
<=программи.RU.ю=>
Пользователь
 
Аватар для Expert
 
Регистрация: 24.05.2009
Сообщений: 10
Радость

Цитата:
Сообщение от profi Посмотреть сообщение
2. Задача

Код:
int n = 12, kol = 0;

for (i = 0; i < n; i++)
    if (mas[i] < 0) 
       {
           cout <<  mas[i] << "-";

           mas[i]=sqr(mas[i]);

           cout <<  mas[i] << "\n";

           kol++;
      }

cout << "Kol. zamen: " << kol;
Спасибо огромное,не подскажите директиву для sqr?
Expert вне форума Ответить с цитированием
Старый 04.01.2010, 22:28   #9
profi
Участник клуба Подтвердите свой е-майл
 
Регистрация: 19.11.2007
Сообщений: 1,022
По умолчанию

#include <math.h>
profi вне форума Ответить с цитированием
Ответ


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



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
траблы с кодом на C -COREY- Помощь студентам 1 12.12.2009 21:50
Траблы с видеообеспечением PA3HOE Компьютерное железо 2 18.11.2009 22:44
Траблы с рестором из трея AgressiveBehavior Общие вопросы Delphi 4 16.09.2009 12:17
Траблы с richedit Stanislav Общие вопросы Delphi 6 23.01.2009 00:25
Траблы с инетом Romanus Свободное общение 2 09.08.2007 11:25