Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > C/C++ программирование > Общие вопросы C/C++
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 27.08.2009, 22:03   #11
pu4koff
Старожил
 
Аватар для pu4koff
 
Регистрация: 22.05.2007
Сообщений: 9,065
По умолчанию

Ну дописывайте вывод на экран в столбик:
Код:
for (int k = 0; k < i; k += 5)
{
  cout << a[k] << '\t'
         << a[k+1] << '\t'
         << a[k+2] << '\t'
         << a[k+3] << '\t'
         << a[k+4] << '\t' << endl;
}
Только в случае, когда количество чисел не кратно 5-ти, в конце выйдет на экран "мусор". Думайте как исправить. Ну и вместо табуляции можно использовать "setw" (в яндексе есть ответ на вопрос: что это и как испольовать?)

и среднее арифметическое:
Код:
int sum = 0;
for (int k = 0; k < i; ++k)
{
  sum += a[k];
}
// Вывод среднего арифметического
cout << sum/i << endl;
Только тут всегда будет выдаваться целое значение. Думайте как вывести реальное среднее арифметическое, чтобы дробная часть не отрезалась
pu4koff вне форума Ответить с цитированием
Старый 30.08.2009, 18:51   #12
DikyAV
Новичок
Джуниор
 
Регистрация: 30.08.2009
Сообщений: 1
По умолчанию

Код:
#include "stdafx.h"
#include<iostream>
#include<iomanip>

int _tmain(int argc, _TCHAR* argv[])
{

long* mass=0;
int i, k, max=1;
std::cout<<"Input quantity  of elements";
std::cin>>max ;
mass= new long [max];
for (i=1;;++i)
{

std::cout<<"input "<<i<<" number, for exit press <0> \n";
std::cin>>k;
if (k==0) 
           {
           k=i;
	       break;
           }

*(mass+i)=k;

}
for (i=1;i<k;i++)
{
	std::cout<<std::setw(10)<<*(mass+i);
		if(i%5==0)std::cout<<std::endl;
}
	return 0;
}
Среднее сам посчитай или улучшай - выход по 0

Последний раз редактировалось MaTBeu; 30.08.2009 в 19:08.
DikyAV вне форума Ответить с цитированием
Старый 31.08.2009, 15:11   #13
Syltan
Заблокирован
 
Регистрация: 27.08.2009
Сообщений: 569
По умолчанию

Если написать код вот так, то происходит просто бесконечный ввод, вывода нет никакого, если вставить ваш код, мусора на экран не вижу, что его исправить. Что нужно, где изменить в этом коде?

Код:
#include <iostream>
using namespace std;


int main()
{
  int *a = new int[5];
  int *b;
  int new_item;
  int i = 0;
  int size = 5; // Размер массива
  for(;;)
  {
    cin >> new_item;
    // Если ввели что-то неправильное, то прекращаем ввод
    if (cin.fail())
      break;
    if (i >= size) // Новый элемент не умещается в массив
    {
      size += 5;
      b = new int[size];
      memcpy(b,a, size*sizeof(int)); // Копируем значения из массива а в массив b
      delete[] a; // Удаляем массив a
      a = b; // в а прописываем указатель на массив b
    }
    a[i] = new_item; // Записываем новое значение в массив
    ++i;
  }
  // Тут уже в массив a записано i чисел
  // а памяти выделено под size элементов
  // size кратно пяти всегда
  // Среднее уже самостоятельно найдете надеюсь

  // Ну и в конце не забываем
  // освобождать память из под массива

  for (int k = 0; k < i; k += 5)
{
  cout << a[k] << '\t'
         << a[k+1] << '\t'
         << a[k+2] << '\t'
         << a[k+3] << '\t'
         << a[k+4] << '\t' << endl;
}
int sum = 0;
for (int k = 0; k < i; ++k)
{
  sum += a[k];
}
// Вывод среднего арифметического
cout << sum/i << endl;

  delete[] a;
}

Последний раз редактировалось Syltan; 31.08.2009 в 15:41.
Syltan вне форума Ответить с цитированием
Старый 31.08.2009, 16:04   #14
pu4koff
Старожил
 
Аватар для pu4koff
 
Регистрация: 22.05.2007
Сообщений: 9,065
По умолчанию

Цитата:
Сообщение от Syltan Посмотреть сообщение
Если написать код вот так, то происходит просто бесконечный ввод
Вообще-то я уже говорил: Введите какую-нибудь строку, а не число. 10 Enter 20 Enter ы Enter и ввод закончится, а в массиве будет 2 элемента. И выведется уже и мусор и округленное до меньшего целого среднее арифметическое элементов.
Хотите, механизм ввода меняйте на нужное, для меня данный способ является самым простым для написания. Да и не люблю я изначально спрашивать у пользователя количество элементов, да и данную задачу такой запрос сводит на нет.
pu4koff вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Количество строк Яр|/||< (^_^) Общие вопросы Delphi 2 31.07.2009 07:32
Количество знаков Flangini Microsoft Office Excel 9 02.07.2009 15:22
количество цифр и количество символов до первой гласной буквы 111111 Общие вопросы C/C++ 2 22.12.2008 12:15
Частота и количество valko12 Microsoft Office Excel 14 21.05.2008 11:41