|
Главная | Правила | Регистрация | Дневники | Справка | Пользователи | Календарь | Поиск | Сообщения за день | Все разделы прочитаны |
|
Опции темы | Опции просмотра |
08.05.2013, 18:01 | #1 (permalink) |
Новичок
Регистрация: 08.05.2013
Сообщений: 10
Сказал(а) спасибо: 0
Поблагодарили 0 раз(а) в 0 сообщениях
Репутация: 10
|
Помогите, пожалуйста, создать код на С++
Одно из двух хотя бы? 1) Дана последовательность из n вещественных чисел.Вычислить количество нулевых элементов последовательности и произведение отрицательных элементов. Если вычисление невозможно, выдать об этом сообщение с указанием причины 2)Составить программу для вычисления y по заданной формуле. Проверить работу программы на контрольных примерах (тестах): в нормальных условиях, при граничных значениях входных данных и в исключительных ситуациях. y= ax^3 если x>a (ax^3+b)^2 если x<a ab/sqrt(x)+b если x=a |
08.05.2013, 18:01 | |
Helpmaster
Member
Регистрация: 08.03.2016
Сообщений: 0
|
Посмотрите данные обсуждения, в них скорее всего есть важные ответы Помогите создать мини дрель Помогите создать таблицу исполнения |
13.05.2013, 05:11 | #2 (permalink) |
Member
Регистрация: 27.02.2010
Сообщений: 659
Сказал(а) спасибо: 0
Поблагодарили 0 раз(а) в 0 сообщениях
Репутация: 1312
|
1)
Код:
#include <iostream> using namespace std; int main() { int n=5, c=0; float *a = new float[n], m=1; a[0] = 0; a[1] = 0; a[2]= -3.3; a[3] = 2; a[4] = -10; for(int i=0; i<n; i++) { if(a[i]==0){ c++; } else if(a[i]<0){ m*=a[i]; } } cout << c << " " << m << endl; delete[] a; return 0; } |
13.05.2013, 12:44 | #4 (permalink) |
Специалист
Регистрация: 27.08.2008
Адрес: Санкт-Петербург
Сообщений: 27,807
Сказал(а) спасибо: 340
Поблагодарили 583 раз(а) в 208 сообщениях
Репутация: 113184
|
Андрей, тут, как я понял, табулировать не нужно. Просто вводишь с консоли х, а программа выдает у. Что требуется, так это прописать обход ситуаций извлечения корня из отрицательного числа и нуля в знаменателе.
|
13.05.2013, 13:29 | #5 (permalink) |
Новичок
Регистрация: 08.05.2013
Сообщений: 10
Сказал(а) спасибо: 0
Поблагодарили 0 раз(а) в 0 сообщениях
Репутация: 10
|
Владимир, верно. Ввод с консоли.Теперь и я понял суть вопроса.
|
Ads | |
Member
Регистрация: 31.10.2006
Сообщений: 40200
Записей в дневнике: 0
Сказал(а) спасибо: 0
Поблагодарили 0 раз(а) в 0 сообщениях
Репутация: 55070
|
13.05.2013, 20:47 | #6 (permalink) |
Member
Регистрация: 27.02.2010
Сообщений: 659
Сказал(а) спасибо: 0
Поблагодарили 0 раз(а) в 0 сообщениях
Репутация: 1312
|
ясно
2) вот одна версия Код:
#include <iostream> #include <cmath> using namespace std; int main() { float x, y, a, b; cout << "write x="; cin >> x; cout << "write a="; cin >> a; if(x>a) { y = a*pow(x, 3); } else if(x<a) { cout << "write b="; cin >> b; y = pow(a*pow(x, 3)+b, 2); } else { if(x>0) { cout << "write b="; cin >> b; y=a*b/sqrt(x)+b; } else { cout << endl << "Wrong x. x have to be > 0" << endl; return 1; } } cout << endl << "y=" << y << endl; return 0; } Код:
#include <iostream> #include <cmath> using namespace std; int main() { float x, y, a, b; cout << "write x="; cin >> x; cout << "write a="; cin >> a; if(x>a) { y = a*pow(x, 3); } else if(x<a) { cout << "write b="; cin >> b; y = pow(a*pow(x, 3)+b, 2); } else { cout << "write b="; cin >> b; if(x>0) { y=a*b/sqrt(x)+b; } else if(x<0) { y=a*b/sqrt(abs(x)); cout << y <<"*i + " << b << endl; return 0; } else { cout << "Infinity"; return 0; } } cout << endl << "y=" << y << endl; return 0; } |
14.05.2013, 13:15 | #7 (permalink) |
Новичок
Регистрация: 08.05.2013
Сообщений: 10
Сказал(а) спасибо: 0
Поблагодарили 0 раз(а) в 0 сообщениях
Репутация: 10
|
Спасибо, народ!!!реально выручили.
А вот здесь задание- найти отношение минимального элемента к максимальному среди элементов, предшествующих первому нулевому.Сделал отношение, предшествующее первому положительному. Как по-умному указать поиск первого нулевого? Еще одним флагом, что ли? #include "stdafx.h" #include <iostream> #include <locale.h> using namespace std; int _tmain(int argc, _TCHAR* argv[]) { setlocale(LC_ALL,"Russian"); int n; cout << "\nВведите количество элементов последовательности n = "; cin >> n; float a; float min = 999; float max = -999; int fl = 0; int i = 0; while (i < n) { cout << "\nВведите элемент: "; cin >> a; if (a < min) min = a; if (fl < 1) { if (a <= 0) { if (a > max) max = a; } else fl = 1; } i++; } // cout << "\nmin = " << min; // cout << "\nmax = " << max; // cout << "\nfl = " << fl; if (fl < 1) cout << "\nНет положительных элементов.\n"; else { if (-999 == max) cout << "\nНет элементов перед первым положительным.\n"; else { if (max == 0) cout << "\nДеление на 0!\n"; else { float rel = min/max; cout << "\nОтношение минимального элемента к максимальному среди предшествующих первому положительному: " << rel << "\n"; } } } system("PAUSE"); return 0; } |
Ads | |
Member
Регистрация: 31.10.2006
Сообщений: 40200
Записей в дневнике: 0
Сказал(а) спасибо: 0
Поблагодарили 0 раз(а) в 0 сообщениях
Репутация: 55070
|
Опции темы | |
Опции просмотра | |
|
|