Форум программистов, компьютерный форум, киберфорум
Наши страницы
C для начинающих
Войти
Регистрация
Восстановить пароль
 
solid86
0 / 0 / 0
Регистрация: 21.12.2014
#1

Поиск элемента массива по номеру без использования массивов - C (СИ)

15.12.2012, 22:32. Просмотров 400. Ответов 2
Метки нет (Все метки)

В текстовом файле записан одномерный массив, числа представляют собой float'ы с двумя точками после запятой(например, 10.34; 0. 02 и тд). Подскажите, пожалуйста, алгоритм как зная дробную часть каждого числа найти элемент этого же номера и прибавить его к сумме. Нельзя использовать массивы.
Спасибо.
До чего пока додумался: прочитать числа в файле как int.int, положить второй int в переменную (например, a). Никак не могу понять как организовать внутренний цикл с еще одним чтением файла и сравнением исполнительной переменной с переменной a, на первой итерации курсор пропускает 1 число, на второй 2 и тд.
http://www.cyberforum.ru/c-beginners/thread992253.html
0
Лучшие ответы (1)
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
15.12.2012, 22:32
Я подобрал для вас темы с готовыми решениями и ответами на вопрос Поиск элемента массива по номеру без использования массивов (C (СИ)):

Задача с использованием цикла For, без использования массивов
1) Пользователь вводит последовательность ( букв и одну цифру) длину...

Работа с матрицами (без использования динамических массивов)
Создать квадратную матрицу B размером 9х9 и заполнить ее адресами элементов...

Вывести таблицу умножения на экран (без использования массивов)
Задача 1: Вывести таблицу умножения на экран. Без массива.

Удалить из строки все числа которые делятся на 3. (Без использования дополнительных массивов)
Вот такая вот задачка)! скажите правильно ли я её решил? и еще как мне вывести...

Транспонирование матрицы без использования дополнительного массива
Массив размерностью MxM. Необходимо, не используя дополнительного массива,...

2
vua72
417 / 417 / 166
Регистрация: 28.11.2010
Сообщений: 1,183
Завершенные тесты: 1
16.12.2012, 02:29 #2
Цитата Сообщение от solid86 Посмотреть сообщение
В текстовом файле записан одномерный массив, числа представляют собой float'ы с двумя точками после запятой(например, 10.34; 0. 02 и тд). Подскажите, пожалуйста, алгоритм как зная дробную часть каждого числа найти элемент этого же номера и прибавить его к сумме. Нельзя использовать массивы.
Спасибо.
До чего пока додумался: прочитать числа в файле как int.int, положить второй int в переменную (например, a). Никак не могу понять как организовать внутренний цикл с еще одним чтением файла и сравнением исполнительной переменной с переменной a, на первой итерации курсор пропускает 1 число, на второй 2 и тд.
Нельзя массивы - используйте списки или открывайте - закрывайте файл каждый раз (и запоминайте на сколько позиций нужно сдвинуться в файле), или считайте все содержимое файла в строку (массив символов), а потом выделяйте в ней элементы и осуществляйте поиск средствами библиотеки string.h.
0
MrGluck
Модератор
Эксперт CЭксперт С++
8021 / 4864 / 1425
Регистрация: 29.11.2010
Сообщений: 13,240
16.12.2012, 03:02 #3
Лучший ответ Сообщение было отмечено как решение

Решение

Считывает числа типа float и запоминает лишь первое число из дробной части
C
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
#include <stdio.h>
#include <stdlib.h>
 
 
int main(void)
{
    FILE *f;
    int counter = 0, i, rem;
    float x;
    f = fopen("input.txt", "r");
    if (f == NULL) exit(1);
    
    while(!feof(f))
    {
        fscanf(f, "%f", &x);
        rem = (int)(x * 10) % 10;
        counter++;
        printf("%d ", rem);
    }
    fclose(f);
    return 0;
}
0
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
16.12.2012, 03:02
Привет! Вот еще темы с решениями:

Вертикальная гистограмма без использования массива и функций
Доброго времени суток, уважаемые форумчане! В задаче &quot;Нарисовать при помощи...

Сортировка массива структур без использования Qsort
Здравствуйте! Для сортировки массива структур я использовал стандартную функцию...

Найти сумму, введеных значений без использования массива
Нужно найти сумму введены значений без использования массива и нельзя заносить...

Составьте программу заполнения массива числами без использования клавиатуры
Составьте программу заполнения массива числами: 2, 4, 6, 8, 10, 12, 14, 16,...


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

Или воспользуйтесь поиском по форуму:
3
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2018, vBulletin Solutions, Inc.
Рейтинг@Mail.ru