Форум программистов, компьютерный форум CyberForum.ru
Наши страницы

Переделать ввод программы для получения данных из текстового файла. - C++

Войти
Регистрация
Восстановить пароль
Другие темы раздела
C++ Бинарные деревья: удалить те листья, у которых нет братьев http://www.cyberforum.ru/cpp-beginners/thread1182213.html
Помогите написать такую функцию: Удалить те листья в дереве, у которых нет братьев Вот обычная функция удаления: TNode* deleteTree(TNode * rootTree,int key){ TNode * p; ...
C++ Генерация случайных чисел Мне нужно заполнить множество матриц числами 0 или 1. Для этого использую функцию rand. Но мне необходима совсем случайная последовательность,а то матрицы получаются более или менее одинаковые. http://www.cyberforum.ru/cpp-beginners/thread1182208.html
Целочисленная арифметика: найти на отрезке [n, m] натуральное число, имеющее наибольшее количество делителей C++
Найти на отрезке натуральное число, имеющее наи*большее количество делителей.
C++ в квадратной матрице поменять местами первый и четвертый столбцы и вывести их
...
C++ Не работает программа http://www.cyberforum.ru/cpp-beginners/thread1182189.html
Используя массив типа структура (с 6-10 элементов) составить программу, с помощью которой можно ввести в память компьютера данные из предметной области и получить характеристики фотоаппарата. Не...
C++ Табулирование Написать программу вывода таблиц по формуле Y = cos(x)+(A/B) через 1 градус в три колонки (х изменяется от 0 до alfa). alfa, A, B - переменные, нужно взять в пользователя. Обратите внимание на то,... подробнее

Показать сообщение отдельно
Darkos
5 / 5 / 4
Регистрация: 16.05.2014
Сообщений: 82
Завершенные тесты: 1
20.05.2014, 17:54
Цитата Сообщение от spone379 Посмотреть сообщение
C++
1
2
for( i = 1; i < 6; i++ ) { cout << "A[" << i << "] = "; cin >> a[i]; } k = 0; 
for( i = 1; i < 6; i++ ) if( a[i] != 0 ) k += 1;
Во первых:
в вашем коде ошибка: индексы в массиве начинаются с 0. Поэтому в циклах нужно писать так:
C++
1
2
3
  .  .  .
for( i = 0; i < 5; i++ )
  .  .  .
А полностью программа выглядит так:
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
/*test.txt*/ // Сюда записываем данные перед началом работы программы
15 0 -5 145 54 
 
/*main.cpp*/ // Собственно наша программа
#include <iostream>
#include <fstream>
using namespace std;
 
/* Сохраняем данные в файл */ void save(int k)
{
    ofstream fout("test.txt", ios::app);
    // Запись в файл
    fout << k << endl;
    fout.close();     // Закрываем файл
}
 
int main()
{setlocale (LC_ALL, "russian");
  int a[5];
  int i, k;
 
  ifstream fin("test.txt", ios::in);  // Открываем файл для чтения
 
  k = 0;
  for( i = 0; i < 5; i++ )
    {
    cout << "A[" << i << "] = ";
    fin >> a[i];
    cout << a[i] << endl;
    if( a[i] != 0 )
      k += 1;
    }
  cout << "В массиве " << k << " ненулевых элементa(ов)" << endl;
  save(k);
  cin.get();
  fin.close();
  return 0;
}
/*test.txt*/ // После выполнения программы
15 0 -5 145 54 
4 // Добавили количество ненулевых елементов
Все! Перед следующим запуском программы удалить содержимое test.txt и ввести туда 5 чисел.
1
 
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru