Форум программистов, компьютерный форум, киберфорум
С++ для начинающих
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск  
 
 
Рейтинг 4.90/41: Рейтинг темы: голосов - 41, средняя оценка - 4.90
25 / 18 / 0
Регистрация: 04.03.2013
Сообщений: 170
Записей в блоге: 1

Файл: Загрузка данных из файла: первый столбец записывался в 1й массив, второй столбец - во 2й массив, а 3й столбец - в 3й массив.

04.03.2013, 04:25. Показов 8703. Ответов 49
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Есть текстовый файл, в нем 3 столбца чисел (число строк заранее неизвестно). Напишите пожалуйста код, чтобы первый столбец записывался в 1й массив, второй столбец во 2й массив, а 3й столбец в 3й массив.
Вложения
Тип файла: txt 1.txt (254 байт, 48 просмотров)
0
Programming
Эксперт
39485 / 9562 / 3019
Регистрация: 12.04.2006
Сообщений: 41,671
Блог
04.03.2013, 04:25
Ответы с готовыми решениями:

Поменять местами первый столбец и столбец и столбец, где находится максимальный элемент массива
Дан двумерный массив вещественных чисел из 4 столбцов и 3 строк. Поменять местами первый столбец и столбец и столбец, где находится...

Вывести элементы матрицы в следующем порядке: первый столбец сверху вниз, второй столбец снизу вверх...
program Matrix12; var a:array of integer; M, N, i, j:Integer; begin randomize; Write('N: '); Readln(N); ...

Вставить одномерный массив в двумерный массив так, чтобы второй столбец был отсортирован по убыванию
Помогите пожалуйста решить задачку: Вставить в качестве новой строки одномерный массив В в двумерный массив А так, чтобы второй столбец...

49
25 / 18 / 0
Регистрация: 04.03.2013
Сообщений: 170
Записей в блоге: 1
17.03.2013, 06:53  [ТС]
Студворк — интернет-сервис помощи студентам
как здесь написать, чтобы выводило количество слов ( состоящих из чисел) в строке???


C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
#include <iostream>
#include <fstream>
#include <string>
#include <algorithm>
 
using namespace std;
 
int _tmain(int argc, _TCHAR* argv[])
{
         string str;
    ifstream ifs ("11.txt");
 
 
getline(ifs, str);
      cout << "Result: " << count(str.begin(), str.end(), ' ') << endl;
      system("PAUSE");
    return 0;
}
вот я писал , но это на пробелы

Добавлено через 1 час 19 минут
В этом файле слова в виде чисел записаны не через пробелы , а табуляцией . Можно ли как -то сделать чтобы между ними был 1 пробел??
0
5500 / 4895 / 831
Регистрация: 04.06.2011
Сообщений: 13,587
17.03.2013, 12:21
Вот так подсчитает, если любые пробельные символы:
C++
1
2
3
4
5
6
7
8
9
10
11
12
string str;
ifstream ifs ("1.txt");
     
int n = 0;
while (true)
{       
    ifs >> str;
    ++n;
    if (ifs.peek() == '\n') break;
}
     
cout << "Result: " << n << endl;
1
25 / 18 / 0
Регистрация: 04.03.2013
Сообщений: 170
Записей в блоге: 1
18.03.2013, 16:40  [ТС]
Цитата Сообщение от alsav22 Посмотреть сообщение

Если сначала посчитать количество строк с числами в файле (после последней строки с числами не должно быть пустых строк):
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
42
43
44
45
46
47
48
49
50
#include <iostream>
#include <fstream>
#include <string>
#include <windows.h>
#include <cstdlib>
using namespace std;
 
void show_arr(double* arr, int number)
{
    cout.precision(10);
    cout.showpoint;
    for (int i = 0; i < number; i++)
        cout << arr[i] << endl;
    cout << endl;
}
 
int main()
{
    ifstream fin("1.txt");
 
    string str;
    int arr_size = 0;
    while(fin)
    {
        getline(fin, str);
        if(fin) ++arr_size;
    }
    
    fin.clear();
    fin.seekg(0);
    
    double *arr1 = new double[arr_size];
    double *arr2 = new double[arr_size];
    double *arr3 = new double[arr_size];
    
    for (int i = 0; i < arr_size; i++)
           fin >> arr1[i] >> arr2[i] >> arr3[i];
    
    
    show_arr(arr1, arr_size);
    show_arr(arr2, arr_size);
    show_arr(arr3, arr_size);
 
    delete [] arr1;
    delete [] arr2;
    delete [] arr3;
 
    system("pause");
    return 0;
}

что нужно дописать, чтобы считывать определенную строку ( например 97-ю)??
0
5500 / 4895 / 831
Регистрация: 04.06.2011
Сообщений: 13,587
18.03.2013, 17:33
C++
1
2
3
4
5
6
7
8
9
10
11
12
ifstream fin("1.txt");
 
string str;
int n = 97;
int arr_size = 0;
while(fin)
{
      getline(fin, str);
      if(fin) ++arr_size;
      if (arr_size == n) break;
}
// если str не пустая, то в ней - 97 строка (строки начинаются с 1)
1
25 / 18 / 0
Регистрация: 04.03.2013
Сообщений: 170
Записей в блоге: 1
19.03.2013, 09:05  [ТС]
Цитата Сообщение от alsav22 Посмотреть сообщение
Вот так подсчитает, если любые пробельные символы:
C++
1
2
3
4
5
6
7
8
9
10
11
12
string str;
ifstream ifs ("1.txt");
     
int n = 0;
while (true)
{       
    ifs >> str;
    ++n;
    if (ifs.peek() == '\n') break;
}
     
cout << "Result: " << n << endl;


Объясни пожалуйста эту строчку . Что за peek() ??

if (ifs.peek() == '\n') break;
0
 Аватар для DiffEreD
1458 / 795 / 257
Регистрация: 21.06.2011
Сообщений: 1,740
Записей в блоге: 2
19.03.2013, 11:16
peek заглядывает вперед и смотрит что там за символ не извлекая его. http://en.cppreference.com/w/c... tream/peek
1
25 / 18 / 0
Регистрация: 04.03.2013
Сообщений: 170
Записей в блоге: 1
19.03.2013, 20:27  [ТС]
В чем разница между постинкрементацией и перединкрементацией при считывании из файла?

например здесь в чем разница между ++n; и n++; ???
0
5500 / 4895 / 831
Регистрация: 04.06.2011
Сообщений: 13,587
19.03.2013, 20:56
Цитата Сообщение от Ramoncheg Посмотреть сообщение
например здесь в чем разница между ++n; и n++; ???
Здесь без разницы.
0
25 / 18 / 0
Регистрация: 04.03.2013
Сообщений: 170
Записей в блоге: 1
19.03.2013, 21:22  [ТС]
А в чем есть разница ? при работах с массивами?
0
5500 / 4895 / 831
Регистрация: 04.06.2011
Сообщений: 13,587
19.03.2013, 22:04
C++
1
2
arr[++i] = 5; // сначала индекс увеличивается на 1, потом по этому индексу заносится число
arr[i++] = 5; // сначала по индексу заносится число, потом индекс увеличивается на 1,
1
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
inter-admin
Эксперт
29715 / 6470 / 2152
Регистрация: 06.03.2009
Сообщений: 28,500
Блог
19.03.2013, 22:04

Массив: переставить местами столбец с наибольшим количеством нулевых элементов и столбец последний по порядку
Друзья, помогите плиз сделать лабу в VBA) Написать процедуру. Для заданного массива В(4,5), переставить местами столбец с наибольшим...

В двухмерном массиве первый столбец поменять местами с последним столбцом, второй столбец с предпоследним столбцом и так далее
1. Ввести двухмерный массив поэлементно с помощью клавиатуры или получить его, используя генератор случайных чисел. Двухмерный массив...

Ввести 10 чисел в массив и вывести в столбец A в порядке ввода, а в столбец B в обратном порядке
Написать на VBA процедуру, организующую ввод с клавиатуры 10 чисел и последующую их распечатку в столбец А рабочего листа в порядке ввода,...

Задан массив А[1..5,1..6]. Поменять в нем местами первый и последний столбец.
Помогите пожалуйста с заданием. Задан массив А. Поменять в нем местами первый и последний столбец.

Выбрать первый столбец таблицы и сформировать массив заданного вида
есть таблица нужно выбрать её первый столбец со значениями(tutorial,extends,rules) и сформировать из них массив с разрешением .pdf в...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
50
Ответ Создать тему
Новые блоги и статьи
Море в объективе
kumehtar 06.07.2026
Хотел написать много проникновенных слов, но передумал. Оно само - говорит. Кто слышит тот слышит.
Оказывается, Unreal Engine позволяет качество на порядки выше, чем было в Lineedge
Etyuhibosecyu 05.07.2026
Жаль, конечно, что я не узнал об этом, пока Lineedge существовала, а то бы Noname2331 написал, что волки превращаются в пиксельную кашу, а я бы его попросил скачать какую-нибудь бриллиантовую или Pro. . .
Doom для терминала без стрельбы и монстров. 3D Raycasting на ascii.
dcc0 05.07.2026
Попросил нейронную сеть deepai. org написать рейкастинг 3D с библиотекой ncurses для Linux. Чтобы можно было ходить на стрелочки. Чтобы стены были отрисованы символами. Справилась. Первый вариант. . .
Установка статуса документа по условию
Maks 05.07.2026
Алгоритм из решения ниже реализован на нетиповом документе "НарядПутевка" разработанного в КА2. Задача: в табличной части "Материалы" документа при записи автоматически устанавливать статус. . .
Сезонность и суточность закисления почв
anaschu 04.07.2026
200 часов это все равно моловато. Есть ситуации, но нестандартные, когда смена происходит за 5 лет. Но обычно это 50 лет и более. Наверное, закисление почвы происходит сезонно в средней. . .
В чем ценность человеческого опыта в глобальном смысле?
kumehtar 03.07.2026
Возможно, ценность человека не в том, что он однажды достигает мудрости, а в том, что он становится носителем карты пути. Он знает не только истину, но и последовательность внутренних изменений,. . .
интеграция AnyLogic с самописным REST API и переход на Odoo
anaschu 03.07.2026
Успешная интеграция AnyLogic с самописным REST API и переход на промышленную Odoo WMS Сегодня проделал огромный путь от простой симуляции физических процессов до построения полноценной. . .
Поиск всех путей на ориентированном графе. Linux
dcc0 02.07.2026
Переработка старого кода из моей статьи. Через несколько переработок от PHP кода к C89 (надеюсь, 89). Но довольно запутанно получилось. Код для Linux. Но если убрать time и то, что с ним. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru