|
|
|
|
|
для: Oazis
(13.12.2007 в 07:17)
| | Вообще printf() это чистый C, в C++ лучше ориентироваться на библиотеку <iostream>
#include <stdlib.h>
#include <stdio.h>
#include <vector>
using namespace std;
int main()
{
// Строка для временных значений
char input[80];
// Вектор с целочисленными элементами
vector<int> coll, result;
int count = 0;
printf("%s", "Введите размер матрицы N: ");
// Читаем введённую строку
fgets(input, 80, stdin);
// Преобразуем её в целое число
count = atoi(input);
try
{
// Заполняем коллекцию
int temp = 0;
for(int j = 0; j < count; j++)
{
for(int i = 0; i < count; i++)
{
printf("Введите элемент (%d,%d): ",j, i);
// Читаем введённую строку
fgets(input, 80, stdin);
// Преобразуем её в целое число
temp = atoi(input);
// Помещаем число в коллекцию
coll.push_back(temp);
}
}
// Выводим только что введённую матрицу
printf("%s", "Вы ввели следующую матрицу:\n");
for(int j = 0; j < count; j++)
{
for(int i = 0; i < count; i++)
{
printf("%d ", coll[j*count + i]);
}
printf("%s", "\n");
}
// Ищем максимальные элементы в строках
for(int j = 0; j < count; j++)
{
int max = coll[j*count];
for(int i = 0; i < count; i++)
{
if(max < coll[j*count + i]) max = coll[j*count + i];
}
result.push_back(max);
}
// Выводим результат
printf("%s", "\nМаксимальные элементы в строках матрицы:\n");
for(int i = 0; i < result.size(); i++)
{
printf("%d\n", result[i]);
}
}
catch(bad_alloc)
{
printf("%s", "Не удалось выделить память под коллекцию\n");
}
return 0;
} |
| |
|
|
|
|
|
|
|
для: cheops
(13.12.2007 в 06:52)
| | A можно эту программу перевести на printf :-) | |
|
|
|
|
|
|
|
для: Oazis
(12.12.2007 в 09:34)
| | Исчерпать память компьютер :))) Правда на пример этой программы не очень удобно - придётся вручную забивать миллиарды значений. Однако, если коллекция заполняется автоматически и происходит сбой (например, цикл зацикливается) - этого можно легко добиться. | |
|
|
|
|
|
|
|
для: Oazis
(12.12.2007 в 04:43)
| | А что нужно сделать чтобы получился вывод "Не удалось выделить память под коллекцию" | |
|
|
|
|
|
|
|
для: cheops
(11.12.2007 в 07:47)
| | sorry Всё работает спасибо | |
|
|
|
|
|
|
|
для: Oazis
(11.12.2007 в 06:29)
| | Хм... ну вот же программа пишет - "Вы ввели следующую матрицу" | |
|
|
|
|
 152 Кб |
|
|
для: cheops
(10.12.2007 в 11:37)
| | вот смотрите | |
|
|
|
|
|
|
|
для: Oazis
(10.12.2007 в 08:33)
| | Хм... странно у меня выдаёт - можете прекрепить результат выполнения программы? | |
|
|
|
|
|
|
|
для: cheops
(10.12.2007 в 08:18)
| | всё идет но почему программа не выдает на экран саму матрицу??? | |
|
|
|
|
|
|
|
для: Oazis
(10.12.2007 в 06:05)
| | Откомпилировал в C++ Visual Studio Express 2005 - всё работает. Вы как проект создаёте? File->New->Project->General->Empty Project? Или используете CLR-проекты? Если у вас классическая C++ программа используйте File->New->Project->General->Empty Project - добавляйте в него файл. В этом случае будет использоваться стандартное окружение программы, которое позволит вам создавать и отлаживать кросплатформенный код, который будет одинаково работать как под Windows, так и под Linux/UNIX/Mac. | |
|
|
|
|