Форум С++

 

Ответить на сообщение

Вернуться к теме

Вы отвечаете на сообщение:

Автор: cheops   (13.12.2007 в 07:52)
Вообще 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;
}


Ваше имя:

Пароль:

Цитировать

Используйте тэги для выделения текста:
Код: [code][/code]
Жирный: [b][/b]
Наклонный: [i][/i]
URL: [url][/url]

Сообщение:

Прикрепить: