Вопрос № 174681: Доброго времени суток! Необходимо написать программку на C++ (желательно в VS 2008): из элементов массива А сформировать массив D той же размерности по правилу: первые 10 элементов Di = Ai*i, остальные Di = Ai-i. Заранее благодарен....
Вопрос № 174684: Здравствуйте!Помогите,пожалуйста,с задачей! Вычислить значение функции f(x) в заданной точке с помощью интерполирования кубическим сплайном . Граничные условия: S**(X0)=A; и S*(Xn)=B //знак * -знак производной// Во входном файле :...
Вопрос № 174686: Уважаемые эксперты помогите решить задачу: Подсчитать количество слов меньше 4 символов, разделенных одним или несколькими пробелами и состоящие из латинских букв....
Вопрос № 174689: Доброго времени суток! Необходимо написать программку на C++ (желательно, чтобы работала на VS 2008). Задача: найти номера всех элементов массива n[10] = {1,43,23,77,0,34,11,8,6,77}, равных максимальному элементу этого массива. Заранее благода...
Вопрос № 174693: Уважаемые эксперты помогите решить задачу: Вид массива (полученный массив напечатать) 4 3 2 1 3 2 1 0 2 1 0 0 1 0 0 0 В каждом столбце найти наименьший элемент, затем найти их произведение. Помогите пожалуйста, а то я не очень ...
Вопрос № 174698: Добрый вечер Уважаемые эксперты. Пожалуйста помогите со следующей задачей: Организовать поиск введенного с клавиатуры файла в введенной с клавиатуры директории и ее поддиректории. (С использованием функций findfirst и findnext). То, ...
Вопрос № 174702: Доброго времени суток! Есть задачка: вычислить сумму Z = 1 + 2 + 3 + .... Вычисления прекратить, когда значение Z превысит заданное значение A. Понимаю не сложная, но не могу понять, что вообще требуется. Нужно написать программку на C++. Заран...
Вопрос № 174722: Здравствуйте Уважаемые Эксперты! Помогите пожалуйста: необходимо перегрузить операции разности и векторного произведения. Заранее благодарен!...
Вопрос № 174681:
Доброго времени суток! Необходимо написать программку на C++ (желательно в VS 2008): из элементов массива А сформировать массив D той же размерности по правилу: первые 10 элементов Di = Ai*i, остальные Di = Ai-i. Заранее благодарен.
Отвечает AMV007, 3-й класс :
Здравствуйте, starcode.
[CODE] #include <windows.h>
#define MAX_ARRAY_EL 10000 int _tmain(int argc, _TCHAR* argv[]) { int ElementCount=0; int TempElement=0; int *A=new int[MAX_ARRAY_EL]; // массив A int *D=new int[MAX_ARRAY_EL]; // массив D printf("Please input array A, no more %d elements, to end input type any symbol and enter\n",MAX_ARRAY_EL); while(scanf("%d",&A[ElementCount++])>0);
Ответ отправил: Micren, Бакалавр
Ответ отправлен: 29.11.2009, 19:38
Как сказать этому эксперту "спасибо"?
Отправить SMS
#thank 257072
на номер 1151 (Россия) |
Еще номера »
Вам помогли? Пожалуйста, поблагодарите эксперта за это!
Отвечает LfiN, 9-й класс :
Здравствуйте, starcode. Вот простейший код с подробными комментариями
Код:
#include <iostream> #include <ctime> using namespace std;
const k=1000; void main(){ int i, n; int A[k],B[k];
locale::global(locale("russian_russia.866"));
// Чтобы печатать русскими буквами srand(time(0)); //Так как массив будет заполняться случайными числами, то эта функция необходима, //чтобы при каждом запуске генерировались разные цифры wcout<<L"Ведите размерность массива: "; cin>>n; for(i=0;i<n;i++){ //Заполняем и выводим элементы массива A A[i] = rand()%100; //так генерируются случайные числа cout<<"A["<<i<<
"]="<<A[i]<<endl; }
for(i=0;i<10;i++) B[i]=A[i]*i; //заполняем первые 10 элементов массива В for(i=10;i<n;i++) B[i]=A[i]-i; //заполняем остальные элементы массива и
for(i=0;i<n;i++){ //выводим элементы массива B cout<<"B["<<i<<"]="<<B[i]<<endl; }
}
Ответ отправил: LfiN, 9-й класс
Ответ отправлен: 29.11.2009, 23:03
Как сказать этому эксперту "спасибо"?
Отправить SMS
#thank 257087
на номер 1151 (Россия) |
Еще номера »
Вам помогли? Пожалуйста, поблагодарите эксперта за это!
Вопрос № 174684:
Здравствуйте!Помогите,пожалуйста,с задачей! Вычислить значение функции f(x) в заданной точке с помощью интерполирования кубическим сплайном . Граничные условия: S**(X0)=A; и S*(Xn)=B //знак * -знак производной//
Во входном файле :
n - размер таблицы X - вектор значения аргумента в порядке возрастания Y - вектор значения функции в заданной точке A,B - константы граничных условий XX-заданная точка
В выходном файле :
YY- вычисленное значение функции IER-
сообщение об ошибке: IER=0 - ошибок нет IER=1 - если нарушено возрастание IER=2 - XX не принадлежит отрезку интерполирования (X0,Xn) IER=3- если N < 3
Отправлен: 29.11.2009, 20:01
Вопрос задал: РАИ, Посетитель
Всего ответов: 1 Страница вопроса »
Ответ отправил: Dr_Andrew, Старший модератор
Ответ отправлен: 02.12.2009, 10:26 Казахстан, Алма-Ата Организация: Казахский научный центр карантинных и зоонозных инфекций Адрес сайта:Медицинские программы для Linux ICQ # 256452186
Как сказать этому эксперту "спасибо"?
Отправить SMS
#thank 257190
на номер 1151 (Россия) |
Еще номера »
Вам помогли? Пожалуйста, поблагодарите эксперта за это!
Вопрос № 174686:
Уважаемые эксперты помогите решить задачу: Подсчитать количество слов меньше 4 символов, разделенных одним или несколькими пробелами и состоящие из латинских букв.
Отвечает Boriss, Академик :
Здравствуйте, vovan595. В приложении код решения, написанный в VS 2008. Пример окна программы:
Код:
Input of string with length upto 80: asdfhg h jjk jhkhkh sj jjj j Count of words with length upto 4 equals 5 Press any key ...
Я считал, что в состав слов
могут входить любые символы. Если хотите только буквы, то точнее сформулируйте, что делать, если внутри слова встретилась, например, цифра
Что не понятно будет - спрашивайте.
Приложение:
----- Вывод - то место в тексте, где вы устали думать
Ответ отправил: Boriss, Академик
Ответ отправлен: 29.11.2009, 22:41
Оценка ответа: 5
Как сказать этому эксперту "спасибо"?
Отправить SMS
#thank 257086
на номер 1151 (Россия) |
Еще номера »
Вам помогли? Пожалуйста, поблагодарите эксперта за это!
Вопрос № 174689:
Доброго времени суток! Необходимо написать программку на C++ (желательно, чтобы работала на VS 2008). Задача: найти номера всех элементов массива n[10] = {1,43,23,77,0,34,11,8,6,77}, равных максимальному элементу этого массива. Заранее благодарен.
Ответ отправил: Micren, Бакалавр
Ответ отправлен: 29.11.2009, 21:05
Как сказать этому эксперту "спасибо"?
Отправить SMS
#thank 257078
на номер 1151 (Россия) |
Еще номера »
Вам помогли? Пожалуйста, поблагодарите эксперта за это!
Отвечает LfiN, 9-й класс :
Здравствуйте, starcode. Еще как вариант можно рассмотреть следующую программу
Код:
#include <iostream> using namespace std;
const k=10; void main(){ int i, max; int n[k] = {1,43,23,77,0,34,11,8,6,77}; // Пропишем матрицу
for(i=0;i<k;i++) //Выводим
элементы массива cout<<"n["<<i<<"]="<<n[i]<<endl;
max=n[0]; for(i=1;i<k;i++) //Определяем максимальный элемент if (n[i]>max) max=n[i];
cout<<"Nomera maksimal'nyh elementov massiva: "; for(i=0;i<k;i++) //выводим номера всех максимальных элементов if(n[i]==max)cout<<i<<",";
}
Ответ отправил: LfiN, 9-й класс
Ответ отправлен: 29.11.2009, 22:37
Оценка ответа: 5
Как сказать этому эксперту "спасибо"?
Отправить SMS
#thank 257084
на номер 1151 (Россия) |
Еще номера »
Вам помогли? Пожалуйста, поблагодарите эксперта за это!
Вопрос № 174693:
Уважаемые эксперты помогите решить задачу: Вид массива (полученный массив напечатать) 4 3 2 1 3 2 1 0 2 1 0 0 1 0 0 0 В каждом столбце найти наименьший элемент, затем найти их произведение. Помогите пожалуйста, а то я не очень разбираюсь в массивах..ю
Отвечает LfiN, 9-й класс :
Здравствуйте, marina595. Так как у данной матрицы соответствующие столбцы и строки равны, то транспонирование матрицы делать не обязательно в целях сделать строку столбцом. Но в данной программе транспонирование реализовано. Программа написана и проверена на Microsoft Visual C++ 6.0. Комментарии в программе.
Код:
#include <iostream> using namespace std;
const k=4; void main(){ int i,j,min,proiz; int a[k][k]= { 4,3,2,1, 3,2,1,0, 2,1,0,0, 1,0,0,0 }; int at[k][k];
locale::global(locale("russian_russia.866")); // Чтобы печатать русскими буквами
wcout<<L"Данная матрица:"<<endl; for(i=0;i<k;i++){ //выводим данную матрицу for(j=0;
j<k;j++){ cout<<a[i][j]<<" "; if(j==3)cout<<endl; //Печатаем каждую строчку с новой строки } }
for(i=0;i<k;i++){ //Транспонируем матрицу, то есть меняем местами строки со столбцами for(j=0;j<k;j++){ at[j][i]=a[i][j]; } }
min=at[0][0]; proiz=1; for(i=0;i<k;i++){ //Определяем минимальный элемент for(j=0;j<k;j++){ if (at[i][j]<min) min=at[i][j]; if(j==3){ proiz*=min; //высчитываем произведение элементов каждой строки транспонированной матрицы wcout<<L"Наименьший элемент "<<i<<L" столбца: "<&l
t;min<<endl; } } }
Ответ отправил: LfiN, 9-й класс
Ответ отправлен: 30.11.2009, 00:42
Оценка ответа: 5
Как сказать этому эксперту "спасибо"?
Отправить SMS
#thank 257088
на номер 1151 (Россия) |
Еще номера »
Вам помогли? Пожалуйста, поблагодарите эксперта за это!
Вопрос № 174698:
Добрый вечер Уважаемые эксперты. Пожалуйста помогите со следующей задачей: Организовать поиск введенного с клавиатуры файла в введенной с клавиатуры директории и ее поддиректории. (С использованием функций findfirst и findnext). То, что удалось реализовать в приложении. программа ищет файл только в каталоге с одного слова. Например - C:\WORK\*, а C:\Program files\* не понимает. И обрывается на пробеле. Не понимаю в чем здесь проблема. А также не знаю как организовать поиск по поддиректориям.
Заранее благодарен за помощь.
Отвечает amnick, 6-й класс :
Здравствуйте, Dimon4ik.
Судя про приведенному Вами исходнику, программа должна работать под DOS и компилироваться в Borland C++ (например, в MSVC++ 6.0 функции поиска и структуры другие). Приведенный мной код (см. приложение) может компилироваться как в MSVC++ 6.0, так и в Borland C++ (я проверял с версией 3.1). Но под DOS допустимые длины путей (_MAX_PATH определено как 80) меньше, чем под Windows, поэтому при попытке найти глубоко расположенный файл программа может повиснуть. При этом версия, скомпилированная
в MSVC++ 6.0, работает нормально. Попытка переопределить _MAX_PATH на большее значение к успеху не привела. (Тут надо действовать по-другому — при входе в подкаталог, переопределять текущий каталог и выполнять поиск от него, а не от первоначально заданного пользователем, как в приведенной программе.) Пример (версия для win32):
Path where to search: d:\windows File to search: hosts
File 'hosts' has been found in 'd:\windows\system32\drivers\etc\' Press [Enter] to exit...
Версия, скомпилированная в Borland C++ 3.1, при этих же входных данных у меня виснет (из-за длинных путей где-то в Microsoft.NET). Но, например, нормально находит bc.exe, начиная от C:\
Path where to search: c:\ File to search: bc.exe c:\ c:\DOS\ c:\UTILS\ c:\ASM\ c:\BC\ c:\BC\BGI\ c:\BC\BIN\
File
'bc.exe' has been found in 'c:\BC\BIN\' Press [Enter] to exit...
Кроме того, Borland C++ 3.1 ничего не знает о длинных именах. Поэтому, даже если Ваша версия DOS понимает длинные имена, о таких именах, в частности, о пробелах в имени, лучше забыть.
Как работает программа. После запуска запрашиваются имена каталога и файла для поиска. Каталог можно вводить как с конечным '\
', так и без него (добавляется при необходимости в программе). Имя файла должно быть именно именем файла, маски не поддерживаются. Затем вызывается функция поиска, которая рекурсивно обходит подкаталоги, пока искомый файл не найден. Функция ищет только первое вхождение файла. Если нужно найти все файлы с заданным именем (их может быть несколько в разных подкаталогах), то надо
if( search( subdir, filename ) == 0 ) return 0; // файл был найден в каком-то подкаталоге
заменить на
search(
subdir, filename );
а также или убрать сообщение "File not found", или устанавливать какой-либо флаг "найден/не найден".
Проверка на метку тома введена для гарантии (метка тома может встретиться только один раз в корневом каталоге диска).
Успехов!
Приложение:
Ответ отправил: amnick, 6-й класс
Ответ отправлен: 30.11.2009, 17:12
Оценка ответа: 5 Комментарий к оценке: Отличная программа! Большое спасибо! Я пошел разбираться.
Как сказать этому эксперту "спасибо"?
Отправить SMS
#thank 257121
на номер 1151 (Россия) |
Еще номера »
Вам помогли? Пожалуйста, поблагодарите эксперта за это!
Вопрос № 174702:
Доброго времени суток! Есть задачка: вычислить сумму Z = 1 + 2 + 3 + .... Вычисления прекратить, когда значение Z превысит заданное значение A. Понимаю не сложная, но не могу понять, что вообще требуется. Нужно написать программку на C++. Заранее благодарен.
A=0;//Сумма ряда первоначально равна 0 i=1; while(Z>A){ //программа будет выполняться до тех пор, пока сумма рzда не достигнет число Z A+=i; cout<<"A("<<i<<")="<<A<<endl; i++; } wcout<<L"Сумма ряда Z = 1 + 2 + 3 + ...:"<<A<<endl;; }
Ответ отправил: LfiN, 9-й класс
Ответ отправлен: 30.11.2009, 09:15
Как сказать этому эксперту "спасибо"?
Отправить SMS
#thank 257096
на номер 1151 (Россия) |
Еще номера »
Вам помогли? Пожалуйста, поблагодарите эксперта за это!
Отвечает vladisslav, 5-й класс :
Здравствуйте, starcode! Вот вариант решения на c++; Из C++ тут только cin/cout.