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

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

04.03.2013, 04:25. Показов 8360. Ответов 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
5499 / 4894 / 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
5499 / 4894 / 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
5499 / 4894 / 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
5499 / 4894 / 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
Ответ Создать тему
Новые блоги и статьи
Советы по крайней бережливости. Внимание, это ОЧЕНЬ длинный пост.
Programma_Boinc 28.12.2025
Советы по крайней бережливости. Внимание, это ОЧЕНЬ длинный пост. Налог на собак: https:/ / **********/ gallery/ V06K53e Финансовый отчет в Excel: https:/ / **********/ gallery/ bKBkQFf Пост отсюда. . .
Кто-нибудь знает, где можно бесплатно получить настольный компьютер или ноутбук? США.
Programma_Boinc 26.12.2025
Нашел на реддите интересную статью под названием Anyone know where to get a free Desktop or Laptop? Ниже её машинный перевод. После долгих разбирательств я наконец-то вернула себе. . .
Thinkpad X220 Tablet — это лучший бюджетный ноутбук для учёбы, точка.
Programma_Boinc 23.12.2025
Рецензия / Мнение/ Перевод Нашел на реддите интересную статью под названием The Thinkpad X220 Tablet is the best budget school laptop period . Ниже её машинный перевод. Thinkpad X220 Tablet —. . .
PhpStorm 2025.3: WSL Terminal всегда стартует в ~
and_y87 14.12.2025
PhpStorm 2025. 3: WSL Terminal всегда стартует в ~ (home), игнорируя директорию проекта Симптом: После обновления до PhpStorm 2025. 3 встроенный терминал WSL открывается в домашней директории. . .
Как объединить две одинаковые БД Access с разными данными
VikBal 11.12.2025
Помогите пожалуйста !! Как объединить 2 одинаковые БД Access с разными данными.
Новый ноутбук
volvo 07.12.2025
Всем привет. По скидке в "черную пятницу" взял себе новый ноутбук Lenovo ThinkBook 16 G7 на Амазоне: Ryzen 5 7533HS 64 Gb DDR5 1Tb NVMe 16" Full HD Display Win11 Pro
Музыка, написанная Искусственным Интеллектом
volvo 04.12.2025
Всем привет. Некоторое время назад меня заинтересовало, что уже умеет ИИ в плане написания музыки для песен, и, собственно, исполнения этих самых песен. Стихов у нас много, уже вышли 4 книги, еще 3. . .
От async/await к виртуальным потокам в Python
IndentationError 23.11.2025
Армин Ронахер поставил под сомнение async/ await. Создатель Flask заявляет: цветные функции - провал, виртуальные потоки - решение. Не threading-динозавры, а новое поколение лёгких потоков. Откат?. . .
Поиск "дружественных имён" СОМ портов
Argus19 22.11.2025
Поиск "дружественных имён" СОМ портов На странице: https:/ / norseev. ru/ 2018/ 01/ 04/ comportlist_windows/ нашёл схожую тему. Там приведён код на С++, который показывает только имена СОМ портов, типа,. . .
Сколько Государство потратило денег на меня, обеспечивая инсулином.
Programma_Boinc 20.11.2025
Сколько Государство потратило денег на меня, обеспечивая инсулином. Вот решила сделать интересный приблизительный подсчет, сколько государство потратило на меня денег на покупку инсулинов. . . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2025, CyberForum.ru