Вопрос № 78725:
Здравствуйте эксперты!Вопрос такой:имеется двумерный массив,инициализированный случайными числами,например Arr[10][10].Нужно сделать следующее:
взять значение произвольного члена этого массива и сложить его со значениями всех рядом стоящих ч...Вопрос № 78747: Здравствуйте эксперты! Скажите как преобразовать число в строку в Visual Studio,а также какой
загодовочный файл при этом подключать?В Builder'e имеется функция IntToStr,а вот в студии
её нет.Заранее спасибо....
Вопрос № 78.725
Здравствуйте эксперты!Вопрос такой:имеется двумерный массив,инициализированный случайными числами,например Arr[10][10].Нужно сделать следующее:
взять значение произвольного члена этого массива и сложить его со значениями всех рядом стоящих членов.Какие будут соображения?
Заранее благодарен.
Отправлен: 17.03.2007, 17:23
Вопрос задал: Hunter20 (статус: Посетитель)
Всего ответов: 3 Мини-форум вопроса >>> (сообщений: 0)
Отвечает: Егоров Павел Сергеевич
Здравствуйте, Hunter20!
Когда берешь значиние, то вы знаете индекс это элента в массиве. Т.е. возьмем 3Х3.
1 2 3
4 5 6
7 8 9
Пускай у нас есть число 5, это, соответсвенно, элемент массива Mas[1][1]... теперь просто использую +1 и -1 по столбцам и строкам, складываешь элементы! К примеру так,
for(int i=MyElemIn1-1; i<=MyElemIn1+1; i++)
{
for(int j=MyElemIn2-1; j<=MyElemIn2+1; j++)
{
if(i<>MyElemIn1 && j<>MyElemIn2)
Mas[i][j]+=Mas[MyElemIn1][MyElemIn2];
}
}
MyElemIn1,MyElemIn2 - индекс элемента (произвольного члена)
Ответ отправил: Егоров Павел Сергеевич (статус: 1-ый класс)
Ответ отправлен: 18.03.2007, 02:05
Отвечает: ramok
Здравствуйте, Hunter20!
код в приложении.
1 2 3 4 5
Приложение:
Ответ отправил: ramok (статус: Практикант)
Ответ отправлен: 18.03.2007, 16:35 Оценка за ответ: 5 Комментарий оценки: Огромное спасибо
Отвечает: Ilkras
Здравствуйте, Hunter20!
cоображение первое - хорошо бы определить, что такое стоящие рядом.
Предположим, что матрица представляет клетчатую бумагу и мы будем складывать значения элементов имеющих общую грань, тогда для случая внутренней (не пограничной) клетки с координатами i и j имеем S = A[i-1][j]+A[i][j-1]+A[i+1][j]+A[i][j+1]
Ответ отправил: Ilkras (статус: 5-ый класс)
Ответ отправлен: 18.03.2007, 22:56
Вопрос № 78.747
Здравствуйте эксперты! Скажите как преобразовать число в строку в Visual Studio,а также какой
загодовочный файл при этом подключать?В Builder'e имеется функция IntToStr,а вот в студии
её нет.Заранее спасибо.
Отправлен: 17.03.2007, 21:25
Вопрос задал: Hunter20 (статус: Посетитель)
Всего ответов: 4 Мини-форум вопроса >>> (сообщений: 1)
Отвечает: Dark Daskin
Здравствуйте, Hunter20!
Используйте _itoa(int value, char *string, int radix), где value - что преобразовывать, string - куда, radix - система счисления, обычно 10.
Подробности здесь: http://msdn2.microsoft.com/en-us/library/yakksftt(VS.80).aspx
--------- Драконы наступают!
Ответ отправил: Dark Daskin (статус: 1-ый класс)
Ответ отправлен: 17.03.2007, 22:22 Оценка за ответ: 5
Отвечает: kool
Здравствуйте, Hunter20!
Используй функцию itoa();
Можно конечно и sprintf() и т.д.
Удачи!
--------- I am.
Ответ отправил: kool (статус: Студент)
Ответ отправлен: 18.03.2007, 08:32 Оценка за ответ: 5
Отвечает: Ilkras
Здравствуйте, Hunter20!
хорошо помогает atoi(): int i = stoi((char * )string); заголовочный файл "stdlib.h"
можно также воспользоваться sscanf или sscanf_s заголовочный файл "stdio.h"
Ответ отправил: Ilkras (статус: 5-ый класс)
Ответ отправлен: 18.03.2007, 22:51
Отвечает: V1s0r
Здравствуйте, Hunter20!
А причём здесь Visual Studio?
Есть функция, входящая в стандартную библиотеку C.
Название - itoa, преобразует число в строку в указанной системе счисления.
#include <cstdlib>
char* itoa (int value, char* str, int CC);
Ответ отправил: V1s0r (статус: 3-ий класс)
Ответ отправлен: 18.03.2007, 23:06